Cluster kelime anlamıyla “kümelenmek” servis ve uygulamalara erişebilirliği ve uygulamaların verimliliğini arttırmak için oluşan birlikte çalışan bilgisayar gruplarıdır. Sunuculardan birisi down olduğu zaman üzerindeki servis veya uygulamanın devamlılığını sağlamak için diğer sunucunun bu görevleri ve logical unitleri üzerine alarak yani Failover yaparak hizmetteki kesintinin en az süreye indirilmesi ve hizmet devamlılığının sağlanması amaçlanmaktadır.
Failover Cluster özelliği sadece Windows 2008 Enterprise ve Datacenter sürümleri tarafından desteklenmektedir Standart ve Web Edition tarafından desteklenmez.
Failover Cluster yapısına geçmeden önce gerekliliklerine bir göz atalım ;
1.Cluster node görevi üstlenicek tüm sunucuların aynı hardware özelliklerini taşıması önerilir.
2.Cluster node görevi üstlenicek bilgisayarlardaki software tarafının(patch,driver,antivirus) tamamen aynı olması önerilir.
3.Microsoft tarafından Cluster yapınızda çıkabilecek sorunlara destek alabilmeniz için node’lar üzerindeki tüm hardware donanımın “Certified for Windows Server 2008” özelliği taşıması istenilir.
4.Cluster üzerindeki tüm node’ların aynı sürüm Windows kullanması gerekir.
5.Cluster sunucularının aynı domaine member olması gerekir.
6.Cluster sunucularının domaine member olması ve eğer domain admin yetkileri yoksa domain içerisinde Bilgisayar Nesneleri Oluşturma izninin verilmiş olması gerekir (Bu kısmın çıkardığı sorunlar hakkında yazının ilerleyen kısımlarında örnek göreceksiniz).
7.Kurulum öncesi yapacağınız Cluster Validation Testin hatasız bitmiş olmasına önem göstermeniz gerekir o anda kurulum yapmanıza engel olmuyacak bir warning bile ileride başınıza büyük sıkıntılar açabilir.
Peki Failover nasıl olur yani bir sunucu diğerinin down olduğunu nasıl anlar ve görevleri üstüne nasıl alır ?. Bu kısımda devreye heartbeat giriyor. Sunucunuz üzerindeki ağ bağdaştırıcılarından bir tanesini bu görev için seçiyorsunuz bir nevi kendi aralarında haberleşme sağladıkları özel bir bağlantı oluyor. Arka planda sunucuların birbirlerini kontrol ettikleri ve down olma durumunda devreye girdikleri iki tip işlem var . Bunlardan birisi Push Heartbeats yani aktif sunucunun belli aralıklarla pasif sunucuya özel bir sinyal yollaması ve pasif sunucunun gerekli zamanlarda bu sinyalin gelmemesi durumunda aktif sunucunun down olduğunu düşünerek görevleri üzerine alması diğerinin ise Pull Heartbeats yani pasif sunucunun aktif sunucuya belli aralıklarla sinyal göndermesi ve sinyal ulaşmazsa aktif sunucunun down olduğunu düşünerek görevleri üzerine almasıdır. Kaç sinyal sonunda aktif olacağı ve sinyal aralıkları değişebilir yani diğer sunucunun down olduğunu düşünerek her dakika başı bir sinyal yolladığını düşünürsek 5 sinyal sonunda görevi alması demek sunucuların 5 dakika cevap vermemesi demek olacaktır ama bu süreyi çok kısa tutmakta sahte Failover durumlarına sebeb olacağından bunu iyi hesaplamak gerekir. Aşağıda SQL sunucusu görevi üstlenen bir cluster yapısının örneğini görüyorsunuz.
Sunuculardan birisi down olduğu zaman diğeri görevi alıyor ;
Bu makalemizde 2 Node’lu Failover Cluster yapısı kuracağız hardware tarafında yapmanız gereken işlemlerden birisi makine üzerindeki ağ bağdaştırıcılarından birini heartbeat ayırmanız ve bu bağdaştırıcıya önerilen olarak ağınızda bulunmayan bir subnetten ip vermeniz gerekir. Ardından bu kartları direk olarak bir patch kabloyla diğer sunucunun heartbea bağdaştırıcısına bağlayınız. Ardından bu bağdaştırıcı TCP/IP ayarları üzerinde “Register this connection’s addresses in DNS” ayarını kapatın ve Disable Netbios Over TCP/IP seçeneğini aktif edin.
Her iki node üzerinde bu ayarı yaptıktan sonra kuruluma başlıyoruz. Biz bu örneğimizde NAS üzerinde yapılandırılmış olan logical unitler kullanacağız kısaca LUN. Peki bu logical unitler üzerlerinde nelermi durucak tabiki cluster üzerinde hizmet veren uygulama veya servis datalarımız ve Quorum alanımız Quorum için Yazılmış çok detaylı bir yazı mevcut aşağıda linki var.
http://www.hakanuzuner.com/index.php/quorum.html
Evinizde lab ortamında bir deneme yapıcaksanız ortamda bir NAS varmış gibi bir simülasyon için starwind yazılımını kullanabilirsiniz çok başarılı bir yazılım aşağıda nasıl kullanacağınıza dair bir yazı mevcut.
http://technochat.in/2008/11/configure-cluster-on-vmware-using-iscsi/
Öncelikle her iki sunucu üzerinde Failover Cluster features’ini yüklüyoruz.
Ardından Failover Cluster Manager e girerek Cluster Validation aracını çalıştırıyoruz baştada söylediğimiz gibi en önemsiz gördüğünüz uyarıları bile dikkate almakta yarar var.
Validate Configuration Wizard ı çalıştırdıktan sonra next e basarak devam ediyoruz.
Test uygulanıcak serverleri listeden seçtikten sonra next e basarak devam ediyoruz.
Run all test diyerek devam ediyoruz.
Uygulanıcak testlerin listesini gösterdiği bu adımı next ile geçiyoruz ve test başlıyor.
Eğer herhangi bir hata yoksa tüm testler başarıyla geçmişse listenizde hiçbir uyarı olmaması gerekiyor bu tüm adımları doğru yaptığınız anlamına geliyor eğer hata alırsanız hatayı çözmeden kuruluma başlamamanızda fayda var.
Testimiz sorunsuz geçtiği için artık kuruluma geçebiliriz. Create a Cluster diyerek kurulumu başlatıyoruz. Gelen ilk ekranı next ile geçiyoruz.
Bir sonraki ekranda cluster sunucusu olacak serverleri seçiyor ve devam ediyoruz.
Bu ekranda cluster ismimizi ve cluster ip adresimizi giriyoruz.
Kurulumumuz başlıyor.
Ve bitti
Şimdi cluster sunucumuz üzerinde bir takım kontrol ve ayarlar yapacağız. Öncelikle Quorum alanının neresi olacağını belirtelim.
Next e basarak devam ediyoruz.
Default seçili ayarı değiştirmeden devam ediyoruz.
Quorum için ayırdığımız alanı seçerek devam ediyoruz.
Yapılıcak ayar özetini gördükten sonra next ile devam ediyoruz.
Finish ile işlemi bitiriyoruz.
Şimdi herşey sağlıklı çalışıyormu kontrol edelim gördüğünüz gibi her iki sunucuda online durumda .
Cluster disklerimiz online ve bir sorun gözükmüyor.
Gördüğünüz gibi cluster kurulumumuz sorunsuz şekilde sona erdi bir sonraki makalemizde aynı yapı üzerine SQL 2008 Cluster kuracağız iyi çalışmalar.