Principy kvora clusteru a fondu

Platí pro: Azure Stack HCI, verze 21H2 a 20H2; Windows Server 2022, Windows Server 2019

Windows clustering s podporou převzetí služeb při selhání serveru poskytuje vysokou dostupnost pro úlohy běžící na clusterech Azure Stack HCI a Windows Server. Tyto prostředky se považují za vysoce dostupné, pokud jsou uzly, které jsou hostiteli prostředků, k dispozici. Cluster ale obecně vyžaduje, aby běžela více než polovina uzlů, což se označuje jako kvorum.

Kvorum je navržené tak, aby se zabránilo scénářům rozdělení mozku, ke kterým může dojít v případě, že je v síti oddíl, a podmnožiny uzlů spolu nemohou vzájemně komunikovat. To může způsobit, že se obě podmnožiny uzlů pokusí vlastnit úlohu a zapisovat na stejný disk, což může vést k mnoha problémům. Tomu se ale zabrání díky konceptu kvora clusteringu s podporou převzetí služeb při selhání, který vynutí, aby pokračovala jen jedna z těchto skupin uzlů, takže jenom jedna z těchto skupin zůstane online.

Kvorum určuje počet selhání, která může cluster při zachování online zůstat. Kvorum je navržené tak, aby scénář zvládlo v případě, že dojde k problému s komunikací mezi podmnožinou uzlů clusteru, takže se několik serverů nepokusí současně hostovat skupinu prostředků a zapisovat na stejný disk současně. Díky tomuto konceptu kvora cluster vynutí zastavení clusterové služby v jedné z podmnožiny uzlů, aby se zajistilo, že existuje pouze jeden skutečný vlastník konkrétní skupiny prostředků. Jakmile budou zastavené uzly moci znovu komunikovat s hlavní skupinou uzlů, automaticky se znovu připojí ke clusteru a spustí svou clusterovou službu.

V Azure Stack HCI a Windows Serveru 2019 existují dvě komponenty systému, které mají vlastní mechanismy kvora:

  • Kvorumclusteru: Funguje na úrovni clusteru (tj. můžete ztratit uzly a mít cluster v provozu).
  • Kvorumfondu: Funguje na úrovni fondu (tj. můžete ztratit uzly a jednotky a fond zůstane v provozu). Storage fondy byly navrženy pro použití v clusterovaných i ne clusterovaných scénářích, a proto mají jiný mechanismus kvora.

Přehled kvora clusteru

Následující tabulka poskytuje přehled výsledků kvora clusteru pro každý scénář:

Uzly serveru Dokáže přetrvat v selhání jednoho uzlu serveru. Dokáže vytrvat po selhání jednoho uzlu serveru a pak jinému. Dokáže přetrvat ve dvou souběžných selháních uzlů serveru.
2 50/50 Ne Ne
2 + witness Yes Ne Ne
3 Yes 50/50 Ne
3 + witness Yes Yes Ne
4 Yes Yes 50/50
4 + witness Yes Yes Yes
5 a vyšší Yes Yes Yes

Doporučení kvora clusteru

  • Pokud máte dva uzly, je vyžadována witness .
  • Pokud máte tři nebo čtyři uzly, důrazně sedoporučuje použít witness .
  • Pokud máte přístup k internetu, použijte cloudový witness.
  • Pokud jste v IT prostředí s jinými počítači a sdílených složek, použijte složku s sdílené složky.

Jak funguje kvorum clusteru

Pokud uzly selžou nebo když některá podmnožina uzlů ztratí kontakt s jinou podmnožinou, zbývající uzly musí ověřit, že tvoří většinu clusteru, aby zůstaly online. Pokud to neověřují, budou offline.

Koncept většiny ale funguje čistě, pouze pokud je celkový počet uzlů v clusteru lichý (například tři uzly v clusteru s pěti uzly). A co clustery s rovnoměrně několika uzly (například cluster se čtyřmi uzly)?

