IIS Load Balancing Nasıl Yapılır ?
IIS üzerinde Load Balancing (NLB) Network Load Balancing Manager Programı ile yapılır , ağ yükünün yük dengeleme ve hata toleransına bağlı olarak birden fazla sunucuya dağılımını yapan servistir.
Server Üzerinde Network Load Balancing Aktifleştirme (NLB)
1. Open the Server Manager of your Windows Server by opening your Start Menu and clicking Administrative Tools » Server Manager.
2. In the navigation tree on the left, click Features.
3. In the right pane, click Add Features.
4. From the list of features that appear, select Network Load Balancing and click Next » Install. An installation progress bar appears.
5. When installation is finished, click Close.
Cluster yapısı:Network üzerinde tek bir sistem olarak görünen bir grup server.
Node: Cluster içerisindeki sunuculara verilen ad..
NLB cluster max 32 Node’dan oluşur.
Cluster yapıları Aktif/Aktif ya da Aktif/Pasif çalışabilir.
Aktifdurumdaki sunucu cluster yapısı içerisinde, cluster yapısına gelen isteklere doğrudan cevap veren sunucudur.
Pasifolan sunucu ise cluster yapısı içerisinde Aktif durumdaki makinede donanımsal ya da yazılımsal bir sorun olması durumunda onun yerine geçebilecek şekilde hazırda bekleyen sunucudur.
Aktif/Aktif Cluster yapısı ağ üzerinde yük dengeleme işlevini yerine getirir. Aktif/Pasif Cluster yapısı ise hata toleransını sağlamaya yöneliktir. Aktif/ Aktif Cluster yapısına Load-Balancing Cluster, Aktif/Pasif Cluster yapısına ise Fault-Toleranced Cluster denilebilir.
Network Load Balancingdonanımsal ya da yazılımsal olarak sağlanabilir. Donanımsal Load Balancing cihazları NLB’yi Aktif/Aktif yaparlarken Microsoft Server 2003 işletim sistemi içerisinde NLB Manager ile Load Balance yapılandırılırken Aktif/Aktif ya da Aktif/Pasif Cluster yapılabilir.
NLB’de kullanıcıların Session bilgileri tutulamıyor, bu yüzden IIS sunucuları yapılandırarak bilgileri tutmak gerekir.
Session tutmadığımız durumda kullanıcının NLB yapısından kaynaklanan bir şekilde bir sunucuya ya da diğer sunucuya gönderilmesi sonucu session bilgileri kaybolacaktır.
Örneğin kullanıcı, sunuculardan birinde, sayfalardan biri için şifre girdiğinde sayfa içerisindeki linklerden birine basarak başka bir sayfaya gitmek istediğinde, NLB yapısı bu istek sonucu kullanıcıyı başka bir sunucuya yönlendirirse web browser kullanıcıya tekrar şifre soracaktır.
Web Uygulamaları için session bilgileri IIS tarafından asp.net yardımı ile tutulabilir.
Session verilerini tutmanın 3 türlü yöntemi vardır:
1- In Process Mode(inProc)
inProc moda session bilgileri aspnet_wp.exe dosyasına bağlı olarak her sunucu içinde bireysel olarak tutulur
2- State Server Mode
State Server Mode’da ise session bilgileri serileştirilerek sunucuların RAM’lerinde bir birinden bağımsız process’ler olarak tutulur
3- Out of Process – SQL Server Mode(outProc)
SQL Server Mode’da session bilgileri serileştirilmiş yani serializable bir şekilde SQLsunucuda tutulur
Çalışma Şekli..
NLB sürücüsü NIC sürücüsü ile IP protokolü arasına yerleşir ve böylece tüm NLB kümesi üyelerine gelen her paketi alıp inceler. Paket kablodan Cluster’a geldiğinde her node paketi alır ve inceler ve cluster çapında belirtilmiş kurallara göre paketi üst katmanda bulunan IP protokolüne iletir veya paket daha NLB sürücüsündeyken atılır. Böylece trafik node’lar arasında paylaştırılır. Kısaca tüm node’lar Cluster’a gelen trafiği alır ama tüm node’lar cevap vermez.
Sorun Olduğunda..
NLB Cluster üyesi olan bir sunucu hata verdiğinde NLB Cluster grubundaki diğer sunucular, offline duruma düşen sunucunun üzerindeki iş yükünü üstlenirler. Hata veren sunucu tekrar online durumuna geçtiğinde, NLB servisi görev dağıtımını yeniden düzenleyerek online duruma geçen sunucuya yeni görevini atamaktadır
Network Load Balanacing yönetimi için temel olarak Network Load Balancing Manager snap-in kullanılır. Bununla birlikte network kartı özellikleri penceresinden de NLB ayarları yapılabilir.