İlginizi Çekebilir
  1. Ana Sayfa
  2. Citrix
  3. Citrix ADC (Netscaler) ile Load Balancing Yapılandırması

Citrix ADC (Netscaler) ile Load Balancing Yapılandırması

Citrix ADC (Netscaler) ile Load Balancing Yapılandırması

Bugün sizlere () kavramının ne olduğunu, faydalarını, nasıl çalıştığını ve ile Load Balancing işlemlerinin nasıl gerçekleştiği konusunda bilgiler vereceğim.

Yük Dengeleme Nedir?

Yük dengeleme, iş yükünü birden fazla sunucuya dağıtarak web sitelerinin, uygulamaların ve diğer hizmetlerin performansını ve güvenilirliğini artırmak için kullanılan sistem altyapılarının kilit bir bileşenidir. Ağ veya uygulama trafiğini dağıtmakla sorumlu olan yük dengeleyiciler, uygulamalarınızın cevap verebilirliğini ve kullanılabilirliğini arttırmaya yönelik tasarlanmışlardır.

Faydaları Nelerdir?

– Kullanıcı isteklerini yönetir.

– Performansı arttırır.

– Hata toleransı sağlar.

– Erişim sorunlarını ve kesintileri önler.

Nasıl Çalışır?

Temel anlamda istemci ve sunucu arasına yerleştirilen yük dengeleyicisiler, gelen ağ ve uygulama trafiğini kabul edip çeşitli algoritmalar uygulayarak arka uçta bulunan sunuculara gelen istekleri dağıtırlar.

Tipik bir yük dengeleme sistemi, aşağıdaki bileşenlerden oluşmaktadır:


Resim-1

Virtual Server (LB – VIP): Bir IP adresi, bağlantı noktası veya protokol olarak temsil edilen Virtual Server(VIP), istemciden gelen istekleri karşılayan bileşendir.

Service: Talepleri uygulama sunucusuna yönlendirmek için kullanılan IP adresi, port veya protokoldür. Bir sunucunun veya bir sunucu üzerinde çalışan uygulamanın yük dengeleyici sistemi üzerinde mantıksal gösterim şeklidir.

Server: Alt yapınızda bulunan ve kullanıcılarınız erişmesini istediğiniz sunuculardır.

Monitor: Servislerinizin durumunu izleyebileceğiniz bileşendir. Monitor, belirli aralıklarla servislerinizin durumunu izleyerek servislerinizin çalışabilirliği hakkında bilgi verir.

Yük dengeleme sisteminde bize gerekli olan bu bileşenleri öğrendikten sonra bunu gerçek dünyaya nasıl uyarlayabiliriz?

Senaryo:

Kurumumuzda çalışan bir web uygulamamız var ve bu web uygulamamıza hizmet veren 2 adet IIS sunucumuz mevcut. Bu iki IIS sunucumuzu da DNS üzerinden uygulama.sirket.com A kaydı altında tanımladığımızı düşünelim. Kullanıcılar web tarayıcılarından uygulama.sirket.com adresini yazdıklarında arka planda hizmet veren IIS uygulama sunucularına erişmektedirler.

Sorun:

Kullanıcılar günün belirli zamanlarında web uygulamasına erişemediklerini ve bağlantıda sorun yaşadıklarını belirttiler.

Analiz:

Yaşanan sorunu incelediğinizde IIS1 sunucunuzda belirli zamanlarda işletim sisteminden kaynaklı bir problem nedeniyle mavi ekran verip kapandığını veya yeniden başlattığını görüyorsunuz.

Soru:

DNS üzerinde iki sunucunuzu da yük dengeleme işlemi için gerekli A kaydının tanımını yapmıştınız ve gelen istekleri herhangi bir sunucu kapansa bile diğer sunucuya isteklerin gelmesini bekliyordunuz. Peki bu sorunu nasıl aşabilirsiniz?

Çözüm:

DNS üzerinden Round-Robin tanımı yaptığınızda DNS istemcisi, ilk sunucunuzun IP adresini dener ve sunucunuz yanıt vermezse 30 saniye bekler. 30 saniye sonra listenizde bulunan bir sonraki IP adresine erişmeyi dener. Bu geçen 30 saniye içerisinde kullanıcılarınız uygulama.sirket.com adresine bir istek yaptığında hatayla karşılaşır. Bu tarz hataların önüne geçmek için de yük dengeleyici çözümler kullanmanız gerekir.

Senaryomuz için gerekli çözümü belirledikten sonra ve öncesinde öğrendiğimiz bileşenler ışığında () ile aşağıdaki adımları izleyebiliriz.

  1. Citrix ADC (Netscaler) üzerinde Load Balancing rolünü aktifleştirelim.
  2. Yük dengeleme sistemine dahil edeceğimiz sunucuları belirleyelim ve Citrix ADC (Netscaler) üzerinde sunucuları oluşturalım. (IIS Sunucular)
  3. Arka planda bulunan bu sunuculara hangi protokol üzerinde erişeceğimizi belirleyelim ve o protokol için servisler oluşturalım. (HTTP)
  4. Servislerde yaşanacak herhangi bir aksaklık ve kesinti durumları için monitor bileşenini oluşturalım ve servislerimize bağlayalım. (HTTP Monitor)
  5. Yük dengeleme işlemini gerçekleştirecek sanal sunucuyu oluşturup ve ilgili servislerimizi bağlayalım.

