5. Network Load Balancing (NLB), NLB üyeleri arasında IP trafiğini bölüştürerek, her üyesine tek başlarına bulundukları durumdan daha az network yükü binmesini sağlayan bir Microsoft teknolojisidir
7. NLB CLUSTER ARRAY Terminal Server Terminal Server Tcp / Udp Gre Tcp / Udp Gre
8. NLB CLUSTER ARRAY Mobile Information Server WAP / GPRS EDGE UMTS WAP / GPRS EDGE UMTS Mobile Information Server
9. Internet LAN LAN NLB Firewall Cluster NLB Web Server Cluster IIS Server ISA 2004 Server ISA 2004 Server IIS Server
10. NLB CLUSTER Üzerinde çalıştırılabilen tipik uygulamalar: Terminal Server, Web Server, Proxy Server Virtual Private Network Server (VPN), Mobile Information Server
11. İşletim Sistemi Node Sayısı Mod Windows 2003 Server, Enterprise, Standart, Datacenter Edition 2 ~ 32 Unicast, Multicast Windows 2003 Server, Enterprise, Standart, Datacenter Edition (X64) 2 ~ 32 Unicast, Multicast
22. Node A Node B LAN Heart beat SAN Server Fiber Switch Fiber * Fiber * * Fiber optik kanallar yerine SCSI de kullanılabilir AKTİF / PASİF NODE YAPISI
23. Node A Node B LAN Heart beat SAN Server Fiber Switch Fiber * Fiber * * Fiber optik kanallar yerine SCSI kablolar da kullanılabilir AKTİF / PASİF NODE YAPISI
24. İşletim Sistemi Node Sayısı Depolama sistemi Windows 2003 Server, Enterprise, Standart, Datacenter Edition 2 ~ 8 - Fiber kanal ya da Scsi - Cluster eğer 2 ‘den fazla node’dan oluşuyor ise fiber kanallar kullanılmalı Windows 2003 Server, Enterprise, Standart, Datacenter Edition (X64) 2 ~ 8 Fiber kanal
26. Compute Clustering Node Manager DB/FS User Cmd line Desktop App Job Mgr UI Admin Admin Console Cmd line High speed, low latency interconnect Jobs Policy, reports User App MPI Job Execution Head Node Job Mgmt Resource Mgmt Cluster Mgmt Scheduling Tasks Management Active Directory Data Input DomainserA
Hinweis der Redaktion
Peki NLB bunu nasıl yapar.Temel olarak NLB açılınca 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 pakedi alır ve inceler ve cluster çapında belirtilmiş kurallara göre pakedi üstkatmanda 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ştrılır.Kısaca tüm nodelar Cluster’a gelen trafiği alır ama tüm nodelar cevap vermez.
NLB kümeleri iki farklı mode da çalışabilir.Birincisi aynı zamanda varsayılan mode olan Unicast Mode ‘dur.Unicast mode da clusterı oluşturan nodelarca kullanılan bir tek sanal MAC adresi vardır.bu adres daima 02-BF ile başlar.Tüm küme üyelerinin bu tek adresi kullanması onların bu adresi kullanan (NLB sürücüsü çalışan) network kartı üzerinden görüşebilmelerini engeller.Örneğin nodeA nodeB ye bir paket gönderirken hedef ve kaynak MAC adreslerini aynı yazar.Bu pakedi alan node B kaynak MAC adresi ile pakedin hedefi olan kendi MAC adresini karşılaştırınca bunların aynı olduğunu görüp bir hata oluştuğunu düşünerek pakedi atar.Sonuç olarak unicast mode çalışan bir NLB kümesi üyeleri NLB çalıştıran network kartı üzerinden birbirleriyle görüşemezler.Bu sorunu ortadan kaldırmak için iki yöntem vardır . Birincisi nodelara ikinci bir network kartı takmaktır.Bu network kartı NLB kümesi aynı networke veya farklı network’e bağlı olabilir.Nodelar arasında ilave bir bağlantı sağlaması yeterlidir.İkinci çözüm ise ikinci NLB cluster mode‘u olan multicast mode’u kullanmaktır. Multicat mode da NLB cluster üyeleri hem sanal Mac adresini Hemde kendi MAC adreslierini kullanırlar .Bu mode da paylaşılan MAC adresi (sanal MAC) daima 03-BF ile başlar.Üyeler bu modeda NLB kurulu ve çalışan Network kartı üzerinden birbirleri ile görüşebilirler.Bu küme üyelerinde tek network kartı olduğu durumlarda tavsiye edilen Cluster mode’udur.
NLB ile ilgili diğer bir kavram “Heartbeat” dir.Heartbeat bir NLB üyesinin diğer üyelere devrede olduğunu söyleme sistemidir .Bu sayede birbirlerinin durumundan haberdar olurlar .NLB clusterına bir node eklenince , bir node devre dışı kalınca veya bir node yeniden devreye girince bunu tesbit etmelerini sağlayan Heartbeat paketleridir. Heartbeat NLB enable edilmiş network kartı üzerinden yapılan bir broadcast dir. Heartbeat NLB üyesinin üzerinde bulunan ilave network kartlarından yapılmaz .Her NLB cluster üyesi 1,5 KB lik bu heartbeat mesajlarını saniyede 1 kere gönderir.Bu gönderilme aralığı registeryden değiştirilebilir . Fakat bu ayar tüm üyelerde aynı olmalıdır.
NLB cluster üyeleri “Convergence” sağlamak zorundadır.Convergence NLB cluster durumunun belirlenmesi ve yükün dağıtılması sürecidir.Kısacası NLB algoritması node sayısı ,varsa belirlenen port kuralları ve cluster IP lerinin de alınması ile bir hesaba dahil eder ve bu hesap sonucuna göre üyeler clustera IP’sine gelen tarafiği kabul eder veya reddederler. Varsayılan olarak bir node arka arkaya 5 heartbeat kaçırırsa ,diğer NLB cluster üyeleri o node’un cluster’dan düştüğüne karar verirler.Böylece yeni üye sayısı ile birlikte NLB algoritması yeniden çalışır.Convergence başlar. Ne kadar Heartbeat mesajı kaçtıktan sonra o node devredışı kabul edileceğide registry’de modifiye edilebilir
NLB ile ilgili bir diğer önemli kavram ise Affinity’dir. Affinity aslında NLB nin nasıl çalışacağıdır yani bir üye NLB kümesine gelen IP paketlerini kabul edecekmi etmeyecekmi bu affinity ‘ye bağlıdır. None , Single ve Class C olmak üzere 3 tip affinity vardır . Affinity None olarak ayarlanmışsa gelen paketler kaynak port ve kaynak IP bazında hashlenir.Örneğin web server NLB kümesi oluşturmak istiyorsan kullanacağın Affinity bu olmalıdır böylece küme sanal IP adresine gelen trafik tüm üyelerce eşit şekilde paylaşılır.Bir client örneğin bir web server NLB kümesinin sanal IP adresine geldiğinde küme üyelerinden biri tarafından kabul edilir . Client tekrar bağlandığında rasgele başka bir üye tarafından kabul edilir ve bağlantı kurulur.
Single Affinity ise kaynak IP adresine göre NLB kümesine gelen trafiği dağıtır.Basit bir örnekle açıklarsak 2 terminal serverda oluşan bir NLB kümesinde sanal IP adresini yazarak bir terminal bağlantısı kurduk ve küme üyelerinden node A tarafından kabul edilidik diyelim. Bu server üzerine bize ait oturumla çalışırken bağlantı kesilirse ve ben tekrar bağlantı kurmak için NLB kümesine gidersem NLB beni belki node B ye yönlendirir ve bu durumda node A da beni bekleyen oturumuma (yani açık olan dokümanlar , progamlar vs.) ulaşamam.Dolayısıyla benim clientın tekrar node A ya bağlanmasını istiyorsam kullanmam gereken affinity Single’dır.Single Affinity sayesinde tekrar bağlandığımda node A ya ulaşır ve beni bekleyen oturumuma ulaşırım. Son affinity tipi olan Class C Affinity ise aslında Single Affinity benzeri bir NLB yöntemidir . Single Affinity ye göre daha az kısıtlayıcıdır .Kısaca aynı Class C subnetten gelen hostlar hep aynı küme üyesi tarafından karşılanır.Fazla kullanışlı görünmemesine rağmen özellikler Proxy serverların Load balancing’i için kullanılabilir.
Güç verilen ilk node aktif node olur. Cluster a gelen tüm trafiğin yönetimi ve yönlendirilmesinden aktif node sorumludur. Daha sonra güç verilen sunucu, aktif node tarafından gönderilen heartbeat leri alır. Ve kendini pasif node olarak yapılandırır. Pasif node depolama birimine baplıdır fakat gerçek anlamda aktif node gibi depolama alanına erişim sağlayamaz.
Pasif node devamlı olarak aktif node dan gelen heart beat leri denetler, eğer 1-2 dk lık kesintiye uğrarsa, pasif node paylaşılan bağlantı üzerinden harici depolama alanına iptal işareti gönderir. Eğer aktif node hala işlemine devam ediyorsa, bu iptal işaretini görür, cluster üzerindeki denetimini tekrardan değerlendirerek kendi iptal işlemini eyleme döker. Şayet aktif node gerçekten de geçersiz durumdaysa, pasif node fail over işlemini başlatır ve harici depolama sisteminin yönetimini ve aktif node tarafından sahip olunan tüm cluster kaynaklarını üzerine alır. Artık tüm uygulamaları bu node başlatır ve cluster a gelen tüm trafiği yönetmeye başlar. Cluster servisi üzerinde gerekli müdahele ile fail back işlemi ile geçersiz kalan node, tekrar aktif node yapılabilir. Bu işlem otomatik olarak da yapılabilir.