Existují dva způsoby, jak může cluster nastavit celkový počet hlasů lichý:

  1. Zaprvé, může se o jeden z nich posouhlasit přidáním witness s dodatečným hlasem. To vyžaduje nastavení uživatele.
  2. Nebo může jít o jeden dolů tím, že vynuluje hlas jednoho neschůdého uzlu (probíhá automaticky podle potřeby).

Kdykoli zbývající uzly úspěšně ověří, že jsou většina,aktualizuje se definice většiny tak, aby byla jen mezi přeživšími. To clusteru umožňuje ztratit jeden uzel, pak druhý, pak další a tak dále. Tento koncept celkového počtu hlasů, které se přizpůsobí po následných selháních, se označuje jako dynamické kvorum.

Dynamický disk s diskem s diskem

Dynamický disk s kopií přepíná hlas s kopii clusteru, aby se ujistil, že celkový počet hlasů je lichý. Pokud existuje lichý počet hlasů, nemá tento schůdek hlas. Pokud existuje i počet hlasů, má tento schůdek hlas. Dynamický disk s kopii clusteru významně snižuje riziko, že cluster kvůli selhání sdíleného svazku clusteru se sníží. Cluster rozhoduje, jestli se má použít hlas s podporou sdíleného svazku na základě počtu hlasujících uzlů, které jsou v clusteru k dispozici.

Dynamické kvorum funguje s dynamickým určujícím diskem způsobem popsaným níže.

Chování dynamického kvora

  • Pokud máte rovnoměrně počet uzlů a nemáte žádnou kopii clusteru, jeden uzel získá svůj hlas s nulovou hodnotou. Hlasy pomocí tří z těchto čtyř uzlů například 1. Hlasy mají tři a dva přeživší s hlasy se považují za většinu.
  • Pokud máte lichý počet uzlů a nemáte žádnou kopii clusteru, hlasuje jim všechny.
  • Pokud máte sudý počet uzlů a kopii clusteru,hlasuje sekcí , takže celkový součet je lichý.
  • Pokud máte lichý počet uzlů a kopii clusteru, nevolá tento witness.

Dynamické kvorum umožňuje dynamicky přiřadit hlas uzlu, aby se zabránilo ztrátě většiny hlasů a aby cluster spouštěl s jedním uzlem (označovaný jako poslední člověk). Jako příklad si pojďme vzít cluster se čtyřmi uzly. Předpokládejme, že kvorum vyžaduje 3 hlasy.

V takovém případě by cluster v případě ztráty dvou uzlů zmizel.

Diagram znázorňující čtyři uzly clusteru, z nichž každý získá hlas

Dynamické kvorum tomu ale zabrání. Celkový počet hlasů požadovaných pro kvorum se teď určuje na základě počtu dostupných uzlů. Díky dynamickému kvoru tak cluster zůstane v zduchování i v případě, že ztratíte tři uzly.

Diagram znázorňující čtyři uzly clusteru, kdy uzly selhávají po jednom a počet požadovaných hlasů upravených po každém selhání

Výše uvedený scénář se týká obecného clusteru, který nemá povolenou Prostory úložiště Direct. Pokud je ale Prostory úložiště povolená funkce Direct, cluster může podporovat pouze selhání dvou uzlů. To je vysvětleno více v části kvora fondu.

Příklady

Dva uzly bez witness

Hlas jednoho uzlu se vynuluje, takže se většina hlasů určí z celkového počtu 1 hlasu. Pokud se hlasující uzel neočekávaně opadne, má přeživší 1/1 a cluster přetrží. Pokud dojde k neočekávanému výpadku hlasujících uzlů, má přeživší 0/1 a cluster se zkrátí. Pokud je hlasující uzel řádně vypnutý, hlas se přenese na druhý uzel a cluster přetrží. Z tohoto důvodu je důležité nakonfigurovat witness.

Vysvětlení kvora v případě dvou uzlů bez určujícího disku

  • Dokáže vytrvat po selhání jednoho serveru: 3% pravděpodobnosti.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalšího: Ne.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ne.

Dva uzly s witness

