Citrix NetScaler Load Balance – II

28
Şubat
2011
Citrix NetScaler Load Balance – II

Citrix NetScaler Load Balance – II

Citrix NetScaler Load Balance Cihazı üzerinde,  web sunucular içinLoadBalance tanımlanması:

Management portları üzerinden birbirlerini pingleyerek bir tanesi Primary, diğeri Secondary olarak çalışan iki adet Citrix NetScaler- 12500 cihazımız olduğunu ve cihazlarımızın 1/15.portlarını kullanarak iki web sunucunun loadbalance işlemini gerçekleştireceğimizi söylemiştik. Bunun için de primary olan cihazın bu portu üzerinde ilgili network tanımlamalarını yapmıştık.
Kısaca hatırlayalım:
- Interface,  VLAN ve Tag değerlerinin tanımlanarak 1/15 portunun Trunk çalışmasının sağlanması.
- Kullanıcıların, Citrix üzerinde gelecekleri Virtual IP’nin oluşturulması.
- Citrix’in, göndereceği paketlerde source IP olarak kullanacağı Subnet IP’nin oluşturulması. 

Şimdi, Citrix NetScaler cihazına web yönetim ekranından bağlanacağız ve web sunucuların aşağıdaki topolojiye uygun olarak loadbalance edilmesi için gerekli tanımlamaları gerçekleştireceğiz.

 

 

En sade haliyle Load Balance işleminin gerçekleştirilmesini sağlayabilmek için, üç temel  öğenin tanımlanmış olması gerekir. Bu öğeler Server, Service ve Virtual Server’dır.

Server:  Load Balance edilecek herbir makine Server olarak tanımlanır.Örneğimize göre tanımlayacağımız Server öğleri şunlardır.
Server1:  WebServer-1(10.10.5.203)
Server2:  WebServer-2 (10.10.5.204)

Service:  Load Balance edilecek her bir Server, hizmet vereceği port ile birlikte tanımlanarak bir Service öğesini oluşturur.  Server ve Port ikilisi örneğimizde aşağıdaki Service’lerin oluşturulmasını gerektirmektedir.
Service1:  WebServer1:80
Service2:  WebServer2:80

Virtual Server:  Kullanıcılardan gelen istekleri karşılayan ve  kendisine üye olan Service’lere load balance eden öğedir. Örneğimize göre bir tane Virtual Server tanımlayacağız.
VirtualServer1:  Service1 + Service2


 

 

Server’ların Tanımlanması
Server öğelerinin tanımlanması için Load Balancing à Servers bölümüne gidilir ve açılan pencerede Add butonuna basılır
 

 

Açılan pencerede, aşağıda gösterildiği şekilde  gerekli bilgiler yazılır ve Create butonuna basılır.



Yine aynı pencerede, işaretli alanlar ikinci Server için güncellenir ve tekrar Create butonuna basılır.



Close ile yeni Server oluşturma penceresi kapatılır ve Servers sayfasında oluşturulan iki öğe görüntülenir. Save ile yaptığımız ayarlar kaydedilir.




Service’lerin Tanımlanması
Örneğimize göre, iki Server öğesi için iki Service tanımımız olacak. Bunun için Load Balancing
à Services bölümüne gidilir ve açılan pencerede Add butonuna basılır
 

 


Açılan pencerede, aşağıda gösterildiği şekilde  gerekli bilgiler yazılır ve Create butonuna basılır.




Yine aynı pencerede işaretli alanlar ikinci Server için güncellenir ve tekrar Create butonuna basılır.



 

Close ile yeni Service oluşturma penceresi kapatılır ve Services sayfasında oluşturulan iki öğe görüntülenir. Save ile yaptığımız ayarlar kaydedilir.



 

Virtual Server’ın Tanımlanması
Örneğimize göre, iki service load balance edilecek ve bunun için bir tane Virtual Server öğesi  tanımlamamız gerekecek.  Load Balancing à Virtual Servers bölümüne gidilir ve açılan pencerede Add butonuna basılır.

 


