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

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. 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 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 engellenir 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şimle ilgili bir sorun olduğunda, birden çok sunucunun aynı anda bir kaynak grubunu barındırmaya ve aynı diske yazmaya çalışmaması için senaryoyu işlemek üzere tasarlanmıştır. 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 (ö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 No
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ü, sonra başka bir düğümü ve başka bir düğümü 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. Eğer ç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.

Her biri oy alan dört küme düğümünün gösterildiği diyagram.

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.

Düğümlerin birer birer başarısız olduğu dört küme düğümünün ve her hatadan sonra ayarlanan gerekli oyların sayısını gösteren diyagram.

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 öneme sahiptir.

Çekirdek, olayda tanığı olmayan iki düğümle açıklanmıştır.

  • 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 oyu kullanır, bu nedenle toplam 3 oy içinde çoğunluk belirlenir. Düğümlerden biri kapanırsa, kurtulan 2/3'e sahip olur ve küme hayatta kalır.

Çekirdek, olayda tanıklı iki düğümle açıklanmıştır.

  • 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 çoğunluk toplam 3 oydan belirlenir. Herhangi bir düğüm kapanırsa, kurtulanlar 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.

Çekirdek, olayda tanığı olmayan üç düğümle açıklanmıştır.

  • 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 oydan çoğunluk belirlendi. Bir hatadan sonra kümenin tanıklı iki düğümü vardır ve bu düğüm Senaryo 2'ye geri döner. Şimdi iki düğüm ve tanık oy kullanıyor.

Çekirdek, olayda tanıklı üç düğümle açıklanmıştır.

  • 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ğunluk belirlenir. Bir hatadan sonra küme üç düğüme dönüşür ve senaryo 3'tesiniz.

Çekirdek, olayda tanığı olmayan dört düğümle açıklanmıştır.

  • 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 ve tanık oyu, bu nedenle çoğunluk toplam 5 oydan belirlenir. Bir hatadan sonra Senaryo 4'tesiniz. İki eşzamanlı hatadan sonra Senaryo 2'ye atlarsınız.

Çekirdek, olayda tanıklı dört düğümle açıklanmıştır.

  • 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 bir oy dışında tüm düğümler toplam tek sayıya neden olur. Depolama Alanları Doğrudan ikiden fazla düğümü işleyemezsiniz, bu nedenle bu noktada hiçbir tanık gerekli veya yararlı değildir.

Çekirdek, beş düğüm ve ötesindeki örnekte açıklanmıştır.

  • 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 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 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 (ö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ılmak üzere tasarlanmıştır. Bu nedenle farklı bir çekirdek mekanizmasına sahiptir.

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 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 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 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şturduğunu doğrulaması gerekir. Bunu doğrulayamazlarsa çevrimdışı olur. Havuz, çekirdek için yeterli diske sahip olup olmadığına bağlı olarak çevrimdışı olan veya çevrimiçi kalan varlıktır (%50 + 1). 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ğlamaları 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

Örnekler

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

16 sürücüden her birinde bir oy ve düğüm ikisinde de bir oy vardır (havuz kaynağı sahibi olduğu için). Toplam 16 oydan çoğunluk belirlendi. Üç 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 oydur. Yani havuz hayatta kalıyor.

Havuz Çekirdeği 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 düğüm 2'nin de bir oyu vardır (havuz kaynağı sahibi olduğu için). Toplam 16 oydan çoğunluk belirlendi. İlk olarak, 7. Üç ve dört düğüm kapanırsa, kalan alt kümede 7 sürücü ve havuz kaynağı sahibi vardır ve bu da 16/8 oydur. Bu nedenle, havuz çoğunluk sahibi değil ve batıyor.

Havuz Çekirdeği 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.

Havuz çekirdeği önerileri

  • Kümenizdeki her düğümün simetrik olduğundan emin olun (her düğümde aynı sayıda sürücü vardır)
  • İ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ışı duruma getirilir ve kullanılamaz. Birimdeki tüm veriler için en fazla dayanıklılığı sağlamak için sunucuları geri getirmeniz veya diskleri hızla değiştirmeniz önerilir.

Sonraki adımlar