Windows Server 2008 R2 Üzerinde Web Server (IIS 7.0) Rolünü NLB İle Birlikte Çalıştırmak

Öncelikle NLB’ yi yedeklilik ve yüksek performans amacıyla kullanacağız. Bunun için 2 sunucuya ihtiyacımız var. İkisinin üzerinde de IIS’ in zaten kurulu olduğunu söylememe gerek yok sanırım. Sonrasında 2 sunucuda da feature olarak “Network Load Balancing” eklenir.
Özelliği ekledikten sonra sunuculardan bir tanesinde NLB’ yi kurabiliriz. NLB Manager’ ı açalım;

New Cluster diyerek kuruluma başlıyoruz;
Öncelikle üzerinde bulunduğumuz sunucunun hostname’ ini giriyoruz ve connect diyoruz. Sunucunun IP sis otomatik olarak gelecektir;
 

Sonraki pencerede default olarak devam ediyoruz;
Cluster için belirlediğimiz IP adresini girip devam ediyoruz;
 

Sonraki pencerede, Cluster’ a vereceğimiz ismi giriyoruz ve çalışma modu olarak Multicast seçiyoruz;

Son pencerede finish diyerek cluster kurulumunu tamamlıyoruz. Cluster’ a 1 tane host eklemiş oluyoruz aynı zamanda.

Sonra 2nci host’ ekleyem için işleme başlıyoruz;

2nci hostun ismini yazıp connect diyoruz;

Next ile devam;

Ve finish.

NLB Manager içerisinde oluşturduğumuz Cluster içerisinde 2 hostunda yeşil olduğunu görmüş olmalıyız. (2 host üzerinde de aynı şekilde görebilirsiniz. Kurulumu tek host üzerinden tamamlamış oluyoruz)

Bu şekilde 2 web sunucusunu NLB olarak çalıştırmanın bazı kritik gereklilikleri var.

– Bunlardan ilki 2 web sunucusununda web sitelerini aynı şekilde yayına almış olmamız gerekmektedir. Yani hizmet birbirinin kopyası olmalı. Bir sunucuda yapılan her ne var ise diğerinde de aynı olmalı. Kesinlikle hiçbir değişiklik olmamalı.

– NLB Cluster Mode’ unu Multicast olarak seçmeliyiz. Çünkü Unicast olarak çalışma şekli web sunucuları için uygun olan bir mode değildir. IIS Sunucu üzerinde çalışan sitelerde session problemi yaşanmasına sebep olur, bir kişi ilk session’ ını bir sunucu üzerinde başlattığında işlemlerine bu sunucu üzerinde devam etmesi gereklidir. Multicast bunu bize sağlayan çalışma mode’ udur. Statik web siteleri için bir önemi yoktur ama dinamik siteler için ölümcül bir durumdur.

– NLB Cluster için verdiğiniz ismi DNS üzerinde Host+PTR kaydı olarak girmeniz gerekmektedir.

– NLB Cluster için ortamınızda bulunan switch üzerinde bir tane static ARP kaydı girmeniz gerekmektedir. Çünkü Cluster’ a verdiğimiz IP için bir tane sanal MAC oluşur, bu MAC adresi kaydı kendini switch üzerinde güncelleyemeyecektir. Bunun nedeni Microsoft NLB’ den kaynaklı bri bug’ dır aslında. Bu sorun ile ilgili Cisco’ nun yayınlamış olduğu bir makale bulunmaktadır. Çalışma mode’ ları ile ilgili bilgiler, Static ARP kaydının nasıl girileceği ile ilgili bilgilerde bulunmaktadır;

– Bir bilgide, web sunucularının üzerinde yayında olan siteler için Host dosyasının içerisine host kaydı girmenizi öneririm, her bir sitenin binding name’ i için cluster’ ın IP adresi tanımlanır. Test yaparken işinizi kolaylaştıracaktır.

– Tabi yayında olan her site için DNS üzerinde de host kayıtlarının cluster’ ın IOP adresini gösterecek şekilde düzenlenmesi gereklidir. Böylece web sitelerine erişmeye çalışan kişiler cluster’ a gelecekler, cluster yük dağılımını ve session’ ı orantılı bir şekilde yönetecektir.

Cluster bize yönetimsel kolaylıklarda sağlayacaktır. Host’ lar artık birbirinin yedeği olduğu için, güncellemelerde ve zorunlu restart gereksinimlerinde bir tanesini hizmette bırakıp diğerinde gerekli işlemleri yapabilirsiniz. Hatta üzerinde açık session’ ları bir anda kesmemek için bile seçeneklerimiz var.