Microsoft Failover Cluster ile yaşanan/karşılaşılan problemlerin büyük bir bölümü yanlış/eksik kurulumlardan dolayı olduğunu tespit etmiş bulunmaktayım. Bu nedenle siz değerli okuyucularımızın kurulum ve sonrasında olası problemlerin yaşanmaması adına Windows Server 2012R2 için detaylı olarak Cluster ortamımızın ve Node’ların hazırlanmasını içeren bu makale hazırlanmıştır.
Active Directory Üzerinde yapılacaklar:
Bu kısım Cluster kurulumunun en önemli adımlarını oluşturmakta. Eğer bu şekilde kurulum yapılmazsa etkisi olmamakla birlikte ve bilinen bir soruna neden olmamakla birlikte System Event Error Log 1196 mesajı alınabilir.
AD üzerinde obje oluşturmasına yetkili bir hesap ile “Active Directory Users and Computer” veya kısa adıyla dsa.msc çalıştırılır. Gelen ekranda Cluster’da kullanacağımız Group ve Resource isimlerine ait Computer objelerini oluşturun.
Oluşturmuş olduğunuz objede Properties içinden Security’ye gelerek
Makine isimlerini ve kurulumu yapacak hesabı ekleyip full yetki verin.
Yetki işlemleri tamamlandığında obje üzerinde sağ tıklayıp Disable edin.
Oluşturduğunuz objelerin bulunduğu OU üzerinde sağ tıklayıp Properties’e gelin. Açılan ekranda Object sekmesine gelip “Protect object from accidental deletion” işaretleyin.
Redirection’ın Kapatılması:
Cluster sistemlerinde en çok baş ağrıtan noktalardan birisi maping işlemleridir. Bu aşamada sunucularda sistem stabilitesini sağlama adına ve olası problemlerin önlenmesi için uzak bağlantı ile gelen port ve printer yönlendirmelerinin kapatılması gerekmektedir. Server 2012 R2’de RDS role’ü kurulmadan “Remote Desktop Session Host Configuration Tools” gelmemektedir.
Bu işlem için ilk yöntem ve eğer sisteminizde 2008 / 2008R2 sunucularımız varsa, üzerinden Control Panel’inden Administrative Tools >> Terminal Services (Remote Desktop Services) >> Terminal Services Configuration’u (Remote Desktop Session Host Configuration) çalıştırın. Gelen ekranda “RD Sesion Host Configuration” üzerinde sağ tıklayıp “Connect to Remote Desktop Sesion Host Server”’ı seçin.
Gelen ekranda “Another Computer” seçmesini tıklayıp açılan alana yöneteceğiniz sunucunuzun ismini girin. Gelen ekranda RDP-Tcp üzerinde sağ ile tıklayıp Properties girin.
Açılan ekranda “Client Setting” altında Clipboard hariç hepsini işaretleyin.
İkinci yönden ise GPO ile yapmaktır. GPO’dan yapmak için; Computer Configuration >> Policies >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Printer Redirection altındaki değerler aşağıdaki gibi yapılır.
Ayrıca Computer Configuration >> Policies >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Device and Resource Redirection altındaki değerler aşağıdaki gibi yapılır.
Açık Sesion Sürelerinin Sınırlandırılması:
Performans ve olası problemlerin önlenmesi için Sunucuya bağlanan kullanıcıların belli bir süre sonra logoff edilmesi gerekmektedir. Kendi yapınıza göre uygun süreyi belirleyebilirsiniz. Bu işlem için Remote Desktop Session Host Configuration Tools’da Session sekmesini tıklayın. Açılan pencerede;
Idle Sesion Limit: Sunucuya bağlanan kullanıcının ne kadar süre boşta kaldığında disconnect yapılacağı belirleniyor.
Override user settings: Sunucuya bağlanan kullanıcıların ne kadar süre disconnect’te kaldığında logoff edileceği belirleniyor.
When sesion limit is reached or connection is broken: Sunucuya daha önceden hesap açmış bir kullanıcı yeniden bağlanırsa ne yapılacağı soruluyor. Burada ya “disconnect from sesion” secilerek aynı oturumuna bağlanması sağlanabilir veya “end sesion” denilerek öncekini sonlandır yeni oturum aç diyebilirsiniz.
Eğer Group Policy üzerinden yapılmak istenilirse “Computer Configuration >> Policies >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Sesion Time Limits” altındaki aşağıdaki ayarlar yapılır.
Anti Virüs:
Sunucular üzerine kurulacak anti-virüs muhakkak yönetilebilir ve sunucu mimarisine uygun olmalıdır. Microsoft tarafından özel olarak oluşturulup yayınlanan Anti-Virus Exclusion Listesine bakarak servisiniz için uygulanacak exclution tanımlarını aşağıdaki linkte gösterildiği gibi yapınız.
Windows : http://support.microsoft.com/kb/822158
Cluster : http://support.microsoft.com/kb/250355
Bununla birlikte sanallaştırma sistemleri için üretilmiş Deep Security yazılımları ile Host (Hyper-V) üzerine kuracağınız antivirüs ile guest (sanal sunucularınıza) antivirüs kurmadan koruma imkanınız bulunmakta. Fakat bu sistemi devreye almadan önce test edilmesi gerekmektedir.
Firewall / Güvenlik:
Benim önerim sunucu üzerinde firewall işlemi yaptırmamak. Bunun yerine sunucular ile client arasında konulacak firewall cihazı ile daha iyi ve sorunsuz hizmet alınabilir. Nedeni ise eğer Windows Firewall düzgün yapılandırmazsa tahmin edilemeyecek sorunlara neden olunabilir. Bu yüzden benim önerim Control panelinden Windows Firewall’a girilip “Turn Windows Firewall on or off” tıklandıktan sonra açılan ekranda tüm değerleri “Turn Off”’a cekin.
Cluster için firewall’dan izin verilecek port bilgileri aşağıdaki gibidir.
DEP’in Kapatılması:
Backup alma işlemlerinde en çok sorun yaşatan Data Execution Prevention değerini “Windows Programs and services” yapınız. Bu işlem için isterseniz Privilege (Run as Administrator) mode’da açılan komut penceresine “bcdedit.exe /set {current} nx OptIn” komut yazılıp enterlanır. İstersenizde “Control Panel >> System >> Advanced system settings >> Advanced >> Performans >> Settings >> Data Execution Prevention” altından ulaşabilirsiniz.
UAC’ın Kapatılması:
Backup işlemini network agent’ı üzerinden yapılıyorsa olası problemlerin yaşanmaması için önerim UAC’ın (User Account Control Settings) kapatılmasıdır. Bu işlem için “Control Panel >> System and Security >> Action Center” altındaki “Change User Account Control Settings” tıklayıp açılan pencerede çubuğu aşağı çekerek “Never Notify”’ye getirin.
Sadece buradan kapatmak yetmiyor. Windows+F tuş kombinasyonuna basarak açılan ekranda regedit yazıp “Run As Administrator” ile çalıştırın.
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\” altındaki EnableLUA anahtarını 1 yapıp sunucuyu restart edin. Eğer EnableLUA yoksa ise EnableLUA isimli yeni bir DWORD (32 bit) oluşturup değerini 1 yapın.
Ayrıca Server Manager Tools’dan Local Security Policy’e giriniz. Açılan ekranda “Local Policies >> Security Option” veya Group Policy’den “Computer Configuration >> Windows Setting >> Security Setting >> Local Policies >> Security Options” altındaki “User Account Control: Run all administrators in Admin Approval” değerini Disabled yapınız.
IE ESC Kapatılması
Server Manager’ın ana ekranında öncelikle “Local Server” tıklayın. Açılan pencerede “IE Enhanced Security” yanındaki ON’u tıklayın. Açılan ekranda hepsini OFF’a getirin.
NMI’ın Aktif Edilmesi
İşletim sistemi cevap veremeyip siyah ekranda kaldığında sunucu donanıma ait uzak bağlantı konsolundan memory dump alınarak restart edilmesi için OS’e gelen NMI isteklerinin kabul edilmesi sağlamak için regedit Run as Administrator ile açılıp aşağıdaki adımlar uygulanır.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl altına NMICrashDump isimli yeni bir DWORD oluşturulup değeri 1 yapılır
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA\Policy altına NMICrashDump isimli yeni bir DWORD oluşturulup değeri 1 yapılır
TCP Ayarlarının Özelleştirilmesi
Hyper-V, File Server, SQL Server, Exchange, RDS ve Print Server gibi servisler yoğun TCP işlemleri yaptığından bazen OS katmanın network seviyesinde hatalara neden olabilir. Bunun çözümü olarak aşağıdaki ayarların yapılması gerekmektedir.
Administrator ile çalıştırılmış regedit ile Register’a aşağıdaki değerleri ekleyin.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“TcpTimedWaitDelay”=dword:00000030
“MaxUserPort”=dword:0000fffe
Administrator ile çalıştırılmış komut satırından aşağıdaki komutları çalıştırın
netsh int ipv4 set dynamicport tcp start=1025 num=64510
netsh int ipv4 set dynamicport udp start=1025 num=64510
Power Option Ayarları:
Sunucu performansı için Contol Panel’den PowerOption’a girip “High Performance” a getirin.
Network Ayarları:
Klasik ve basit cluster yapısında Nodelar arasındaki cluster iletişimi için bir heartbeat dediğimiz PRIVATE network’üne birde cluster’da hizmet verdiğimiz servisin dış ortamla iletişimde bulunduğu PUBLIC network’üne ihtiyaç bulunmaktadır.
Server 2008R2 ile birlikte eğer private networkten node’lara erişemezse public interface’i üzerinden erişim denenir iletişim sağlandığında sistem down olmadan cluster verileri public üzerinden akmaya devam eder. Aslına bakıldığında tek interface cluster için yeterli fakat sağlıklı değil.
Eğer backup işlemini network üzerinden yapıyorsanız ve sunucunuzda da yeterli port varsa bu işlem için ayrı port kullanmanınız.
Eğer sunucunuzda yeterli port varsa Hyper-V’nin Live Migration işlemleri için ayrı portu kullanınız. Aşağıdaki resimde Microsoft’un Cluster sistemler için önerdiği network port sayısı ve hızları gösterilmektedir.
Cluster kurulumu yapılmadan önce tüm node’larda aşağıdaki ayarlan uygulanmalı:
* Tüm node’lardaki network interface’lerinin subnetleri ve isimleri eşit/aynı olmalı
* Private bacağında sadece “Internet Protocol Version 4 (Tcp/IPv4)” ve (Tcp/IPv6)”’nın işaretli olsun diğerlerinde işaret varsa kaldırınız. TCP/IP v6 kullanmasanız bile işaretli olması gerekmektedir. Microsoft tarafından iptal edilmesi önerilmemektedir.
* Public hariç tüm network interface’lerin DNS ve WINS register işlemi kaldırınız. Bu işlem için ip adresini girdikten sonra Advanced butonuna tıklayın. DNS tabına tıklayın. Aşağıda yer alan “Register this connection’s addresses in DNS” işaretli ise kaldırın. WINS tabına gelip “Disable Netbios over TCP/IP” seçeneği işaretli değil ise işaretleyelim.
* Sunucu network erişimindeki önceliği Public interface’ine vermek için “Control Panel > Network and Internet > Network Connections”a geldiğinizde klavyedeki ALT tuşuna basarak menü tabını çıkartıp Advanced alanı içerisindeki “Advanced Settings” e gelip Public network interface’ini yukarı taşıyın.
Server 2012 Windows NIC Teaming
Hyper-V ve SQL gibi servislerin servis sürekliliğini etkileyen en önemli etkenlerden birisi Port ve Switch yedekliliğidir. Server 2012 üzerinde Network Teaming yapılacaksa kesinlikle Windows NIC Teaming feature’ı ile yapılandırılmadır. Bunun nedeni Microsoft’a açılan network problemlerine ilişkin case’lerde eğer farklı bir üreticiye ait teaming varsa öncelikle teaming’in bozulması istendiğinden olası bir problem yaşanmaması adına Server 2012/2012R2 işletim sistemli sunucularımızda Teaming yapılandırmanızı Windows NIC Teaming feature’ı ile yapılır.
Bu işlem için Server Manager Tools’dan Local Server’a gelin. “NIC Teaming” yanındaki disable’ı tıklayarak veya lbfoadmin kısa ismini yazarak yönetim alanına gelin.
Gelen ekranda TEAMS alanı içerisinde Tasks’ı tıklayarak “New Team” secin. Açılan ekrana oluşturacağınız Team için isim girip “Member Adapters” kısmında listelenen uygun interface’leri işaretleyin.
“Additional Properties” tabını tıklayarak genişletin. Açılan ekranda “Teaming Mode” kısmında listelenen modellerden uygun olanı seçiniz.
Disk İşlemleri:
Cluster’ın temel çalışma prensibi Shared (Paylaşımlı) Disk üzerinedir. Servis sürekliliği yapılacak hizmetlerin verileri tüm node’ların gördüğü ortak bir disk alanında tutulur. Windows Server 2012 R2 ile birlikte SBM ve Guest (Sanal Makine üzerinde) Clustering destekleri gelmiştir. Aşağıda desteklenen disk tiplerinin listesi sunulmuştur.
Windows Failover Cluster yapısı aktif-pasif çalışmaktadır. Yani diskin sadece bir sahibi olur ve O okuyup yazar. Yanlız suanda sadece Hyper-V’de bir diske tüm node’ların erişimini sağlamaktadır. Bu sayede Hyper-V yük dağılımı yapılarak daha efektif kullanım sağlanırken olası bir problem anında üzerindeki sanal sistemlerin daha kısa sürede Failover olmasını gerçekleştirmektedir.
Cluster kurulumu yapılmadan önce tüm node’lar da ortak diskin gösterilmesi gerekiyor. Storage olarak kullanacağınız ortama göre bu işlem değişmektedir. Önemli olan tüm node’ların aynı boyutta ve DiskID’sin de diskin görülmesidir. Bunun kontrolü için Privilege (Run as Administrator) mode’da açılan komut penceresine diskpart yazın. Gelen ekranda “list disk” yazıp enter’layın.
Gelen ekranda cluster’a eklediğiniz diskin disk numarasını görmektesiniz. Yukarıdaki ekranda gördüğünüz gibi benim Cluster ortamı için eklenen disk1’dir. Sonra “select disk 1” diyerek işlem yapmak istediğiniz diski secin.
İşlemin arkasından da “detail disk” diyerek diskiniz ile ilgili bilgilere erişebilirsiniz. Bu işlemi tüm node’larda uygulayıp DiskID değerini karşılaştırınız. Bu değer tüm node’larda aynı olmalı.
DiskID değerini görebilmeniz için diskin Initialize ve formatlanması gerekmektedir. Bu işlemleri için Cluster kurulumu yapılacak olan node üzerinde Server Manager’dan tools menüsünden “Computer Manager” a geliniz. Açılan ekranda “Disk Management” ı tıklayınız.
Gelen ekranda öncelikle Disk Management sağ tıklanıp rescan denir. Bu sayede değişiklikler işlenmiş olacaktır. Cluster için Storage üzerinden eklenen diskin görüldükten sonra üzerinde sağ tıklanıp önce online yapın sonra Initialize edin.
Bazı “Bare Metal” yedekleri ve bazı disk kurtarma programları GPT’yi desteklememekte. Olası problemle yaşamamak adına ve eğer disk boyutunuz 2 TB’ı geçmeyecekse önerim MBR yapmanızdır.
Initialize işlemi sonrasında diskin formatlanması gerekmektedir. Cluster sadece “Simple Volume” ve NTFS desteklemektedir. Bu işlem için diski sağ tıklayıp “New Simple Volume” u secin. Arkasında da uygun harf ataması gerçekleştirin. Ben burada D harfini atadım.
Diskin format tipi cluster sisteminiz için çok önemli. Eğer bu disk üzerinde Hyper-V diskleri, SQL data ve log dosyası gibi büyük boyutlu blok veriler olacaksa “Allocation Unit Size” değerini 64K yapın. MS Cluster “File System” olarak sadece NTFS’i desteklemektedir.
Bu adımları tamamladıktan sonra diğer node’lar da Disk Management’ta rescan yapılarak eklenecek diskin görülmesi sağlanmalı.
Genel Yapılandırma Ayarları:
* Klavye hariç tüm Region Setting ayarlarını English (US) bırakmanız.
* Eğer sunucunuzun RAM’i 25 GB ve üstü ise pagefile’i 22528 Mb olarak set edin. Altında ise RAM kadar pagefile verilmesi önerilir fakat asla otomatikte bırakmayın.
* Eğer sunucunuzun işlemci CPU core sayısı 24’den fazla ise “Physical APIC Mode”’un enable edilmesi gerekiyor. Privilege (Run as Administrator) mode’da açılan komut penceresine aşağıdaki komut yazılıp Enter’lanır ve sunucu restart edilir.
bcdedit /set usephysicaldestination yes
* Sunucunun saat ayarlarını kontrol ediniz. Türkiye için İstanbul seçilmeli.
* Task Scheduler üzerinden Defrag işlemi disable edilir.