Oba uzly hlasují plus hlasy sekcí, takže většina se určuje z celkového počtu 3 hlasů. Pokud se některý uzel zkazí, má přeživší 2/3 a shluk přetrží.

Vysvětlení kvora v případě dvou uzlů s určujícím diskem

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalšího: Ne.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ne.

Tři uzly bez witness

Hlasují všechny uzly, takže většina se určuje z celkového počtu 3 hlasů. Pokud dojde k selhání jakéhokoli uzlu, přeživší jsou 2/3 a shluk přetrží. Cluster se stane dvěma uzly bez sdíleného svazku – v tomto okamžiku budete ve scénáři 1.

Vysvětlení kvora v tomto případě se třemi uzly bez určujícího disku

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalšího: Šmídlé procento pravděpodobnosti.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ne.

Tři uzly s witness

Hlasují všechny uzly, takže na začátku hlasovat nebude. Většina se určuje z celkového počtu 3 hlasů. Po jednom selhání má cluster dva uzly s witness – což je zpět scénář 2. Takže teď hlasují dva uzly a hlas s potvrzením.

Vysvětlení kvora v případě se třemi uzly s určujícím diskem

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalším: Ano.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ne.

Čtyři uzly bez witness

Hlas jednoho uzlu se vynuluje, takže většina se určí z celkového počtu 3 hlasů. Po jednom selhání se cluster stane třemi uzly a jste ve scénáři 3.

Vysvětlení kvora v tomto případě se čtyřmi uzly bez určujícího disku

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalším: Ano.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Šmídlé procento pravděpodobnosti.

Čtyři uzly s witness

Hlasy všech uzlů a hlasy sekcí, takže většina se určí z celkového počtu 5 hlasů. Po jednom selhání jste ve scénáři 4. Po dvou souběžných selháních přeskočíte na Scénář 2.

Vysvětlení kvora v případu se čtyřmi uzly s určujícím diskem

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalším: Ano.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ano.

Pět uzlů a více

Hlasují všechny uzly, nebo všechny hlasy s ale jedním hlasem, bez ohledu na to, jestli je celkový součet lichý. Prostory úložiště Direct nemůže stejně zpracovat více než dva uzly, takže v tuto chvíli není potřeba žádná witness nebo užitečná.

Vysvětlení kvora v případě s pěti uzly a dál

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalším: Ano.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ano.

Teď, když víme, jak kvorum funguje, se podívejme na typy kvora.

Typy určujících položek kvora

Clustering s podporou převzetí služeb při selhání podporuje tři typy kvora:

  • Cloud s kopií clusteru – úložiště objektů blob v Azure přístupné pro všechny uzly clusteru. Udržuje informace o clusteringu v souboru witness.log, ale neukládá kopii databáze clusteru.
  • Sdílená sdílená složky – sdílená složky SMB, která je nakonfigurovaná na souborových serverech se Windows Serverem. Udržuje informace o clusteringu v souboru witness.log, ale neukládá kopii databáze clusteru.
  • Disk s diskem s podporou sdíleného svazku – malý clusterovaný disk, který je ve skupině Storage clusteru. Tento disk je vysoce dostupný a může převzetí služeb při selhání mezi uzly. Obsahuje kopii databáze clusteru. Disk s diskem s podporou funkce Prostory úložiště Direct není podporován.

Přehled kvora fondu

Právě jsme mluvili o kvoru clusteru, které funguje na úrovni clusteru. Teď se pojďme ponořit do kvora fondu, které funguje na úrovni fondu (tj. můžete ztratit uzly a jednotky a mít fond v provozu). Storage fondy byly navrženy pro použití v clusterovaných i ne clusterovaných scénářích, a proto mají jiný mechanismus kvora.

Následující tabulka poskytuje přehled výsledků kvora fondu pro každý scénář:

