Merhaba, makalemizin birinci bölümünde NLB nedir buna değinmiştik. Rolü kurup test işlemini IIS sunucular üzerinde yapacağımızı belirtmiştik. IIS sunucularımızı kurup devreye almıştık. Şimdi NLB özelliğini IIS yapımızda devreye alalım yük dağılımı ve yüksek erişilebilirlik senaryomuzu başlatalım. Özellik içerisinde yük dağılımı, aktif pasif çalışma gibi farklı seçenekler olduğundan işlemler sırasında gerekli görülen alanlarda detaylı açıklama yapıyor olacağız.
Makalemin ilk bölümüne aşağıdaki link üzerinden ulaşabilirsiniz.
Öncelikle iki adet sunucumuza NLB özelliğini kurulum işlemini tamamlamıştık. Şimdi IIS-1.rizasahan.lokal isimli sunucumuz üzerinde ayarlarımıza başlayalım. İlk makalemizde NLB çalışma mantığını içeren bir mimari resmi paylaşmıştık. Son kullanıcının gitmekte olduğu Web sitesi üzerinde NLB özelliğini devreye alacağımız için arkada iki sunucu olacak ancak son kullanıcı yani istemci bunu bilmeyecek sürekli tek adrese gidecek. Bu nedenle sunucularımız üzerinde bir isim tekilleştirmesi yapacağız ve son kullanıcı istemcinin erişim sağlayacağı kaynağı DNS ve NLB iş birliği ile gerçekleştireceğiz.
IIS-1.rizasahan.lokal isimli sunucumuz üzerinde IIS konsolunu açalım. Default web site üzerinde Bindings… linkine tıklayalım.
Add butonuna tıklayalım.
Biz www.rizasahan.lokal isimli bir web sitesinin yayımlayan iki adet sunucu barındırıyor olacağız. Son kullanıcı yani istemci bizim senaryomuza göre aktif olan veya yükü daha az olan sunucu üzerine erişim sağlayarak içeriği aynı olan site üzerindeki işlemini gerçekleştiriyor olacak. Bu nedenle iki sunucu üzerindeki sistem www.rizasahan.lokal ismi ile tekil olarak hizmet vereceği için bu tanımlamayı IIS üzerinden yapacak. Sunucu ip adresimi 192.168.1.1 olduğu için ip adress kısmına bu bilgiyi giriyoruz. Sitemiz http olduğundan portu 80 olarak bırakıyoruz. Sitemiz www.rizasahan.lokal yazıldığında istemciye yayım yapacağı için host name kısmına www.rizasahan.lokal yazıyoruz. Tabi son kullanıcı istemciye bu işlem sırasında yardımcı olarak DNS üzerinde bu işlemi destekleyici kayıt açıyor olacağız. Bilgileri yazdıktan sonra OK ile ekranı kapatalım.
Bindings bilgimiz eklendiğine göre bu sunucumuzda IIS üzerinde yapacağız ayar tamamlandı. Close ile bu ekrandan çıkabiliriz.
Şimdi aynı işlemleri IIS-2.rizasahan.lokal isimli ikinci sunucu üzerinde yapalım. Bindings… linkine tıklayalım.
Add butonuna tıklayalım.
Sunucu ip adresimi 192.168.1.2 olduğu için ip adress kısmına bu bilgiyi giriyoruz. Sitemiz http olduğundan portu 80 olarak bırakıyoruz. Bilgileri yazdıktan sonra OK ile ekranı kapatalım.
Bu sunucumuza da Bindings bilgimiz eklendiğine göre bu sunucumuzda IIS üzerinde yapacağız ayar tamamlandı. Close ile bu ekrandan çıkabiliriz.
Şimdi birinci sunucumuz olan IIS-1.rizasahan.lokal isimli sunucumuz üzerinde Network Load Balancing Manager konsolumuzu açalım.
Network Load Balancing Cluster üzerinde sağ tıklayarak yeni bir cluster tanımlaması yapabilmek için New Cluster açılır menüsüne tıklayalım.
Cluster içerisine sahil edilecek sunucu bilgisini girerek bağlantı sağlamamız lazım. Burada ip adresi veya hostname bilgisi kullanmamızda mümkün. Öncelikle birinci sunucumuzu ekleyeceğimiz için IIS-1.rizasahan.lokal yazarak Connect butonuna tıklayalım.
Sunucumuz ortamda bulunduğu için Cluster alanına eklendi. Next ile sonraki adıma ilerleyelim.
Priority değeri öncelikli olan sunucu değerini belirlemekte. En düşük olan değere sahip sunucu öncelikli olmakta. Bu sunucumuz birinci sunucumuz olduğu için priority değeri 1 ve bu şekilde bırakıyoruz.
IP Adrress alanında eğer ip adresi üzerinde bir değişiklik veya yanlış yazım söz konusu değilse bu alana dokunmuyoruz. Sunucu üzerinde birden fazla ağ kartı olması durumunda bu ekranda işlem yapılması söz konusu olabilir.
Default State kısmında ise NLB servisinin durumu ayarlanabilir. Biz normal olarak sürekli çalışmasını istediğimiz için Started olarak bırakıyoruz.
Retain suspended state after computers restart işaretlenirse sunucu restart olduğunda NLB servisi başlatılmaz biz aşağıdaki ekranda olduğu gibi ayarları tamamlayarak Next ile sonraki adıma ilerliyoruz.
Bu ekranımızda ise istemcilerimize tek merkez olarak hizmet edecek iki sunucu önündeki ip adresini belirlememiz gerekmekte. Bu ip adresinin sunucular ile iletişim halinde olan bir ip bloğundan olması gerekir. Add butonuna tıklayalım.
Ip adresimizi verdikten sonra OK ile onaylayalım.
Bu ekranda işimiz tamamlandı. Next ile sonraki adıma ilerleyelim.
Cluster için mod seçimi yapmamız gerekmekte.
Unicast: Sunucu üzerinde 2 ağ kartı varsa bu seçim yapılır.
Multicast: Sunucu üzerinde 1 ağ kartı varsa bu seçim yapılır.
IGMP multicast : Kullanılan network switch üzerinde IGMP desteği varsa kullanılabilir.
Biz tek ağ kartına sahip olduğumuz için Multicast seçimini yaparak Next ile sonraki adıma ilerliyoruz.
Bu ekranımızda oluşturulacak olan NLB Cluster yapısının port yapılandırmasını yapabiliriz. Bu ayarı olduğu gibi bırakıp ilerleyebiliriz ancak güvenlik ayarlarını biraz daha sıkılaştırmak adına Edit… butonuna tıklayalım.
Cluster Ip Address alanında All seçimi yapılırsa NLB tüm ip adresleri için istekleri dinler. Biz 192.168.1.200 adresi için özel olarak yapılandırıyoruz.
Port Range kısmında ise biz iis üzerinde http yayımı yapacağımız için tüm portlara izin vermek yerine 80 nolu porta izin veriyoruz.
Protocols: Bu alanda protokol tipi seçilebilir Both seçimi ile hem TCP hem UDP trafiğine izin verilir.
Buraya kadar olan terimleri genel olarak ne işe yaradığı konusunda açıkladık. Belki NLB’e cluster eklenmesi sırasında en temel seçimin yapılacağı alana geldik. Bu nedenle Filtering Mode başlığının tüm öğelerini inceleyeceğiz.
Multiptle Host: Ortamda birden fazla sunucu kullanılması durumunda seçilir ki mecburen seçili durumda.
None: Gelen talepleri sunucular arasında birine ve diğerine olmak üzere dağıtır.
Single: Tüm trafik talebe ilk yanıt veren sunucu üzerine yönlendirilir.
Network: Herhangi bir öncelik olmadan NLB trafiği kendi kafasına göre yönlendirir.
Single Host: Bu seçimin yapılması durumunda priority değeri en küçük olan sunucu dışındaki sunucular hizmet vermez.
Disable This Port Range: Clusterin seçilen port aralığına yanıt vermesi istenmiyor ise seçilir.
Biz yapımızda iki sunucunun aktif olarak çalışması, yük dağılımına tabi olması, 80 nolu port üzerinden gelen isteklere yanıt verebilmesi için bir yapı kuruyoruz bu nedenle aşağıdaki resimdeki ayarları yapıyoruz. Tabi seçilecek olan senaryo durumuna göre genellikle Affinity alanında farklı yapılandırma yapılması söz konusu olabilir.
OK butonuna tıklayarak bu ekranımızdaki işlerimizi tamamlayalım.
Finish ile Cluster objemizin oluşturulmasını tamamlayalım.
Cluster objesi 192.168.1.200 adresine göre oluştu ve sunucumuz cluster içerisine dahil edildi.
Şimdi ikinci sunucumuzu ekleyebiliriz. Bu işlemi bu sunucumuz üzerinde Cluster objesi üzerine sağ tıklayarak Add Host to Cluster açılır menüsüne tıklayarak yapabiliriz.
Bu ekranımızda ikinci sunucu bilgimizi girerek Connect ile bağlantı kurabiliriz.
Ancak biz işlemi diğer sunucuyu da görmek adına diğer sunucumuzdan yapalım. Network Load Balancing Manager konsolumuzu açalım. Oluşturulmuş olan Cluster Objesini yönetmek ve görmek için Connect Existing açılır menüsüne tıklayalım.
Bir nolu sunucumuz olan IIS-1.rizasahan.lokal bilgisini girerek Connect butonuna tıklayalım.
Finish ile bağlantıyı sağlayalım.
Bir nolu sunucumuz üzerinde oluşturulan NLB Cluster objesine bağlantı sağladık.
Şimdi ikinci sunucumuzu eklemek için Cluster objesi üzerinde sağ tıklayarak, Add Host To Cluster açılır menüsüne tıklayalım.
IIS-2.rizasahan.lokal sunucu ismimizi yazarak Connect butonuna tıklayalım. Burada ip adresi de kullanabiliriz.
Sunucumuz algılandı Next ile sonraki adıma ilerleyelim.
Sunucu priority değerimiz 2. Sunucu olduğu için 2 oldu. Orta alanda ip adresimiz yer almakta bu ekranların detayını birinci sunucumuzu Cluster ortamına eklerken anlattığımız için atlıyorum ve Next ile sonraki ekrana ilerliyorum.
Cluster ip bilgisi, port ve mode ayarını değiştirmeyeceğimiz ilk sunucumuz üzerinde bunu yapılandırdığımız için Finish ile işlemi tamamlıyoruz.
Cluster objemiz üzerine ikinci sunucumuzda eklendi.
Şimdi dns üzerinde 192.168.1.200 adresine göre yapılandırdığımız Cluster objesi için bir A kaydı tanımlayalım. Bu işlem için dns üzerinde ilgili zone alanında sağ tıklayarak New Hosts (A or AAAA ) açılır menüsüne tıklayalım.
WWW yazarak 192.168.1.200 ip adresine hizmet edecek olan A kaydımızı Add Hosts butonuna tıklayarak oluşturalım.
Kaydımız oluştu OK ile ekranı kapatalım.
Kaydımız oluştu.
Şimdi aşağıdaki gibi bir durum oluştu. Mimariye baktığımızda istemciden giden istek NLB üzerinde yapılan yapılandırmaya göre arka taraftaki sunucu üzerine yönlendirilecek.
Biz senaryomuzda isteklerin iki sunucuya gitmesini istemiştik. İstemci üzerinden www.rizasahan.lokal adresine erişim sağlayalım. Şu anda bir nolu sunucumuz yanıt verdi.
Bizim senaryomuzda iki sunucunun sırası ile isteklere hizmet vermesi şeklindeydi. Sayfayı yenilediğimde diğer sunucunun yanıt verdiğini görebiliyoruz.
Detaylı açıklamalar ile NLB özelliğini anlatmaya çalıştım. Umarım yararlı olur. Farklı bir makalede görüşmek dileğiyle.