Küme ve havuz çekirdeğini anlama

Windows Server Yük Devretme Kümelemesi , Azure Yerel 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.

Quorum, kümenin çevrimiçi kalmaya devam ederken sürdürebileceği hata sayısını belirler. Quorum, birden fazla sunucunun aynı anda bir kaynak grubunu barındırmaya ve aynı diske yazmaya çalışmasını önlemek için, küme düğümlerinin alt kümeleri arasındaki iletişimde sorun olduğunda durumu yönetmek amacıyla 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 Local 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.

Küme quorumuna genel bakış

Aşağıdaki tabloda, senaryo başına küme quorum sonuçlarına genel bir bakış verilmektedir.

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 No No
2 + Tanık Yes No No
3 Yes 50/50 No
3 + Tanık Yes Yes No
4 Yes Yes 50/50
4 + Tanık Yes Yes Yes
5 ve üzeri Yes Yes Yes

Küme çoğunluk önerileri

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

Küme çoğunluğu 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ümeler ne olacak?

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

  1. İlk olarak, ek oy ile bir tanık ekleyerek bir tane yukarı çıkabiliyor. Bunun için kullanıcı kurulumu gerekir.
  2. 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 kuorum olarak bilinir.

Dinamik tanık

Dinamik tanık, toplam oy sayısının tek olmasını sağlamak için tanığın oyunu değiştirir. 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 kvorum, dinamik tanık nesnesiyle aşağıda belirtildiği şekilde çalışır.

Dinamik oy birliği 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, 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 kvorum, oyların çoğunluğunun kaybedilmesini önlemek ve kümenin son kalan node ile çalışmasına olanak tanımak için bir düğüme oy dinamik olarak atama yeteneği sağlar. Örnek olarak dört düğümlü bir kümeyi ele alalım. Çoğunluk için 3 oy gerektiğ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 kvorum bunun olmasını engeller. Çoğunluk için gereken toplam oy sayısı, artık kullanılabilir düğüm sayısına göre belirlenmektedir. Bu nedenle, dinamik kvorum ile üç düğüm kaybetseniz bile küme çalışmaya devam eder.

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

Yukarıdaki senaryo, Depolama Alanları Doğrudan etkin olmayan 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.

Examples

Tanıksız iki düğüm

Bir düğümün oyu sıfırlandığından , toplam1 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.

Tanığı olmayan iki düğümle nitelikli çoğunluk açıklanmıştır.

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

Tanığı olan iki düğüm

Her iki düğüm de oy ve tanık oyları, dolayısıyla toplam3 oydan çoğunluğun belirlenmesini sağlar. İki düğümden biri çalışmayı durdurursa, sağ kalan 2/3'üne 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 hatadan kurtulabilir: Hayır.
  • Aynı anda iki sunucu hatasından kurtulabilir: Hayır.

Tanığı olmayan üç düğüm

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.

Ç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ığı olan üç 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ümede tanıkla birlikte iki düğüm bulunur ve bu, Senaryo 2'ye geri dönüş yapar. Şimdi iki düğüm ve tanık oy veriyor.

Üç düğüm ve bir tanık ile yapılan durumda çoğunluk açıklandı.

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

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

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.

Tanıksız dört düğümlü durumda çoğunluk açıklandı.

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

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

Tüm düğümler oy kullanır ve tanık oylar, bu nedenle toplam5 oydan çoğunluğun belirlenmesine neden olur. Bir hatadan sonra Senaryo 4'tesiniz. İki eşzamanlı hatadan sonra Senaryo 2'ye atlarsınız.

Yeter sayı, tanıklı dört düğümle birlikte durumda açıklanmaktadı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.

Beş düğüm ve ötesi

Tüm düğümler oy verir veya bir tanesi hariç hepsi oy verir, toplamı tek sayı yapan her ne ise. Storage Spaces Direct zaten ikiden fazla düğümün devre dışı kalmasına dayanamaz, bu nedenle bu noktada tanık gerekmez veya yararlı olmaz.

Beş düğüm ve üzeri durumlarda quorum açıklanmıştı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.

Nisabın nasıl çalıştığını anladığımıza göre, nisap tanıklarının türlerine bakalım.

Yeter sayı tanık türleri

Yük devretme kümeleme üç kuorum 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 çoğunluğuna genel bakış

Küme düzeyinde çalışan küme çoğunluğundan 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 No No
2 + Tanık Yes No No
3 Yes No No
3 + Tanık Yes No No
4 Yes No No
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şturduklarını doğrulaması gerekir. Bunu doğrulayamazlarsa çevrimdışı olur. Havuz, karar yeter sayısı için yeterli diske (50% + 1) sahip olup olmamasına bağlı olarak çevrimdışı olan veya çevrimiçi kalan varlıktır. Kümenin kendisi nisaplı 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 kvorum yok
  • Havuz, oy kaldırma işleminin kendi sürümünü uygulamaz

Examples

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

16 sürücüden her birinin bir oyu vardır ve düğüm 2'nin de bir oyu vardır (çünkü havuz kaynağının sahibidir). Toplam 16 oyda çoğunluk belirlendi. Üç ve dört düğümler kapanırsa, hayatta kalan alt kümede 8 sürücü ve 9/16 oy olan havuz kaynak sahibi bulunur. Havuz hayatta kalır.

Havuz Çoğunluğu 1.

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

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

16 sürücünün her birinin bir oyu ve düğüm 2'nin de bir oyu vardır (çünkü o, havuz kaynağı sahibidir). Toplam 16 oyda çoğunluk belirlendi. İlk olarak, 7. sürüş aşağı iner. Üç ve dört numaralı düğümler kapanırsa, hayatta kalan alt kümede 7 sürücü ve havuz kaynağı sahibi 8/16 oy olur. Bu nedenle havuzda çoğunluk yok ve azalıyor.

Havuz Nitelikli Çoğunluk 2.

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

Havuz nisabı önerileri

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

Sonraki Adımlar