Windows Server Cluster ve 0.Cluster Registry Hives
Bir Windows Server Cluster ortamında, cluster veritabanı (cluster database), cluster konfigürasyonunun saklandığı yerdir. Bu veritabanı, CLUSDB adlı bir dosyadan ve bazı yardımcı dosyalardan (CLUSDB.1.container, CLUSDB.2.container, CLUSDB.blf) oluşur ve bu dosyalar C:\Windows\Cluster dizininde bulunur.
Cluster Register Hive
Cluster veritabanı aynı zamanda, cluster hizmeti başlatıldığında yüklenen bir registry hive olarak da saklanır. Bu hive’e HKEY_LOCAL_MACHINE altında Cluster adıyla ulaşabilirsin. Ayrıca, bazen cluster node’larından birinde 0.Cluster adıyla bir hive daha bulunabilir. Bu hive, genellikle disk witness sahibi olan node’da yer alır. Eğer cloud share ya da file share witness kullanıyorsan, bu hive hiçbir node’da yer almayacaktır. Aynı şekilde, eğer hiçbir witness yoksa da bu hive bulunmaz.
Test ortamında cluster hizmetini durdurduğunda, bu kayıt hive’lerini ortadan kalktığını gözlemleyebilirsin. Cluster hizmetini tekrar başlattığında Cluster hive geri gelir, ancak 0.Cluster hive yalnızca disk witness sahibi olan node’da yüklenir.
Eğer Cluster veya 0.Cluster hiveleri açık bırakıp başka bir anahtara geçersen, bu hivelere erişilemediğine dair hata alabilirsin. Ancak bu hata, cluster hizmetinin durdurulmasını engellemez. F5 tuşuna basıp sayfayı yenilediğinde, hive gerçekten kaybolduğunu görebilirsin.
Cluster Veritabanı Nasıl Senkronize Edilir ve Tutarlılığı Nasıl Sağlanır?
Cluster kayıt defterinin birden fazla yerde bulunduğunu ve düğümler (nodes) arasında replikasyon yapıldığını bilmek önemli. Bu replikasyon, cluster’ın sağlıklı çalışması için hayati önem taşır ve müdahale edilmemelidir. Cluster anahtarı altında PaxosTag adı verilen bir DWORD değeri bulabilirsin. Bu değer, veritabanındaki herhangi bir değişikliği izler ve cluster veritabanının düğümler arasında tutarlılığını sağlar.
Örneğin, Live Migration ayarlarında bazı değişiklikler yaparsan, PaxosTag’in değiştiğini fark edebilirsiniz. Bu, tüm nodelar de aynı şekilde gerçekleşir.
Disk witness’e sahip olan node’da ayrıca 0.Cluster hive’i bulunur ve bu hive witness diskindeki cluster veritabanı kopyasından yüklenir.
Disk Witness ile Diğer Witness Türleri Arasındaki Fark Nedir?
Disk witness ile file share veya cloud witness arasında küçük bir fark vardır. File share veya cloud witness, veritabanının bir kopyasını saklamaz. Bu nedenle, bu tür witness’lerde 0.Cluster hive bulunmaz. File share’de GUID adlı klasör ve bazı dosyalar bulunur. Cloud witness’de ise bir ClusterInstanceID ile adlandırılmış bir dosyalar vardır. Bu bilgiler, hangi node da son değişikliğin yapıldığını belirlemek için kullanılır. Bu fark önemlidir çünkü disk witness, bazı senaryolarda diğer witness türlerine göre küçük bir avantaj sunar. Windows 2008’den önce quorum drive olarak adlandırılan bir disk vardı ve bu disk her zaman veritabanının en güncel kopyasını tutardı. Ancak, bu yapı bir hata noktası yaratıyordu. PaxosTag sayesinde, artık her düğüm ve disk witness en güncel kopyaya sahip. Bir cluster başlatıldığında, ilk node PaxosTag’ini disk witness ile karşılaştırır ve daha güncel olan kopya kullanılır.
Disk witness, bazı durumlarda cluster’ın çalışmaya devam etmesi için küçük bir avantaj sağlayabilir. Ancak, stretched cluster gibi senaryolarda uygun olmayabilir. Bu nedenle diğer witness seçenekleri de mevcuttur.
Uyarılar!
Cluster veritabanı, hem node da hem dosya hem de kayıt defteri olarak birden fazla yerde bulunur. Cluster ve 0.Cluster hive lere müdahale etmek son derece tehlikelidir. Bu şekilde cluster objelerini temizlemeye çalışmak, replikasyon sürecini bozarak cluster’ı tamamen işlevsiz hale getirebilir. Bu hatalar şu sorunlara yol açabilir:
- Bir sanal makineyi taşımak veya başlatmak mümkün olmayabilir.
- Cluster’a yeni bir node ekleyemezsin.
- En kötüsü, sunucuyu yeniden başlattığında cluster hizmeti başlamaz ve düğüm tamamen devre dışı kalabilir.
Bu tür hatalardan kaçınmak için cluster kayıt defterinde herhangi bir değişiklik yapmaktan kaçınılmalıdır. Yedekleme yoksa, böyle bir sorundan kurtulmak neredeyse imkansızdır.