Küme ve havuz çekirdeğini anlama

Şunlar için geçerlidir: Azure Stack HCI, sürüm 21H2 ve 20H2; Windows Server 2022, Windows Server

Windows Sunucusu 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. Kaynakları barındıran düğümler çalışır durumdaysa bu kaynaklar yüksek oranda kullanılabilir olarak kabul edilir; Ancak küme genellikle düğümlerin yarısından fazlasının çalıştırılmasını gerektirir ve bu da çekirdek olması olarak bilinir.

Çekirdek, ağda bir bölüm olduğunda ve düğümlerin alt kümeleri birbiriyle iletişim kuramadığında 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 ve aynı diske yazmaya çalışmalarına neden olabilir ve bu da çok sayıda soruna yol açabilir. Ancak bu durum Yük Devretme Kümelemesi'nin bu düğüm gruplarından yalnızca birini çalışmaya devam etmeye zorlayan çekirdek kavramıyla engellenir, 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şimle ilgili bir 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 kurabildiğinde, 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 (örn. 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ılmak üzere tasarlanmıştır; bu nedenle farklı bir çekirdek mekanizmasına sahiptirler.

Küme çekirdeğine genel bakış

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ünden 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 Yes Hayır
4 Yes Yes 50/50
4 + Tanık Yes Yes Yes
5 ve üzeri Yes Yes Yes

Küme çekirdeği önerileri

  • İki düğüme sahipseniz 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.
  • Başka makineler ve dosya paylaşımlarıyla bir BT ortamındaysanız, dosya paylaşımı tanığı kullanın.

Küme çekirdeği nasıl çalışır?

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ümelere ne olacak?

Kümenin toplam oy sayısını garip hale getirmesinin iki yolu vardır:

  1. İlk olarak, fazladan oy veren bir tanık ekleyerek bir taneyukarı çıkabiliyor. Bunun için kullanıcı kurulumu gerekir.
  2. Alternatif olarak, bir şanssız düğümün oylarını sıfırlayarak bir alta inebilir (gerektiğinde otomatik olarak gerçekleşir).

Hayatta kalan düğümler başarılı bir şekilde çoğunluğun kendilerine ait olduğunu doğrularsa, çoğunluğun tanımı yalnızca hayatta kalanlar arasında olacak şekilde güncelleştirilir. Bu, kümenin bir düğümü, bir diğerini, sonra da başka bir düğümü vb. kaybetmesine olanak tanır. Ardışık hatalardan sonra uyum sağlayan toplam oy sayısı kavramı Dinamik çekirdek olarak bilinir.

Dinamik tanık

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 oyu kullanıp kullanmamaya karar verir.

Dinamik çekirdek, aşağıda açıklanan şekilde dinamik tanıkla birlikte çalışır.