Açılan pencerede, aşağıda gösterildiği şekilde  gerekli bilgiler yazılır ve Create butonuna basılır.
 


Close ile yeni Virtual Server oluşturma penceresi kapatılır ve Web-Sayfasi_HTTP isimli yeni Virtual Server öğesiVirtual Servers sayfasında görüntülenir. Save ile yaptığımız ayarlar kaydedilir.

 


Şimdiye kadar yaptığımız tanımlamalarla,
kullanıcı makinelerinden, 10.10.5.204 IP’li Virtual Server’a gelen HTTP (port:80) isteklerinin, 
source IP’si 10.10.5.204 olacak şekilde,
 iki web sunucusundan uygun olana iletilmesi sağlanabilecektir.
Load balance işleminde uygun olmanın koşulu, load balance metoduna göre değişmektedir.

Method’un tanımlanması

NetScaler’ın varsayılan load balance metodu Least Connection metodudur.  Web-Sayfasi-HTTP isimli Virtual Server’ımız için NetScaler’ın atadığı load balance metodu  Load Balancing
à Virtual Servers bölümünde görülmektedir.


 

Least Connections metodu, bir servis üzerinde aktif işlem hareketlerini en doğru şekilde tanımlayan ve yükü akıllıca en doğru şekilde dağıtabilen yöntemdir.

Farklı load balance metotlarını görmek ya da default metodu değiştirmek için Web-Sayfasi-HTTP isimli Virtual Server’ımız üzerinde çift tıklanır. Açılan pencerede Method and Persistence sekmesine gidilir.
 

 

Bu sayfada, LB Method başlığı altındaki Method satırında,  açılır pencere kullanılarak farklı load balance metotlarını görmek ve default metodu değiştirebilmekmümkün olmaktadır.

 

 


 



Persistence Tanımlanması
Yapmamız gereken bir işlem kaldı. O da Persistence tanımıdır.
Session Persistence, bir istemcinin bütün isteklerinin, belirli bir sunucuya yönlendirilmesini sağlayacak şekilde konfigürasyon imkanı sağlar.

Yapılandırdığınız load balance metoduna bağlı  olarak,NetScaler tarafından load balance yapılırken,
e-ticaret sitelerindeki  Alış-Veriş Sepeti gibi uygulamalarda olduğu gibi,
bir istemciyi, takip eden tüm isteklerinde,  aynı sunucuya yönlendirmeyi mecbur tutmak gerekebilir.
Bu durumlarda Session Persistence, yük dağıtım yönteminin ne olduğuna bakmaksızın, bir istemciden gelen tüm istekleri belirli bir sunucuya yönlendirmeyi sağlayabilir.

Not: Session Persistence, Persistent TCP connections ile aynı değildir.
 Persistent TCP connections, Layer- 4’te kullanılırken,
Session Persistence, kullanıcıları, kullanıcı bilgilerinin yüklü olduğu sunucuya göndermek için, Layer-7'de çalışır.

Persistence, varsayılan olarak etkin değildir. Bunu,  Load Balancing à Virtual Servers bölümünde görebiliriz.
 

 

Persistence tanımlamak için, Web-Sayfasi-HTTP isimli Virtual Server’ımız üzerinde çift tıklanır. Açılan pencerede Method and Persistence sekmesine gidilir.

 

 

Görüldüğü gibi Persistence ve Backup Persistence tanımlamaları etkin değildir. Etkinleştirmek ve farklı persistence seçeneklerini görmek için açılır pencereler kullanılır.
Primary Persistence için COOKIEINSERT seçeneğini,
Backup Persistence için de SOURCEIP seçeneklerini etkinleştirmiş olalım.

