Küme ve havuz çekirdeğini anlama
Şunlar için geçerlidir: Azure Stack HCI, sürüm 22H2 ve 21H2; Windows Server 2022, Windows Server
Önemli
Azure Stack HCI artık Azure Yerel'in bir parçasıdır. Ürün belgelerini yeniden adlandırma işlemi devam ediyor. Ancak Azure Stack HCI'nin eski sürümleri, örneğin 22H2, Azure Stack HCI'ye başvurmaya devam eder ve ad değişikliğini yansıtmaz. Daha fazla bilgi edinin.
Windows Server Yük Devretme Kümelemesi , Azure Stack HCI ve Windows Server kümelerinde çalışan iş yükleri için yüksek kullanılabilirlik sağlar. Bu kaynaklar, kaynakları barındıran düğümler çalışır durumdaysa yüksek oranda kullanılabilir olarak kabul edilir; ancak küme genellikle çekirdek olarak bilinen düğümlerin yarısından fazlasının çalıştırılmasını gerektirir.
Çekirdek, ağda bir bölüm olduğunda ve düğümlerin alt kümeleri birbiriyle iletişim kuramayınca gerçekleşebilecek bölünmüş beyin senaryolarını önlemek için tasarlanmıştır. Bu, her iki düğüm alt kümesinin de iş yüküne sahip olmaya çalışmalarına ve aynı diske yazmalarına neden olabilir ve bu da çok sayıda soruna yol açabilir. Ancak bu durum Yük Devretme Kümelemesi'nin çekirdek kavramıyla önlenir ve bu da bu düğüm gruplarından yalnızca birini çalışmaya devam etmeye zorlar ve bu nedenle bu gruplardan yalnızca biri çevrimiçi kalır.
Çekirdek, kümenin çevrimiçi kalırken sürdürebileceği hata sayısını belirler. Çekirdek, küme düğümlerinin alt kümeleri arasındaki iletişimde sorun olduğunda senaryoyu işleyecek şekilde tasarlanmıştır, böylece birden çok sunucu aynı anda bir kaynak grubunu barındırmaya ve aynı diske aynı anda yazmaya çalışmaz. Bu çekirdek kavramına sahip olan küme, belirli bir kaynak grubunun yalnızca bir gerçek sahibi olduğundan emin olmak için küme hizmetini düğüm alt kümelerinden birinde durmaya zorlar. Durdurulan düğümler bir kez daha ana düğüm grubuyla iletişim kurabilir ve kümeye otomatik olarak yeniden katılır ve küme hizmetini başlatır.
Azure Stack HCI ve Windows Server 2019'da, sistemin kendi çekirdek mekanizmalarına sahip iki bileşeni vardır:
- Küme Çekirdeği: Bu işlem küme düzeyinde çalışır (örneğin düğümleri kaybedebilir ve kümenin çalışır durumda kalmasını sağlayabilirsiniz)
- Havuz Çekirdeği: Bu, havuz düzeyinde çalışır (örneğin düğümleri ve sürücüleri kaybedebilir ve havuzun çalışır durumda kalmasını sağlayabilirsiniz). Depolama havuzları hem kümelenmiş hem de kümelenmemiş senaryolarda kullanılacak şekilde tasarlanmıştır. Bu nedenle farklı bir çekirdek mekanizmasına sahiptirler.
Aşağıdaki tabloda, senaryo başına küme çekirdeği sonuçlarına genel bir bakış sağlanır:
Sunucu düğümleri | Bir sunucu düğümü hatasından kurtulabilir | Bir sunucu düğümü hatasından sonra başka bir sunucu düğümü hatasından kurtulabilir | İki eşzamanlı sunucu düğümü hatasından kurtulabilir |
---|---|---|---|
2 | 50/50 | Hayır | Hayır |
2 + Tanık | Yes | Hayır | Hayır |
3 | Yes | 50/50 | Hayır |
3 + Tanık | Yes | Evet | Hayır |
4 | Yes | Yes | 50/50 |
4 + Tanık | Yes | Evet | Yes |
5 ve üzeri | Yes | Evet | Yes |
- İki düğümleriniz varsa, bir tanık gereklidir.
- Üç veya dört düğüme sahipseniz, tanık kesinlikle önerilir.
- Beş veya daha fazla düğüme sahipseniz bir tanık gerekmez ve ek dayanıklılık sağlamaz.
- İnternet erişiminiz varsa bir bulut tanığı kullanın.
- Diğer makineler ve dosya paylaşımlarıyla bir BT ortamındaysanız, dosya paylaşımı tanığı kullanın.
Düğümler başarısız olduğunda veya düğümlerin bir alt kümesi başka bir alt kümeyle bağlantıyı kaybettiğinde, hayatta kalan düğümlerin çevrimiçi kalmak için kümenin çoğunluğunu oluşturduklarını doğrulaması gerekir. Bunu doğrulayamazlarsa çevrimdışı olur.
Ancak çoğunluk kavramı yalnızca kümedeki toplam düğüm sayısı tek olduğunda (örneğin, beş düğüm kümesindeki üç düğüm) düzgün çalışır. Peki çift sayıda düğüme (örneğin, dört düğümlü küme) sahip kümeler ne olacak?
Kümenin toplam oy sayısını garip hale getirmesinin iki yolu vardır:
- İlk olarak, ek oy ile bir tanık ekleyerek bir tane yukarı çıkabiliyor. Bunun için kullanıcı kurulumu gerekir.
- Alternatif olarak, bir şanssız düğümün oyu sıfırlanarak bir alta inebilir (gerektiğinde otomatik olarak gerçekleşir).
Hayatta kalan düğümler çoğunluğun kendileri olduğunu başarıyla doğrularsa, çoğunluğun tanımı yalnızca hayatta kalanlar arasında olacak şekilde güncelleştirilir. Bu, kümenin bir düğümü, sonra başka bir düğümü ve başka bir düğümü kaybetmesini sağlar. Ardışık hatalardan sonra uyarlanan toplam oy sayısı kavramı Dinamik çekirdek olarak bilinir.
Dinamik tanık, toplam oy sayısının tek olduğundan emin olmak için tanığın oyu arasında geçiş yapar . Tek sayıda oy varsa tanığın oyu yoktur. Çift sayıda oy varsa tanığın oyu vardır. Dinamik tanık, tanık hatası nedeniyle kümenin kapanma riskini önemli ölçüde azaltır. Küme, kümede kullanılabilir olan oylama düğümlerinin sayısına göre tanık oylamasının kullanılıp kullanılmayeceğine karar verir.
Dinamik çekirdek, dinamik tanıkla aşağıda açıklanan şekilde çalışır.
- Çift sayıda düğüme sahipseniz ve tanık yoksa, bir düğüm oylarını sıfırlar. Örneğin, dört düğümden yalnızca üçü oy alır, dolayısıyla toplam oy sayısı üç olur ve oy kullanan iki sağ kalan çoğunluk olarak kabul edilir.
- Tek sayıda düğüme sahipseniz ve tanık yoksa, hepsi oy alır.
- Çift sayıda düğüm ve tanık varsa, tanık oy verir, bu nedenle toplam tek olur.
- Tek sayıda düğüm ve tanık varsa, tanık oy vermez.
Dinamik çekirdek, oyların çoğunluğunu kaybetmemek ve kümenin bir düğümle (son kalan kişi olarak bilinir) çalışmasına izin vermek için düğüme dinamik olarak oy atama olanağı sağlar. Örnek olarak dört düğümlü bir kümeyi ele alalım. Çekirdeğin 3 oy gerektirdiğini varsayalım.
Bu durumda, iki düğümü kaybederseniz küme çökerdi.
Ancak, dinamik çekirdek bunun olmasını engeller. Çekirdek için gereken toplam oy sayısı artık kullanılabilir düğüm sayısına göre belirlenir. Bu nedenle, dinamik çekirdek ile üç düğüm kaybetseniz bile küme çalışır durumda kalır.
Yukarıdaki senaryo, Depolama Alanları Doğrudan etkinleştirilmemiş genel bir küme için geçerlidir. Ancak Depolama Alanları Doğrudan etkinleştirildiğinde küme yalnızca iki düğüm hatasını destekleyebilir. Bu, havuz çekirdeği bölümünde daha fazla açıklanmıştır.
Bir düğümün oyu sıfırlandığından, toplam 1 oydan çoğunluk oyu belirlenir. Oy kullanmayan düğüm beklenmedik şekilde kapanırsa, kurtulan 1/1'e sahip olur ve küme hayatta kalır. Oylama düğümü beklenmedik şekilde kapanırsa, kurtulan 0/1'e sahip olur ve küme kapanır. Oylama düğümü düzgün bir şekilde kapatılırsa, oy diğer düğüme aktarılır ve küme devam eder. Bu nedenle bir tanığın yapılandırılması kritik öneme sahiptir.
- Bir sunucu hatasından kurtulabilir: Yüzde elli şans.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Hayır.
- Aynı anda iki sunucu hatasından kurtulabilir: Hayır.
Her iki düğüm de oy ve tanık oyları, dolayısıyla toplam 3 oydan çoğunluğun belirlenmesini sağlar. İki düğümden biri kapanırsa, kurtulan 2/3'e sahip olur ve küme hayatta kalır.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Hayır.
- Aynı anda iki sunucu hatasından kurtulabilir: Hayır.
Tüm düğümler oy kullanır, bu nedenle çoğunluk toplam 3 oydan belirlenir. Herhangi bir düğüm devre dışı kalırsa, hayatta kalanlar 3/2 olur ve küme hayatta kalır. Küme, tanıksız iki düğüme dönüşür; bu noktada Senaryo 1'desiniz.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra diğerinden kurtulabilir: Yüzde elli şans.
- Aynı anda iki sunucu hatasından kurtulabilir: Hayır.
Tüm düğümler oy kullanır, böylece tanık başlangıçta oy vermez. Toplam 3 oydan çoğunluk belirlendi. Bir hatadan sonra kümenin tanıklı iki düğümü vardır ve senaryo 2'ye geri döner. Şimdi iki düğüm ve tanık oy verdi.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Evet.
- Aynı anda iki sunucu hatasından kurtulabilir: Hayır.
Bir düğümün oyu sıfırlandığından , toplam 3 oydan çoğunluğun belirlenmesi gerekir. Bir hatadan sonra küme üç düğüme dönüşür ve Senaryo 3'tesiniz.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Evet.
- Aynı anda iki sunucu hatasından kurtulabilir: Yüzde elli şans.
Tüm düğümler oy kullanır ve tanık oylar, bu nedenle toplam 5 oydan çoğunluğun belirlenmesine neden olur. Bir hatadan sonra Senaryo 4'tesiniz. İki eşzamanlı hatadan sonra Senaryo 2'ye atlarsınız.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Evet.
- Aynı anda iki sunucu hatasından kurtulabilir: Evet.
Tüm düğümler oy verir veya bir oy dışında toplam tek sayıya neden olur. Depolama Alanları Doğrudan ikiden fazla düğümü işleyemez, bu nedenle bu noktada tanık gerekmez veya yararlı olmaz.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Evet.
- Aynı anda iki sunucu hatasından kurtulabilir: Evet.
Çekirdeğin nasıl çalıştığını anladığımıza göre, çekirdek tanıklarının türlerine bakalım.
Yük Devretme Kümelemesi üç çekirdek tanığı türünü destekler:
- Bulut Tanığı - Azure'da kümenin tüm düğümleri tarafından erişilebilen blob depolama. Kümeleme bilgilerini bir witness.log dosyasında tutar, ancak küme veritabanının bir kopyasını depolamaz.
- Dosya Paylaşımı Tanığı – Windows Server çalıştıran bir dosya sunucusunda yapılandırılmış bir SMB dosya paylaşımı. Kümeleme bilgilerini bir witness.log dosyasında tutar, ancak küme veritabanının bir kopyasını depolamaz.
- Disk Tanığı - Küme Kullanılabilir Depolama grubunda yer alan küçük bir kümelenmiş disk. Bu disk yüksek oranda kullanılabilir ve düğümler arasında yük devretme yapabilir. Küme veritabanının bir kopyasını içerir. Disk Tanığı Depolama Alanları Doğrudan desteklenmez.
Küme düzeyinde çalışan küme çekirdeğinden bahsettik. Şimdi havuz düzeyinde çalışan havuz çekirdeğine göz atalım (örneğin düğümleri ve sürücüleri kaybedebilir ve havuzun çalışır durumda kalmasını sağlayabilirsiniz). Depolama havuzları hem kümelenmiş hem de kümelenmemiş senaryolarda kullanılacak şekilde tasarlanmıştır. Bu nedenle farklı bir çekirdek mekanizmasına sahiptirler.
Aşağıdaki tabloda, senaryo başına havuz çekirdeği sonuçlarına genel bir bakış verebilirsiniz:
Sunucu düğümleri | Bir sunucu düğümü hatasından kurtulabilir | Bir sunucu düğümü hatasından sonra başka bir sunucu düğümü hatasından kurtulabilir | İki eşzamanlı sunucu düğümü hatasından kurtulabilir |
---|---|---|---|
2 | Yes | Hayır | Hayır |
2 + Tanık | Yes | Hayır | Hayır |
3 | Yes | Hayır | Hayır |
3 + Tanık | Yes | Hayır | Hayır |
4 | Yes | Hayır | Hayır |
4 + Tanık | Yes | Evet | Yes |
5 ve üzeri | Yes | Evet | Yes |
Sürücüler başarısız olduğunda veya bazı sürücü alt kümeleri başka bir alt kümeyle bağlantıyı kaybettiğinde, meta verileri barındıran hayatta kalan sürücülerin, havuzun çevrimiçi kalmak için çoğunluğunu oluşturduklarını doğrulaması gerekir. Bunu doğrulayamazlarsa çevrimdışı olur. Havuz, çevrimdışı olan veya çekirdek için yeterli diske (%50 + 1) bağlı olarak çevrimiçi kalan varlıktır. Kümenin kendisi çekirdek olduğu sürece küme veritabanı +1 olabilir.
Ancak havuz çekirdeği aşağıdaki yollarla küme çekirdeğinden farklı çalışır:
- Havuz, meta verileri barındırmak için düğüm başına bir sürücü alt kümesi seçer
- Havuz, bağlarını kesmek için küme veritabanını kullanır
- Havuzda dinamik çekirdek yok
- Havuz, oy kaldırma işleminin kendi sürümünü uygulamaz
16 sürücüden her birinin bir oyu vardır ve düğüm iki de bir oya sahiptir (havuz kaynağı sahibi olduğu için). Toplam 16 oyda çoğunluk belirlendi. Üç ve dört düğümler kapanırsa, hayatta kalan alt kümede 8 sürücü ve havuz kaynağı sahibi 16/9 oy olur. Havuz hayatta kalır.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Evet.
- Aynı anda iki sunucu hatasından kurtulabilir: Evet.
16 sürücüden her birinin bir oyu ve düğüm 2'nin de bir oyu vardır (havuz kaynağı sahibi olduğundan). Toplam 16 oyda çoğunluk belirlendi. İlk olarak, 7. sürüş aşağı iner. Üç ve dört düğümler kapanırsa, hayatta kalan alt kümenin 7 sürücüsü ve havuz kaynağı sahibi 16/8 oy olur. Bu nedenle havuzun çoğunluğu yok ve batıyor.
- Bir sunucu hatasından kurtulabilir: Evet.
- Bir sunucu hatasından sonra başka bir hatadan kurtulabilir: Hayır.
- Aynı anda iki sunucu hatasından kurtulabilir: Hayır.
- Kümenizdeki her düğümün simetrik olduğundan emin olun (her düğüm aynı sayıda sürücüye sahiptir)
- İki düğüm hatasını tolere edebilmeniz ve sanal diskleri çevrimiçi tutabilmeniz için üç yönlü yansıtmayı veya çift eşliği etkinleştirin.
- İkiden fazla düğüm kapalıysa veya iki düğüm ve başka bir düğümdeki bir disk kapalıysa, birimler verilerinin üç kopyasına da erişemeyebilir ve bu nedenle çevrimdışına alınabilir ve kullanılamaz. Birimdeki tüm veriler için en yüksek dayanıklılığı sağlamak için sunucuları geri getirmeniz veya diskleri hızla değiştirmeniz önerilir.