Aşağıdaki akış diyagramı yapacağımız konfigürasyonda izlememiz gerek adımları sırasıyla göstermektedir.


Resim-2

Gerekli malzemeler

– Citrix ADC VPX ya da MPX

– İki Adet Windows 2016 işletim sistemine sahip IIS sunucusu

– Citrix ADC üzerinde oluşturacağımız VIP (sanal sunucu) için IP Adresi

– Sanal sunucu için DNS tarafında A kaydı oluşturulması (opsiyonel)

İlk olarak Citrix ADC yönetim konsoluna web tarayıcınız üzerinden eriştikten sonra sırasıyla sol tarafta bulunan System -> Settings -> Configure Basic Features menüsüne tıklayalım ve Load Balancing rolünü aktifleştirelim.


Resim-3


Resim-4

İkinci adımda Citrix ADC üzerindee, arka planda bulunan IIS sunucularını ekliyoruz. Sırasıyla Traffic Management -> Servers -> Add butonuna tıklayalım.


Resim-5

Create Server ekranı açıldığında IIS sunucularının IP adreslerini ve Citrix ADC üzerinde görülecek isimlerini yazalım.


Resim-6

Üçüncü adımda servisleri oluşturacağız. Bu ekranda arka planda bulunan sunucularınıza hangi servis üzerinden erişileceğini belirtirsiniz. Senaryomuzda bizim bir web uygulamamız vardı ve HTTP servisi aracılığıyla arkadaki IIS sunucularına erişmemiz gerekecekti. Sırasıyla Traffic Management -> Services -> Add butonuna tıklayıp servisleri oluşturalım.


Resim-7

Servisleri oluşturmak istediğimizde servis ismini, bu servisin hangi sunucuya bağlı çalışacağını ve ilgili protokolü belirleriz. Resim-8‘de olduğunu gibi her iki IIS sunucusunda aynı işlemleri yapalım.


Resim-8

Dördüncü adımda oluşturduğumuz servislerin durumunu kontrol etmemizi sağlayan Monitor bileşenini atayacağız. Citrix ADC üzerinde hali hazırda kullanabileceğiniz birtakım Monitor bileşeni mevcuttur. Biz senaryomuzda HTTP isteklerini kontrol edeceğimiz için HTTP Monitor’ ünü bağlayacağız. Bu yüzden ilgili ekranda Monitors bölümüne tıklayalım.


Resim-9

Karşımıza gelen ekranda Add Binding butonuna tıklayıp kullanacağımız HTTP Monitor’ ünü seçelim ve bu işlemi oluşturduğumuz iki servis için de uygulayalım.


Resim-10


Resim-11


Resim-12


Resim-13

Konfigürasyonun son adımında yük dengeleme işlemini gerçekleştirecek sanal sunucumuzu oluşturalım. Sırasıyla Traffic Management -> Virtual Servers -> Add butonuna tıklayalım.


Resim-14

Oluşturacağımız sanal sunucu (VIP) için Citrix ADC üzerinde görünecek ismini, hangi protokolü kullanacağımızı ve IP adresini yazalım.


Resim-15

Oluşturduğumuz sanal sunucuya (VIP) servisleri atayalım. Service and Service Groups alanında No Load Balancing… seçeneğine tıklayalım.


Resim-16

Servislerimizin çalışır (UP) durumda olduğunu gördükten sonra yük dengeleme görevini üstlenecek sanal sunucuya ekleyelim.


Resim-17

Gerekli ayarları yaptıktan sonra artık Done butonuna tıklayıp sanal sunucunun da ayarlarını tamamlayalım.


Resim-18

Oluşturduğumuz sanal sunucuyu yeniden kontrol ettiğimizde State bölümünün UP olması, sanal sunucunun ve servislerin düzgün çalıştığı anlamına gelmektedir.


Resim-19

Artık yaptığımız ayarları test edebiliriz. Web tarayıcısı üzerinden oluşturduğumuz sanal sunucu adresini (ya da ismini) yazdığımızda bizi arka plandaki ilgili IIS sunuculara yönlendirdiğinizi göreceğiz.


Resim-20

Senaryomuz gereği herhangi bir IIS sunucumuz kapandığında diğer sunucuya sorunsuz bir şekilde erişmek istiyorduk. IIS01 sunucusu kapandığında sanal sunucu IP adresini tekrar yazdığımızda bizi IIS02 sunucusuna yönlendirdiğini göreceğiz.


Resim-21

Basit anlamda yük dengelemenin ne olduğunu, nasıl çalıştığını ve Citrix ADC ile basit bir HTTP istekleri nasıl yapılandırıldığını görmüş olduk. Umarım sizler için faydalı olmuştur.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org 

TAGs: Citrix, ,Netscaler,Load Balancing, Yük Dengeleme, ADC,Citrix ADC,,,

Yorum Yap

Yazar Hakkında

Serdar Göksu, İstanbul doğumluyum. Profesyonel iş hayatıma 2010 yılında başladım. Lise ve üniversitede Bilişim bölümlerinden mezun olmamla beraber, son 5 yıldır Assista firmasında Kıdemli Sanallaştırma Mühendisi olarak çalışmaktayım. Çeşitli kamu ve özel sektör kurumlarının sanallaştırma dönüşüm projelerinde aktif bir şekilde görev aldım. Uygulama, masaüstü, gpu ve sunucu sanallaştırma konularıyla ilgilenmekteyim.

Yorum Yap