Uzly serveru Dokáže přetrvat v selhání jednoho uzlu serveru. Dokáže vytrvat po selhání jednoho uzlu serveru a pak jinému. Dokáže přetrvat ve dvou souběžných selháních uzlů serveru.
2 Ne Ne Ne
2 + witness Yes Ne Ne
3 Yes Ne Ne
3 + witness Yes Ne Ne
4 Yes Ne Ne
4 + witness Yes Yes Yes
5 a vyšší Yes Yes Yes

Jak funguje kvorum fondu

Pokud dojde k selhání jednotek nebo když některá podmnožina jednotek ztratí kontakt s jinou podmnožinou, zbývající jednotky musí ověřit, že tvoří většinu fondu, aby zůstaly online. Pokud to neověřují, budou offline. Fond je entita, která přejde do režimu offline nebo zůstává online podle toho, jestli má dostatek disků pro kvorum (50 % + 1). Vlastník prostředku fondu (aktivní uzel clusteru) může být +1.

Kvorum fondu ale funguje jinak než kvorum clusteru následujícími způsoby:

  • Fond používá jeden uzel v clusteru jako disk s podporou sdíleného svazku jako jistič, aby přešel na polovinu pryč disků (tento uzel, který je vlastníkem prostředku fondu).
  • fond NEMÁ dynamické kvorum
  • fond neimplementuje vlastní verzi odebrání hlasu.

Příklady

Čtyři uzly se symetrickým rozložením

Každý z těchto 16 jednotek má jeden hlas a uzel 2 má také jeden hlas (protože je vlastníkem prostředku fondu). Většina se určuje z celkového počtu 16 hlasů. Pokud uzly tři a čtyři přechádnou, zbývající podmnožina má 8 jednotek a vlastníka prostředku fondu, což je 16 hlasů 9/16. Fond tedy přetrží.

Kvorum fondu 1

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalším: Ano.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ano.

Čtyři uzly se symetrickým rozložením a selháním jednotky

Každý z těchto 16 jednotek má jeden hlas a uzel 2 má také jeden hlas (protože je vlastníkem prostředku fondu). Většina se určuje z celkového počtu 16 hlasů. Nejprve se jednotka 7 zkrátí. Pokud uzly tři a čtyři přechádnou, zbývající podmnožina má 7 jednotek a vlastníka prostředku fondu, což je 8/16 hlasů. Fond proto nemá většinu a nefunguje.

Kvorum fondu 2

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak dalšího: Ne.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Ne.

Čtyři uzly s nesymetrickým rozložením

Každý z těchto 24 jednotek má jeden hlas a uzel 2 má také jeden hlas (protože je vlastníkem prostředku fondu). Většina se určuje z celkového počtu 24 hlasů. Pokud uzly tři a čtyři přechádnou, zbývající podmnožina má 8 jednotek a vlastníka prostředku fondu, což je 9/24 hlasů. Fond proto nemá většinu a nefunguje.

Kvorum fondu 3

  • Dokáže vytrvat po selhání jednoho serveru: Ano.
  • Dokáže vytrvat po selhání jednoho serveru a pak jiný: Závisí (nedokáže přetrvat, pokud oba uzly tři a čtyři přepadne, ale dokáže vytrvat i ve všech ostatních scénářích.
  • Dokáže přetrvat ve dvou selháních serveru najednou: Depends (nedokáže přetrvat, pokud oba uzly tři a čtyři přepadne, ale dokáže vytrvat i ve všech ostatních scénářích).

Doporučení kvora fondu

  • Ujistěte se, že každý uzel v clusteru je symetrický (každý uzel má stejný počet jednotek).
  • Povolte trojrozměrné zrcadlení nebo duální paritu, abyste mohli tolerovat selhání uzlů a zachovat virtuální disky online.
  • Pokud je mimo provoz více než dva uzly nebo dva uzly a disk na jiném uzlu je mimo provoz, svazky nemusí mít přístup ke všem třem kopiím svých dat, a proto budou offline a nedostupné. Doporučuje se servery přenést zpátky nebo rychle vyměnit disky, abyste zajistili maximální odolnost pro všechna data ve svazku.

Další kroky

Další informace najdete v následujících článcích: