Bu makalemizde sizlere Microsoft Failover Cluster yapımız içerisinde başımıza gelebilecek olası risklerimizi belirlemek ve bir felaket anında çözüm için gereken kurtarma adımlarının nasıl olacağı konusunda bilgi aktarmış olacağız. Buradaki amaç olası Cluster problemlerinde yaşanacak kesinti süresinin azaltılmasıdır.
Ayrıca bu makale; devamlı sorulan / sorgulanan Cluster Disaster Recovery (Felaket Kurtarma) kılavuzları için ön bilgilendirme için hazırlanmıştır.
Not:
Burada yazılanlar test edilmiş ve onaylanmış kurtarma senaryoları olmasına rağmen muhakkak problem öncesinde kendi ortamınızda test ediyor olmanız gerekmektedir.
Aşağıdaki özet diyagramda görüleceği üzere en çok karşılaşabileceğimiz 2 ana grupta 7 farklı Cluster Servisine ait problem senaryosu bulunmaktadır. Bu ihtimallere karşılık oluşturacağınız Felaket Kurtarma çözüm yollarını şimdi birlikte inceleyelim.
1) İşletim Sistemi Açılmıyorsa:
Genellikle toplu yüklenen driver veya hotfix nedeniyle işletim sistemi açılmadığını ve sistem geri yüklemesi de yapamadığınızı düşünün. (Kritik sistem çalıştırılan sunucularda “Sistem Geri Yüklemesi” önerilmez.)
Server 2008 ve üstü sunucularda İşletim Sistemli sorunlarda bizim kurtarıcımız “Bare Metal Recovery (BMR)”’dir. BMR Nedir ve nasıl yapılır sorununun cevabını Portalımızda Serhat Akıncı hocam aşağıda linkini verdiğim makalede detaylı olarak anlatıldığından ben detaylara girmeden sadece dikkat edilecek noktaları anlatacağım.
Özetle söylemek gerekirse BMR; sunucunuzun işletim sistemi diskinin boot bölümünü, Registry, System state, Cluster Database ve sizin belirleyeceğiniz klasörlerin birlikte imajının alınmasıdır.
Kritik bir servisi cluster yapınızda aynı anda birden fazla node arızalanmaz demeyin. Bu yüzden mutlak surette yapılacak değişiklik öncesinde tüm node’lardan BMR yedeği alınmanızı öneririm. Bu işlem sizin sorun anında kesinti sürenizi gözle görülür oranda azaltacaktır.
System Center Data Protection Manager ve Bazı Üçüncü Parti yazılımlarla alınabildiği gibi Windows Server içerisinde gelen ücretsiz olan Windows Server Backup ile BMR yedeği alabilirsiniz.
Dikkat edilecek nokta Windows Server Backup UEFI boot ve GPT diski desteklemiyor. Bu nedenle eğer Windows Server Backup kullanarak Bare Metal yedeği alınacaksa sunucunuz bios kullanıyor ve İşletim Sisteminin MBR formatlı diske kurulduğunu teyit ediniz. Bu makaleyi yazdığım zamanda birçok büyük firma Server 2012’yi desteklemiyordu. Eğer Üçüncü Party yazılım kullanılacaksa işletim sistemi ve Cluster desteği olup olmadığı sorulmalı.
Sorun yaşamamamız adına dikkat edilecek bir diğer nokta ise BMR yedeğinin alınacak ortam NAS cihazı değil de Server 2008R2 üstü File Server üzerinde paylaştırılmış alan olmalıdır. Ayrıca eğer Local Admin hesabının şifresi devamlı değiştiriliyorsa yedek alındığı ve alınacağı zamandaki şifreyi biliyor ve not ediyor olmalısınız.
2) Cluster Database’inin Bozulması:
İşletim sistemi çalışan cluster node’unuz restart edilmesine rağmen bir şekilde Failover Cluster Manager Tools üzerinde erişilemez görülüyorsa veya evict ettiğiniz cluster node’unu tekrardan ekleyemiyorsanız yapacak tek şey BMR yedeğinizden geri dönmektir.
BMR’ye birinci maddede değinmiştik. Eğer elimizde Windows Server Backup ile cluster klasörü seçilerek alınmış BMR yedeği varsa şimdi nasıl kurtarılacağını görelim:
Öncelikle sorun yaşayan sunucu üzerinde komut satırını Run As Admin olarak çalıştırıp en son alınan yedeğin ismi ve yerini görmek için “Wbadmin get versions” komutunu çalıştırın.
Arkasında da aşağıdaki komutları “get versions” komut çıktısındaki verilere göre çalıştırınız.
wbadmin start systemstaterecovery –(version ID) –backupTarget:X:
Wbadmin get items –version:<version> –backuptarget:<target>:
wbadmin start recovery -version: <version> -backuptarget:d: -itemtype:app -items:cluster
Komutunu çalıştırdığınızda Cluster database’ini restore edeceğiniz için onayınızı almak için bu mesaj gelmektedir. Buna Y diyerek devam ediniz.
Bu işlemden sonra cluster servisini start edin.
3) Cluster Diski Bozulursa:
Storage’da oluşan LUN hataları neden olabileceği gibi storage arızası durumunda da Cluster’a dahil çalışır durumdaki diskin birden bire erişilemez olup Failover Cluster Manager Tools (FCM) üzerinde offline’a düştüğünü ve online yapılamadığını durumlarda aşağıdaki adımlar uygulanır.
Öncelikle Cluster’a yeni bir disk verilir. Tüm node’ların bu diski görüp yazdığı test edildikten sonra alınan en son yedek bu diske dönülür.
Yedek dönüldükten sonra FCM üzerinden arızalı disk üzerinde sağ tıklayıp More Action altındaki repair tıklanır.
Gelen ekranda yeni verdiğiniz diski seçin ve uyarı mesajında OK’e basın
Eğer repair edilecek yeni verilen disk bozuk disk ile aynı size’da değil ise bir uyarı mesajı çıkacaktır. Buna OK deyip geçiniz.
Repair işlemi bittiğinde disk hala offline’da ise online’a çekin. Disk online olduğunda servisleri de online yapın.
4) Disk Erişilebiliyor Fakat Servis Online Olmuyorsa:
Bir şekilde diske yazma yapılamıyor veya yoğun olarak disk hataları alınıyorsa Servis kendini failed’a çekiyor olabilir. Bu durumda Disk offline’a çekilip üçüncü adımda anlatılan adımlar uygulanır.
Quorum’un Düşmesi Durumunda:
Quorum ile ilgili portalımızda “Microsoft Cluster Mimarisinde Quorum Yapılandırması ve Split Brain Senaryosu” isimli aşağıda linkini verdiğim yazdığım makalede detaylar anlatıldığından burada detaya girmeden Witness Disk veya File Share Witness kurtarmalarına değinilecektir.
Özetle Cluster sisteminin temeli oy sahipliği üzerine kurulmuştur. Cluster’a dâhil sunucuların en az yarısından 1 fazlası yani ( (node sayısı + 1)/2) kuralına istinaden ayakta olması gerekmektedir. Eğer Cluster’ınız içerisindeki sunucu sayınız yukarıdaki örnekte verdiğim gibi 3 node’tan oluşuyorsa en az iki sunucunun ayakta kalması servis sürekliliğini sağlayacaktır. Fakat sunucu sayınız çift ise servisinizin ayakta her daim kalabilmesi için Cluster’ınıza ekleyeceğiniz ortak bir diski QUORUM olarak tanımlayarak toplam oy sayınızı teke çıkartmış olursunuz.
Çift sayıda Node’unuz ve Witness Disk ile Quorum oluşturduğunuzu düşünelim.
Üçüncü adımda bahsedildiği gibi diske erişilemiyor ve Quorum düştü.
Bu durumda üçüncü adımda bahsedildiği gibi yeni bir disk verilip arızalı disk üzerinde yeni diski vererek repair dediğinizde sorun düzelecektir.
Eğer Qourum’u File Share ile sağlıyor ve artık bu paylaşım alanına erişilmediğini düşünelim.
Bu durumda Failover Cluster Manager Tools’da Cluster üzerinde sağ tıklayıp açılan pencereden More Action altındaki “Configure Cluster Quorum Settings” seçin
“Node and File Share Majority” tıklanarak yeni bir paylaşım adresi girilerek sorun çözülür.
5) Cluster Düşerse:
Eğer Cluster Node’larından yarısından fazlası ve Witness’a da erişilmiyorsa Cluster Quorum’u sağalamadığından kendini kapatacaktır.
Bu durumda Cluster Node’larından uygun olanı tek başına Cluster servisini devreye alıp çalıştırması için Force Quorum parametresi ile Cluster servisini uygun sunucu üzerinde başlatılması gerekmektedir.
Bu işlem için uygun sunucuda Services.msc tıklanarak açılan pencerede “Cluster Service” çift tıklanarak açılır. “Start Parameters” kısmına “-FQ” yazılarak start edilir.
Olası problemlerin önlenmesi için hemen Cluster açıldıktan sonra Quorum; Disk ekleyerek veya File Share olarak yeniden düzenlemesi yapılır.
Quorum düzenlemesi yapıldıktan sonra Cluster servisine yazdığımız Force Quorum parametresi silinerek normal olarak başlatılır.
6) Cluster İsmi veya Virtual İsminin Silinmesi:
Aşağıda örnek olarak oluşturduğumuz Cluster’a ait Computer objelerinin Active Directory’deki görüntüleri yer almaktadır. Yeşil renkle işaretlenenler gerçek Cluster’a ait sunucu isimleri, Kırmızı renkli olan Cluster Name Object (CNO) yani yönetim için bağlandığımız Cluster ismi, Siyah ile işaretli kısımda yer alanlar ise VCO (Virtual Cluster Objects) yani servislerimiz için oluşturduğumuz isimdir.
Yanlışlıkla Active Directory üzerinden Cluster ismini veya Cluster’da çalıştırdığınız servis için oluşturduğunuz sanal bilgisayar ismini silerseniz 1207, 1609 ve 1205 Cluster Event’ları sisteme düşmeye başlayacaktır. Bir süre sonra yetki problemlerinden dolayı Cluster servisi veya servis kendini kapatacaktır.
failed with status 80072030.
Bu durumda öncelikle Active Directory’niz 2008R2 ve üstü ise Recycle Bin’den değil ise Microsoft tool’u olan AdRestore ile geri dönülmesi gerekmektedir.
Portalımızda Mesut Aladağ hocamız aşağıda linkini verdiğim makalelerde AD Recycle Bin’den nasıl silinen objelerin geri getirildiğini anlattığı için burada tekrarlamamak için anlatmayacağım.
Server 2008 R2 için:
Server 2012 için:
AD üzerinde silinen objelerin geri getirilmesi sonrasında objeler disable olarak görülmektedir. Obje üzerinde sağ tıklayıp “Enable Account” yaparak objeyi aktif edin.
Silinen computer objesi AD üzerinde aktif ve erişilebilir yapıldıktan sonra Failover Cluster Manager Tools üzerinden sorunlu name üzerinde sağ tıklayıp More Action altındaki repair denilerek işlem gerçekleştirilir.
Bu sorunun yaşanmaması için yani yanlışlıkla Cluster’a ait AD obje ve hesapların silinmemesi için muhakkak ayrı OU oluşturulup bu objeler buraya taşınmalı arkasından da bu OU üzerinde objenin silinmesini engellemek için OU Properties ‘inde Object tabı altındaki “Protect object from accidental deletion” işaretlenmeli
7) Eğer yanlışlıkla Cluster Resource’ü silinirse:
Server 2008 / 2008R2’de Service and Application, Server 2012 / 2012R2’de Roles tabı altında görülen Cluster yaptığınız servisleri bilerek / bilmeyerek sildiğinizi veya aktif node üzerindeki register’dan HKEY_LOCAL_MACHINE\Cluster\Groups altındaki keylerden birini / bir kaçını silerse ancak daha önceden alınmış Bare Metal Recovery yedeğiniz varsa tüm yetkileriyle birlikte geri getirebilirsiniz.
İkinci madde de Windows Server Backup ile BMR yedeği alınan sunucunun nasıl dönüleceği gösterilmiştir. Aktif Node üzerinde Run As Administrator olarak çalıştırılan komut satırına aşağıdaki komutları giriniz.
Wbadmin get versions
Wbadmin get items –version:<version> –backuptarget:<target>: -itemtype:app -items:cluster
Komutunu çalıştırdığınızda Cluster database’ini restore edeceğiniz için onayınızı almak için bu mesaj gelmektedir. Buna Y diyerek devam ediniz.
Bu işlemden sonra tüm Node’larda cluster servisini start edin.