Persistence metodu olarak CookieInsert seçildiğinde, NetScaler, kullanıcıya, bir HTTP cookie ekleyerek response’ları gönderir. Cookie, kullanıcının,  sonraki isteklerinin, doğrudan ilk isteği karşılayan sunucuya gönderilmesi için kullanılır.

Cookie, istemci request’lerinin yönlendirildiği service’in IP adresini ve port numarasını içerir.

Eğer bir istemci cookie tutamazsa, istemcinin sonraki cookie’siz request’leri kabul edilmez.  Yapılandırma metoduna bağlı olarak load balancing'e karar verilir.

CookieInsert persistence, sistem kaynaklarını kullanmadığı için sınırsız sayıda istemciyi destekler.
CookieInsert persistence tanımlamasında kullanılan Time-out değeri, bir oturumun aktif olarak kullanılmama süresidir.Time-out değeri O olursa, oturum, asla Citrix tarafından sonlandırılmaz fakat oturumun kapanış süresi istemcinin kullandığı yazılıma bağlıdır ve genellikle istemci yazılımı kapandığında, cookie’lerinde kullanım süresi dolmuş olur.  

Backup Persistence metodu olarak SourceIP seçildiğinde, Primary method’da yaşanan bir problem durumunda, persistence oturumunun sürdürülebilmesi için, Backup Persistence kullanılır. Örneğin, kullanıcıların web browser’ı Cookie desteklemiyorsa, persistence, cookie yerine Source IP(kullanıcı makinelerinin IP’si) üzerinden sağlanacaktır. Bu durumda, NetScaler, tanımlanmış load-balancing metoduna bağlı olarak, aynı IP adresinden gelen tüm request’leri, ilk request’i alan sunucuya yönlendirir.

Kullanıcılarla NetScaler arasında, trafik, bir NAT cihazından geçiyorsa, NetScaler’a gelen tüm isteklerin kaynak IP adresleri, tek bir IP gibi görünecektir. Bu durumda persistence metodu olarak SourceIP  verimli  kullanılamaz.  Çünkü çok fazla kaynaktan request’ler gelmesine rağmen, trafik aynı sunucuya yönlendirilecektir.

Source IP adreslerinin persistence oturumları bir persistence tablosunda tutulur ve bu durum sistem kaynaklarını kullanır.Persistence tablosunda maksimum 256.000 oturum için kayıt tutulur.SourceIP persistence tanımlamasında kullanılan Time-out değeri, bir oturumun aktif olarak kullanılmama süresidir.

Time-out değerine ulaşıldığı durumda, oturum koparılır ve sunucu tercih edilen load-balancing metoduna göre, oturumu kaldığı yerden devam ettirir.

Primary persistence metodu olarak CookieInsert ve Backup persistence metodu olarak SourceIP seçilirse,
her bir metot için farklı time-out değerleri atanabilir.

 



Bu düzenlemeden sonra Load Balancing à Virtual Servers sayfası, aşağıdaki gibi görüntülenir.




Tüm bu tanımlamalardan sonra, Citrix NetScaler hizmet vermeye hazır durumdadır.
Bir kullanıcı, web browser’ı adres satırında, NetScaler üzerinde tanımladığımız Virtual Server IP’sine erişmeyi denediğinde, erişim gerçekleştirebiliyor olmalıdır. Bunun için, kullanıcı
http://10.10.5.204 adresini kullanılmalıdır.  Sonuç aşağıdadır:

 

 

Bu makaleyle Citrix NetScaler temel load balancing ayarları  tamamlanmış  oldu. Bir başka makalede görüşmek üzere...

Hoşçakalın.

 

MAKALEYE YORUM YAZ

İsminiz
E-posta adresiniz
Yorumunuz
Doğrulama kodu ?

Copyright © 2006 - 2013  DESTEKYERI.COM

Embedded by  ® SANALOG Tüm Hakları Saklıdır . Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması  5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur. Makalelerin "alıntı" olduğunu belirterek yayınlayabilir ve kaynağı belirtmeniz önemlidir !!!