Network Load Balancing (NLB), daha yüksek süreklilik (availability) ve güvenilirlik (reliable) sağlayan bir clustering şeklidir. SQL Server gibi veritabanı uygulamalarının desteği yerine file server, ftp server, VPN server gibi TCP/IP tabanlı server uygulamalarını destekler. Her client’ın isteği ayrı bir transaction olduğu için birçok server’a dağıtılabilir. Bu tür çalışmaya ayrıca “stateless application” denir. Genellikle active/active olarak yapılandırılır.
NLB kurulumu kolay bir Clustering türüdür. Windows Server yazılımı ve var olan donanımla bu tür cluster sistemleri kolayca kurulabilir. İzlenebilir ve yönetilebilir. Network Load Balancing, her host üzerinde clusterın tek bir yapı olarak görünmesini sağlayan bir virtual network adapter ile yaratılır. Virtual adapter kendi IP adresine ve media access control (MAC) adresine sahiptir.
Bir client isteğinin cluster IP adresine ulaştığında, cluster servisi içindeki bütün hostlar bu mesajı işler. NLB cluster içindeki her host üzerinde Network Load Balancing servisi cluster adapter ile bilgisayarın TCP/IP kümesinin arasında bir filtre olarak çalışır. Bu filtre NLB’nin hangi hostun bu isteği çözmesinden sorumludur.
Network Load Balancing (NLB), 2–32 server ile oluşturulabilir. Cluster içindeki her bir host uygulamanın bir kopyasını içerir. NLB ortamının tek bir network gibi görünmesi için her bir server bir virtual network adaptöre sahiptir. NLB cluster’ın standart formatlı ve cluster’ın tümünü ifade eden sanal bir IP adresi vardır.
Windows Server 2003 üzerinde gerçekleştireceğim yapılandırmanın diyagramı aşağıdaki gibidir.
Server Adı |
İp Adresi |
Türü |
node1.ceycey.com |
192.168.1.2 |
Server 1 |
node2.ceycey.com |
192.168.1.3 |
Server 2 |
nlb.ceycey.com |
192.168.1.5 |
Cluster adı ve IP adresi |
Örneğimde kullanacağım her iki serverda da bir tane network adaptörü bulunmaktadır. (İki network kartına sahip server’lar üzerinde de nlb yapılandırmasını gerçekleştirebilirsiniz. Bunun için yapmamız gerekenleri makalenin ilerleyen adımlarında anlatacağım.)
Node1 üzerinde NLB Konfigurasyonu
Control Panel’den, Network Connections seçeneğini ve ardından Local Area Connection üzerinde sağ tıklayıp Properties seçeneğini tıklıyoruz. Karşımıza gelen Local Area Connection Properties ekranında Install butonuna tıklayıp açılan ekrandan Service seçeneğini ve ardından Network Load balancing seçeneğini tıklayıp Network Load Balancing özelliğini network adaptor’u üzerinde aktif hale getiriyoruz. Ardından aşağıdaki resimde de görülen Network Load Balancing seçeneğinin yanındaki kutucuğu işaretledikten sonra Properties seçeneğini tıklıyoruz.
Network Load Balancing Properties ekranında öncelikle Cluster Parameters tabı üzerinde yapmamız gereken bazı işlemler yer alıyor.
Öncelikle senaryomuzda cluster için belirlediğim ip adresi olan 192.168.1.5’i IP address kısmına yazdıktan sonra, subnet mask’ı (benim yapımda 255.255.255.0) ve cluster’a erişim DNS üzerinde tanımlayacağımız adı yazıyorum. (DNS üzerinde tanımlama işlemini makalenin son bölümünde anlatacağım.)
Cluster operation node kısmında Unicast seçeneğini işaretliyorum.
Açıklama:
· Unicast modda network adaptörüne cluster’ın özel bir media access control (MAC) adresi atanır. Kartın yerleşik MAC adresi kullanılmaz. Bu nedenle cluster adaptörü üzerinden host-to-host iletişim yapılamaz.
· Multicast modda network adaptörüne atanmış cluster’ın MAC adresi cluster adaptörü olarak kullanılır. Network adresinin MAC adresi de korunur. Cluster MAC adresi client ile cluster arasındaki trafik için, yerleşik MAC adresi bilgisayarın kendi aralarında iletişimi için kullanılır.
· NLB tek bir cluster içinde mixed (unicast/multicast) ortamı desteklemez. Cluster içinde yer alan network adaptörleri multicast ya da unicast olmalıdır. Aksi takdirde çalışmaz.
Şimdi de Host Parameters tabına geçiş yapalım.
NLB için yapılandırdığımız ilk server olmadığından dolayı Priority (unique host identifier) kısmında herhangi bir düzenleme yapmamıza gerek yoktur.
Dedicated IP configuration bölümünde ise yapılandırma işlemini gerçekleştirdiğimiz server’ın (node1) ip adresini ve subnet mask’ını yazıyoruz.
Port Rules tabında ise şu anda gerçekleştirdiğimiz işlem sadece örnek bir yapılandırma olduğu için herhangi bir işlem yapmadan ok diyerek devam ediyorum.
Ayrıca yukarıdaki ekranda Add butonuna tıkladığımızda açılan Add/Edit Rule penceresinde clusterın port kurallarını belirleyebiliriz ve NLB servisinin trafiği izlemek ve cluster içerisindeki server’lar arasında denge sağlamak için kullanacağı protokolo belirleyebiliriz.
OK butonuna bastıktan sonra karşımıza gelen uyarı ekranında da Ok butonuna basıp işlemlerimize devam ediyoruz.
Network Load Balancing seçeneği üzerindeki yapılandırmamızı tamamladıktan sonra Internet Protocol (TCP/IP) seçeneğinin üzerine gelip Properties seçeneğini tıklıyoruz.
Advanced butonuna tıkladıktan sonra açılan Advanced TCP/IP Settings ekranında Add butonunu tıklayıp, Cluster için belirlediğimiz ip adresini (bizim yapımızda 192.1681.5) ve subnet mask’ı girdikten sonra Ok butonuna basıyoruz.
Node1 üzerinde NLB Yapılandırmasının Kontrol Edilmesi
Komut satırını açıyoruz ve wlbs query komutunu çalıştırarak node1 üzerinde converged işleminin başarıyla gerçekleştiğini görüyoruz.
Node2 üzerinde NLB Konfigurasyonu
Node1 üzerinde gerçekleştirdiğimiz işlemleri node2 üzerinde de aynı şekilde gerçekleştiriyoruz.
Control Panel’den , Network Connections seçeneğini ve ardından Local Area Connection üzerinde sağ tıklayıp Properties seçeneğini tıklıyoruz. Karşımıza gelen Local Area Connection Properties ekranında Install butonuna tıklayıp açılan ekrandan Service seçeneğini ve ardından Network Load balancing seçeneğini tıklayıp Network Load Balancing özelliğini network adaptor üzerinde aktif hale getiriyoruz. Ardından aşağıdaki resimde de görülen Network Load Balancing seçeneğinin yanındaki kutucuğu işaretledikten sonra Properties seçeneğini tıklıyoruz.
Network Load Balancing Properties ekranında, Cluster Parameters tabı üzerinde aşağıdaki işlemleri gerçekleştiriyoruz.
Cluster için belirlediğim ip adresi olan 192.168.1.5’i IP address kısmına yazdıktan sonra, subnet mask’ı (benim yapımda 255.255.255.0) ve cluster’a erişim DNS üzerinde tanımlayacağımız adı yazıyorum. (DNS üzerinde tanımlama işlemini makalenin son bölümünde anlatacağım.)
Cluster operation node kısmında Unicast seçeneğini işaretliyorum.
Host Parameters tabında ise;
NLB için daha önce yapılandırdığımız bir server olduğu için Priority (unique host identifier) kısmına 2 yazıyoruz.
Dedicated IP configuration bölümünde ise yapılandırma işlemini gerçekleştirdiğimiz server’ın (node2) ip adresini ve subnet maskını yazıyoruz.
Port Rules tabında ise şu anda gerçekleştirdiğimiz işlem sadece örnek bir yapılandırma olduğu için herhangi bir işlem yapmadan ok diyerek devam ediyorum.
OK butonuna bastıktan sonra karşımıza gelen uyarı ekranında da Ok butonuna basıp işlemlerimize devam ediyoruz.
Network Load Balancing seçeneği üzerindeki yapılandırmamızı tamamladıktan sonra Internet Protocol (TCP/IP) seçeneğinin üzerine gelip Properties seçeneğini tıklıyoruz.
Advanced butonuna tıkladıktan sonra açılan Advanced TCP/IP Settings ekranında Add butonunu tıklayıp, Cluster için belirlediğimiz ip adresini (bizim yapımızda 192.1681.5) ve subnet mask’ı girdikten sonra Ok butonuna basıyoruz.
Node2 üzerinde NLB Yapılandırmasının Kontrol Edilmesi
Komut satırını açıyoruz ve wlbs query komutunu çalıştırarak node2 üzerinde converged işleminin başarıyla gerçekleştiğini görüyoruz. Eğer node1 ve node2 üzerinde converged işleminin başarıyla gerçekleştiğini gördüysek yapılandırmamız düzgün bir şekilde çalışıyor demektir.
DNS Yapılandırması
Kullanıcıların NLB yapılandırmamıza cluster adı ile erişimi için gerekli DNS yapılandırmasını yapalım.DNS konsolunu açıyoruz ve ceycey.com domain’i üzerinde sağ tıklayıp “New Host A” seçeneğine tıklıyoruz.
192.168.1.5 Ip’sini verdiğimiz cluster yapılandırmamız için bir isim tanımlıyoruz. Ben yapılandırmamda kullanıcılarımın nlb.ceycey.com yazarak cluster yapısına erişmelerini istiyorum ve konfigurasyonumu bu doğrultuda gerçekleştiriyorum.
A kaydının başarılı bir şekilde oluşturulduğuna dair bilgilendirme mesajını gördükten sonra Ok butonuna basarak DNS yapılandırmasını tamamlıyorum.
Komut satırını açalım ve dns üzerinde cluster yapısı için tanımladığımız isme ping atarak yapılandırmamızı test edelim. Ping atmayı denediğinizde aşağıdaki gibi bir sonuç alıyorsanız NLB yapılandırmanız başarı bir şekilde gerçekleşmiş demektir.
Windows Server 2003 üzerinde NLB yapılandırmasını anlattığım makalemizin sonuna geldik. Umarım yararlı olmuştur. Bir sonraki makalemizde Windows Server 2008 üzerinde NLB yapılandırmasını anlatacağım.