Merhabalar ;
Makalemde sizlere Windows Server 2012 R2 üzerinde Network Load Balancing nedir ve nasıl yapılandırılır bahsetmeye çalışacağım. Network Load Balancing’den makalem içerisinde NLB olarak bahsedeğim. NLB sayesinde yük dengelemesi yapabiliriz ve hata toleransı için bir çok sunucuya dağılımları gerçekleştiririz. Ben makalemde Web üzerinde NLB nasıl yapılır’ı sizlere anlatıyor olacağım fakat bunun dışında Ftp ve Exchange Server üzerinde de kullanabiliriz.
NLB üzerinde Windows yük dengelemedeki amaç client,müşteri veya dış ortamdan gelen yoğun istekleri sunuculara dağıtarak dar boğazı engellemektir. Microsoft.com’u örnek olarak vermek gerekirse bütün herkesin aynı sunucuya istek gönderdiğini düşünürsek oluşabilecek sorunu hayal edin.
Hata Toleransı ise aynı işlevi yapan birden çok sunucu olduğu için bakım yaparken tüm sistem kapatılmaz dolayısı ile herşey işleyişine devam eder veya sunucumuzun birisi hizmet veremez konuma gelirse diğer sunucularımız bu işlevi yerine getirir. Kısa bilgiden sonra Yapımdan bahsetmek istiyorum
1 adet windows Server 2012 R2 (DC- IIS-NLB ) /192.168.1.1/24 – Pc isimi x
1 adet windows Server 2012 R2 (Domain Member- IIS-NLB ) /192.168.1.2/24 – Pc isimi y
İlk yapmamız gereken IIS ve NLB yüklemek
Role Based or Feature-based installation yapıyoruz .
Server Roles altında Web Server(IIS) seçiyoruz
Features sekmesinden ise Network Load Balancing seçiyoruz ve kuruluma devam ediyoruz.
Kurulum bittikten sonra [C:\web] dizini içerisine index.html açıyorum ve içerisine test ortamımızda anlayabilmemiz için HasanDimdik1 yazıp kayıt ediyorum
Daha sonra ise IIS açıp Add Website diyoruz.
Site Name : Opsiyoneldir
Physical Path : web klasör dizinimizi gösteriyoruz.
Binding kısmında ise
Ip adress kısmına : Benim yapım için All Unassigned seçiyorum
Hostname Kısmına ise : www.hasan.local yazıyorum
Daha sonra DNS açıp eklemiş olduğum web siteme ait A kayıdı altında ip bilgisi ile birlikte yazıyorum.(NLB yapılandırdıktan sonra sileceğim)
Daha sonra testimizi yapıyoruz.
NLB için diğer sunucumda da buraya kadar olan adımları aynen izliyoruz ve Dns’ bilgisini giriyoruz. ( Buradaki DNS bilgisine de daha sonra sileceğiz )
İkinci sunucumdaki yapılandırmama HasanDimdik2 vermemin sebebi ise NLB yapılandırdıktan sonra sonuçları görmemiz için.Gerçek yapıda tabiki böyle birşey yok :)
Şimdi Gelelim konumuz olan NLB yapılandırmaya ,
Feature altında yüklemiştik açtığımızda gördüğünüz gibi sade bir sayfa bizi karşılıyor .
New cluster ile yenir bir cluster yaratıyoruz .
Host kısmına ekleyeceğimiz server ip adresi yada host ismini girip connect diyoruz ve daha sonra next ile devam ediyoruz.
Buradan kısaca bahsedelim ;
- Priority (unique host identifier ) : Burada birden çok sunucu olacağı için gelen istekler ilk hangi sunucuma yönlenmesini istiyoruz 1 seçersek ilk olarak bu sunucuma yönlendirilmiş olur .
- Initial Host State : Sunucular cluster da hangi konumda olsun buradan ayarlayabiliriz.
- Retain suspended state after computer restarts : Bu seçenek seçilirse server restart olduğunda servis durur.
Burada verdiğimiz ip sanal bir ip. Şöyle düşünelim 20 sunucumuz cluster içerisinde yer alsın ve ip leri (1,2….20) gidiyor .Bizim burada vermiş olduğumuz 192.168.1.100 ip si sanal olarak dış ortama gözüken ip olmuş oluyor. Bir nevi güvenlik de almış oluyoruz. Burası bizim için önemli . dış ortama gözükecek sanal bir ip’m var ve fark ettiyseniz Mac adresi eklenmiş (buda sanal ) .Burada bahsetmek istediğim yer ise
Cluster Operation Mode ;
- Unicast : Eğer çift ethernet kartınız var ise seçmelisiniz .Eğer tek ethernet varken seçerseniz NLB makinaları birbirleri ile konuşamazlar. Çünkü Hearhbeat için interfacelerin biri kullanılır .Bunun içinde iki farklı Mac adresi olmalı ( Benim tek ethernet olduğu için seçmiyorum)
- Multicast : Tek ethernet e sahipseniz bu mod kullanılır tüm işlemler tek hat üzerinden yapılır dezavantajı ise trafiği yorar .
- IGMP Multicast : Bunu kullanabilmeniz için switch IGMP BROADCASTdesteklemesi gerekiyor.
Buradaki en önemli nokta ise clusterların bu sanal mac i algılıyabiliyor olması fakat switchlerin algılamıyor olmsıdır,yapmamız gereken mac adresini static ARP olarak switch e tanımlamaktır. Bu adımda da dikkat etmemiz gereken yerler var kısaca bahsedecek olursak
- Port Range : Ben sadece web için NLB yapacağım için sadece 80 portuna izin veriyorum.(Açılan gereksiz port her zaman güvenlik problemidir )
- Protocols: Burada NLB yapağımız özelliğin hangi protokolü kullandığını belirtiyoruz.
Filterin Mode ;
- Single Host : Bu seçili olursa priority si küçk olan hizmet verir ve diğer sunucular hizmet vermez .
- Multiple Host : Birden çok sunucu kullacağımız için şeçiyoruz.
Affinity ;
- None : Burdaki mantık sıralama mantığıdır ilk şu sunucuya ikinci gelen şu sunucuya diye dağıtım yapar.
- Single : Örneğin ilk olarak x sunucusundan cevap gelirse hep x sunucusuna bağlanmış olurum .
- Network : Burada ise cevapları network ayarlıyor. İlk isteğimde x sunucusuna yönlendiriliyor olabilirim.Belki dördüncüsünde y sunucusuna yönlendirilebilirim.
Gördüğünüz gibi ilk sunucum aktif hale geldi. İkinci sunucumuda eklemem gerekiyor.
Cluster altında Add Host to Cluster seçeneği ile devam ediyoruz.
Fark ettiyseniz bütün işlemleri aynı sunucu üzerinde yapıyorum .Host olarak diğer NLB özelliği kurduğum server ip si olan 192.168.1.2 yazdım
Burada ben yük dengelemelerini eşit oranlarda dağıttım. Fakat siz yapınıza göre veya sunucu gücünüze göre oranları değiştirebilirsiniz.
Gördüğünüz gibi yapımız hazır hale geldi .Son olarak ise 192.168.1.100 ip üzerinden websitemize bağlanılması için Dns Kayıdı açmalıyım.
Şimdi websitemize bağlanmayı deneyelim. Gördüğünüz ilk bağlanmamda HasanDimdik1 ,ikinicisinde ise HasanDimdik2 ye bağlandım .
Umuyorum faydası dokunmuştur
Hasan DİMDİK
Comments
0 comments
7 Yorumlar
mert
Eline koluna sağlık :) çokk güzel bir yazı :)
Volkan
Anlatım çok güzel. Her satır bilgi dolu. Büyük emek gerçekten. Emeğin için teşekkür ederim.
Hasan Dimdik
Yararı Dokunduguna sevindim.
esat
merhaba
peki şu an çalışan bir sitemiz var diyelim. 8 gb vps de barınıyor. gittim bir tane daha 8lik vps aldım. bu dedikleriniz kuruduğumu varsayalım.
ana server içerik eklenince ikinci servera da eklenecek mi otomatik. wp sitede server1 olarak bağlandım girdim içerik. server 2nin veritabanına da gidecek mi ?
mail olarak yazabilirmisiniz.
Hasan Dimdik
Merhaba ,
Bunun amacı içeriği eklemek değil sana gelecek istekleri yükü dengelemek amaçlı dağıtmaktır.
mustafa
Çok açık ve net bir şekilde öğretici bir makale olmuş. Bilgi paylaşımı için teşekkürler.
emre
mükemmel…