Dinamik çekirdek davranışı

  • Ç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, bu nedenle toplam oy sayısı üç olur ve oy kullanan iki kurtulan ç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 tektir.
  • 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 (ayakta son adam 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.

Diagram showing four cluster nodes, each of which gets a vote

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.

Diagram showing four cluster nodes, with nodes failing one at a time, and the number of required votes adjusting after each failure.

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.

Örnekler

Tanıksız iki düğüm

Bir düğümün oyu sıfırlanır, bu nedenle toplam1 oydan çoğunluk oyu belirlenir. Oylama dışı 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 önem taşır.

Quorum explained in the case with two nodes without a witness

  • Bir sunucu hatasından kurtulabilir: Yüzde elli şans.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Hayır.
  • Aynı anda iki sunucu hatasından kurtulabilir: Hayır.

Tanıklı iki düğüm

Her iki düğüm de oy ve tanık oyları, dolayısıyla toplam3 oydan çoğunluğun belirlenmesine neden olur. Düğümlerden biri kapanırsa, kurtulan 2/3'e sahip olur ve küme hayatta kalır.

Quorum explained in the case with two nodes with a witness

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Hayır.
  • Aynı anda iki sunucu hatasından kurtulabilir: Hayır.

Tanıksız üç düğüm

Tüm düğümler oy kullanır, bu nedenle toplam 3 oy içinde çoğunluk belirlenir. Herhangi bir düğüm kapanı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.

Quorum explained in the case with three nodes without a witness

  • 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.

Tanıklı üç düğüm

Tüm düğümler oy kullanır, böylece tanık başlangıçta oy vermez. Toplam 3 oy içinde çoğunlukbelirleniyor. Bir hatadan sonra kümenin tanıklı iki düğümü vardır ve bu da Senaryo 2'ye geri döner. Şimdi iki düğüm ve tanık oy verdi.

Quorum explained in the case with three nodes with a witness

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Evet.
  • Aynı anda iki sunucu hatasından kurtulabilir: Hayır.

Tanıksız dört düğüm

Bir düğümün oyu sıfırlanır, bu nedenle toplam 3 oydançoğunluğu belirlenir. Bir hatadan sonra küme üç düğüme dönüşür ve Senaryo 3'tesiniz.

Quorum explained in the case with four nodes without a witness

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Evet.
  • Aynı anda iki sunucu hatasından kurtulabilir: Yüzde elli şans.

Tanıklı dört düğüm

Tüm düğümler oy kullanır ve tanık oylar, bu nedenle toplam5 oy içinde çoğunluk belirlenir. Bir hatadan sonra Senaryo 4'tesiniz. İki eşzamanlı hatadan sonra Senaryo 2'ye atlarsınız.

Quorum explained in the case with four nodes with a witness

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Evet.
  • aynı anda iki sunucu hatasından kurtulabilir: Evet.

Beş düğüm ve ötesi

Tüm düğümler oy verir veya tek bir oy dışında toplam tek sayıya neden olur. Depolama Alanları Doğrudan zaten ikiden fazla düğümü işleyemez, bu nedenle bu noktada hiçbir tanık gerekli veya yararlı değildir.

Quorum explained in the case with five nodes and beyond

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından 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 göz atalım.

Çekirdek tanığı türleri

Yük Devretme Kümelemesi üç çekirdek tanığı türünü destekler:

  • Bulut Tanığı - Azure'da blob depolamaya kümenin tüm düğümleri tarafından erişilebilir. Kümeleme bilgilerini 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 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 ile desteklenmez.

Havuz çekirdeğine genel bakış

Küme düzeyinde çalışan küme çekirdeğinden bahsettik. Şimdi havuz düzeyinde çalışan havuz çekirdeğine göz atalım (örn. 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ılmak üzere 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ış sunun:

Sunucu düğümleri Bir sunucu düğümü hatasından kurtulabilir Bir sunucu düğümü hatasından sonra başka bir sunucu düğümünden kurtulabilir İki eşzamanlı sunucu düğümü hatasından kurtulabilir
2 Hayır 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 Yes Yes
5 ve üzeri Yes Yes Yes

Havuz çekirdeği nasıl çalışır?

Sürücüler başarısız olduğunda veya sürücülerin bir alt kümesi başka bir alt kümeyle bağlantıyı kaybettiğinde, hayatta kalan sürücülerin çevrimiçi kalmak için havuzun çoğunluğunu oluşturduklarını doğrulaması gerekir. Bunu doğrulayamazlarsa çevrimdışı olur. Havuz, çevrimdışı olan veya çekirdek için yeterli diske sahip olup olmadığına bağlı olarak çevrimiçi kalan varlıktır (%50 + 1). Havuz kaynağı sahibi (etkin küme düğümü) +1 olabilir.

Ancak havuz çekirdeği aşağıdaki yollarla küme çekirdeğinden farklı çalışır:

  • havuz, sürücülerin yarısının kaybolduğundan (havuz kaynağı sahibi olan bu düğüm) hayatta kalmak için kümedeki bir düğümü bağlama kesici olarak tanık olarak kullanır
  • havuzda dinamik çekirdek YOK
  • havuz, oy kaldırma işleminin kendi sürümünü UYGULAMAZ

Örnekler

Simetrik düzene sahip dört düğüm

16 sürücüden her birinin bir oyu ve iki numaralı düğümün de bir oyu vardır (havuz kaynağı sahibi olduğundan). Toplam 16 oy içinde çoğunluk belirleniyor. Üç ve dört düğümler kapanırsa, hayatta kalan alt kümede 8 sürücü ve havuz kaynağı sahibi vardır ve bu da 16/9 oy olur. Yani havuz hayatta kalıyor.

Pool Quorum 1

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Evet.
  • aynı anda iki sunucu hatasından kurtulabilir: Evet.

Simetrik düzen ve sürücü hatası olan dört düğüm

16 sürücüden her birinin bir oyu ve 2. düğümün de bir oyu vardır (havuz kaynağı sahibi olduğundan). Toplam 16 oy içinde çoğunluk belirleniyor. İlk olarak, 7. Üç ve dört düğümler kapanırsa, hayatta kalan alt küme 7 sürücüye ve havuz kaynağı sahibine (8/16 oy) sahip olur. Bu nedenle havuzun çoğunluğu yok ve aşağı iniyor.

Pool Quorum 2

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Hayır.
  • Aynı anda iki sunucu hatasından kurtulabilir: Hayır.

Simetrik olmayan düzene sahip dört düğüm

24 sürücüden her birinin bir oyu ve iki numaralı düğümün de bir oyu vardır (havuz kaynağı sahibi olduğundan). Toplam 24 oy içinde çoğunluk belirleniyor. Üç ve dört düğüm kapanırsa, hayatta kalan alt kümede 8 sürücü ve havuz kaynağı sahibi vardır ve bu da 9/24 oy olur. Bu nedenle havuzun çoğunluğu yok ve aşağı iniyor.

Pool Quorum 3

  • Bir sunucu hatasından kurtulabilir: Evet.
  • Bir sunucu hatasından sonra başka bir sunucu hatasından kurtulabilir: Bağımlı ( hem üç hem de dört düğüm kapanırsa hayatta kalamaz, ancak diğer tüm senaryolarda hayatta kalabilir.
  • aynı anda iki sunucu hatasından kurtulabilir: Bağımlı ( hem üç hem de dört düğüm kapanırsa hayatta kalamaz, ancak diğer tüm senaryolarda hayatta kalabilir.

Havuz çekirdeği önerileri

  • Kümenizdeki her düğümün simetrik olduğundan emin olun (her düğüm aynı sayıda sürücüye sahiptir)
  • Düğüm hataları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 duruma gelebilir. 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.

Sonraki adımlar

Daha fazla bilgi için, aşağıdakilere bakın: