A fürt és a készlet kvórumának ismertetése
A következőkre vonatkozik: Azure Stack HCI, 22H2 és 21H2 verzió; Windows Server 2022, Windows Server
A Windows Server feladatátvételi fürtszolgáltatás magas rendelkezésre állást biztosít az Azure Stack HCI-n és a Windows Server-fürtökön futó számítási feladatokhoz. Ezek az erőforrások magas rendelkezésre állásúnak minősülnek, ha az erőforrásokat üzemeltető csomópontok fel vannak állítva; A fürtnek azonban általában a csomópontok több mint felét kell futtatnia, ami kvórumként ismert.
A kvórum célja, hogy megakadályozza az agyfelosztási forgatókönyveket, amelyek akkor fordulhatnak elő, ha egy partíció van a hálózaton, és a csomópontok részhalmazai nem tudnak kommunikálni egymással. Ez azt okozhatja, hogy a csomópontok mindkét részhalmaza megpróbálja birtokolni a számítási feladatot, és ugyanarra a lemezre írni, ami számos problémát okozhat. Ez azonban megelőzhető a feladatátvételi fürtszolgáltatás kvórumfogalmával, amely csak az egyik csomópontcsoport futtatását kényszeríti, így csak az egyik csoport marad online állapotban.
A kvórum határozza meg, hogy a fürt hány hibát tartson fenn, amíg továbbra is online állapotban marad. A kvórum a fürtcsomópontok részhalmazai közötti kommunikációval kapcsolatos problémák esetén a forgatókönyv kezelésére lett kialakítva, így több kiszolgáló nem próbál meg egyszerre egy erőforráscsoportot üzemeltetni és ugyanarra a lemezre írni. A kvórum fogalmának birtokában a fürt arra kényszeríti a fürtszolgáltatást, hogy leálljon a csomópontok egyik részhalmazában annak biztosítása érdekében, hogy egy adott erőforráscsoportnak csak egy valódi tulajdonosa legyen. A leállított csomópontok ismét kommunikálhatnak a csomópontok fő csoportjával, és automatikusan újracsatlakoznak a fürthöz, és elindítják a fürtszolgáltatást.
Az Azure Stack HCI-ben és a Windows Server 2019-ben a rendszer két összetevője rendelkezik saját kvórummechanizmusokkal:
- Fürt kvóruma: Ez a fürt szintjén működik (vagyis elveszítheti a csomópontokat, és beállíthatja, hogy a fürt naprakész maradjon)
- Készlet kvóruma: Ez a készlet szintjén működik (vagyis elveszítheti a csomópontokat és a meghajtókat, és a készletet üzemképes állapotban tarthatja). A tárolókészleteket úgy tervezték, hogy fürtözött és nem fürtözött forgatókönyvekben is használhatók legyenek, ezért eltérő kvórummechanizmussal rendelkeznek.
Fürt kvórumának áttekintése
Az alábbi táblázat forgatókönyvenként áttekintést nyújt a fürt kvórumeredményéről:
Kiszolgálócsomópontok | Túlélhet egy kiszolgálócsomópont meghibásodását | Túlélheti az egyik kiszolgálócsomópont meghibásodását, majd egy másikat | Túlélhet két egyidejű kiszolgálócsomópont-hibát |
---|---|---|---|
2 | 50/50 | Nem | Nem |
2 + tanúsító | Igen | Nem | Nem |
3 | Yes | 50/50 | No |
3 + tanúsító | Igen | Igen | Nem |
4 | Igen | Yes | 50/50 |
4 + tanúsító | Igen | Igen | Yes |
5-ös vagy újabb | Igen | Igen | Yes |
Fürtkvórumra vonatkozó javaslatok
- Ha két csomópontja van, tanúsítóra van szükség.
- Ha három vagy négy csomópontja van, erősen ajánlott a tanúsító.
- Ha öt vagy több csomópontja van, nincs szükség tanúsítóra, és nem biztosít további rugalmasságot.
- Ha rendelkezik internet-hozzáféréssel, használjon felhőbeli tanúsítót.
- Ha más gépekkel és fájlmegosztásokkal rendelkező informatikai környezetben van, használjon tanúsító fájlmegosztást.
A fürtkvórum működése
Ha a csomópontok meghibásodnak, vagy ha a csomópontok egy része elveszíti a kapcsolatot egy másik alkészlettel, a túlélő csomópontoknak ellenőrizniük kell, hogy azok alkotják-e a fürt többségét , hogy online állapotban maradjanak. Ha ezt nem tudják ellenőrizni, offline állapotba kerülnek.
A többség fogalma azonban csak akkor működik tisztán, ha a fürtben lévő csomópontok teljes száma páratlan (például egy öt csomópontos fürt három csomópontja). Tehát mi a helyzet a páros számú csomóponttal rendelkező fürtökkel (például egy négy csomópontos fürttel)?
A fürt kétféleképpen teheti páratlansá a szavazatok teljes számát :
- Először is, felmehet egyet, ha hozzáad egy tanút egy plusz szavazattal. Ehhez felhasználói beállítás szükséges.
- Az is előfordulhat, hogy egy szerencsétlen csomópont szavazatát nullára állítja (szükség esetén automatikusan megtörténik).
Amikor a túlélő csomópontok sikeresen ellenőrzik, hogy ők a többség, a többség definíciója frissül, hogy csak a túlélők között legyen. Ez lehetővé teszi, hogy a fürt elveszítsen egy csomópontot, egy másikat, majd egy másikat stb. Az egymást követő hibák után alkalmazkodó szavazatok teljes számátdinamikus kvórumnak nevezzük.
Dinamikus tanúsító
A dinamikus tanúsító a tanú szavazatát váltva gondoskodik arról, hogy a szavazatok teljes száma páratlan legyen. Ha páratlan számú szavazat van, a tanúnak nincs szavazata. Ha páros számú szavazat van, a tanúnak van szavazata. A dinamikus tanúsító jelentősen csökkenti annak kockázatát, hogy a fürt leáll a tanúsító meghibásodása miatt. A fürt dönti el, hogy a tanúsító szavazást a fürtben elérhető szavazati csomópontok száma alapján kívánja-e használni.
A dinamikus kvórum az alábbi módon működik a dinamikus tanúsítóval.
Dinamikus kvórum viselkedése
- Ha páros számú csomóponttal rendelkezik, és nincs tanúsítója, az egyik csomópont szavazata nulla lesz. Például a négy csomópontból csak három kap szavazatot, így a szavazatok teljes száma három, és két szavazattal rendelkező túlélőt tekintünk többségnek.
- Ha páratlan számú csomóponttal rendelkezik, és nincs tanúja, mindegyik szavazatot kap.
- Ha páros számú csomópontja és tanúja van, a tanúsító szavaz, így az összeg páratlan.
- Ha páratlan számú csomóponttal és tanúvallomása van, a tanú nem szavaz.
A dinamikus kvórum lehetővé teszi, hogy a szavazatokat dinamikusan rendelje hozzá egy csomóponthoz, hogy elkerülje a szavazatok többségének elvesztését, és lehetővé tegye, hogy a fürt egyetlen csomóponttal fusson (az utolsó ember állva). Vegyünk példaként egy négycsomópontos fürtöt. Tegyük fel, hogy a kvórumhoz 3 szavazat szükséges.
Ebben az esetben a fürt leállt volna, ha két csomópontot veszít el.
A dinamikus kvórum azonban megakadályozza ezt. A kvórumhoz szükséges szavazatok teljes számát a rendelkezésre álló csomópontok száma határozza meg. Így a dinamikus kvórum esetén a fürt akkor is működik, ha három csomópontot veszít el.
A fenti forgatókönyv olyan általános fürtökre vonatkozik, amelyeken nincs engedélyezve Közvetlen tárolóhelyek. Ha azonban Közvetlen tárolóhelyek engedélyezve van, a fürt csak két csomóponthibát tud támogatni. Erről bővebben a készlet kvórum szakaszában olvashat bővebben.
Példák
Két csomópont tanúsító nélkül
Egy csomópont szavazata nullázva van, így a többségi szavazatot összesen 1 szavazattal határozzuk meg. Ha a nem szavazó csomópont váratlanul leáll, a túlélőnek 1/1-e van, és a fürt túléli. Ha a szavazócsomópont váratlanul leáll, a túlélőnek 0/1-e van, és a fürt leáll. Ha a szavazócsomópont szabályosan le van kapcsolva, a szavazat átkerül a másik csomópontra, és a fürt túléli. Ezért kritikus fontosságú a tanúsító konfigurálása.
- Túlélhet egy kiszolgálóhiba: ötven százalékos esély.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Nem.
- Egyszerre két kiszolgálóhibát képes túlélni: Nem.
Két csomópont tanúsítóval
Mindkét csomópont szavaz, plusz a tanúszavazatok, így a többség meghatározása összesen 3 szavazatból történik. Ha bármelyik csomópont leáll, a túlélőnek 2/3-a van, és a fürt túléli.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Nem.
- Egyszerre két kiszolgálóhibát képes túlélni: Nem.
Három csomópont tanúsító nélkül
Minden csomópont szavaz, így a többség összesen 3 szavazatból lesz meghatározva. Ha bármelyik csomópont leáll, a túlélők száma 2/3, és a fürt túléli. A fürt két, tanúsító nélküli csomóponttá válik – ekkor Ön az 1. forgatókönyvben van.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Ötven százalékos esély.
- Egyszerre két kiszolgálóhibát képes túlélni: Nem.
Három csomópont tanúsítóval
Minden csomópont szavaz, így a tanú kezdetben nem szavaz. A többség meghatározása összesen 3 szavazatból történik. Egy hiba után a fürt két, tanúsítóval rendelkező csomóponttal rendelkezik – ez a 2. forgatókönyvre való visszalépés. Szóval, most a két csomópont és a tanú szavaz.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Igen.
- Egyszerre két kiszolgálóhibát képes túlélni: Nem.
Négy csomópont tanúsító nélkül
Egy csomópont szavazata nullázva van, így a többség összesen 3 szavazatból lesz meghatározva. Egy hiba után a fürt három csomóponttá válik, és Ön a 3. forgatókönyvben van.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Igen.
- Egyszerre két kiszolgálóhiba is túlélhető: ötven százalékos esély.
Négy csomópont tanúsítóval
Az összes csomópont és a tanúsító szavazatok száma, így a többség összesen 5 szavazatból lesz meghatározva. Egy hiba után a 4. forgatókönyvben van. Két egyidejű hiba után ugorjon a 2. forgatókönyvre.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Igen.
- Egyszerre két kiszolgálóhiba is túlélhető: Igen.
Öt csomópont és azon túl
Minden csomópont szavaz, vagy csak egy szavazat, bármi is teszi a teljes páratlan. Közvetlen tárolóhelyek egyébként sem tud két csomópontnál több csomópontot kezelni, ezért jelenleg nincs szükség tanúsítóra vagy hasznosra.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Igen.
- Egyszerre két kiszolgálóhiba is túlélhető: Igen.
Most, hogy megértettük a kvórum működését, nézzük meg a kvórumtanúsulatok típusait.
Kvórumtanúsulatok típusai
A feladatátvételi fürtszolgáltatás háromféle kvórumtanúsítót támogat:
- Felhőbeli tanúsító – Az Azure-beli Blob Storage a fürt összes csomópontja számára elérhető. A fürtinformációkat egy witness.log fájlban tartja fenn, de nem tárolja a fürtadatbázis másolatát.
- Tanúsító fájlmegosztás – A Windows Servert futtató fájlkiszolgálón konfigurált SMB-fájlmegosztás. A fürtinformációkat egy witness.log fájlban tartja fenn, de nem tárolja a fürtadatbázis másolatát.
- Tanúsító lemez – Egy kisméretű fürtözött lemez, amely a Fürt rendelkezésre álló tár csoportjában található. Ez a lemez magas rendelkezésre állású, és feladatátvételt végezhet a csomópontok között. A fürtadatbázis másolatát tartalmazza. A tanúsító lemez nem támogatott a Közvetlen tárolóhelyek.
Készlet kvórumának áttekintése
Most beszéltünk a fürtkvórumról, amely a fürt szintjén működik. Most vizsgáljuk meg a készlet kvórumát, amely a készlet szintjén működik (vagyis elveszítheti a csomópontokat és a meghajtókat, és beállíthatja, hogy a készlet maradjon fent). A tárolókészleteket úgy tervezték, hogy fürtözött és nem fürtözött forgatókönyvekben is használhatók legyenek, ezért eltérő kvórummechanizmussal rendelkeznek.
Az alábbi táblázat forgatókönyvenként áttekintést nyújt a készlet kvórumeredményéről:
Kiszolgálócsomópontok | Túlélhet egy kiszolgálócsomópont meghibásodását | Túlélheti az egyik kiszolgálócsomópont meghibásodását, majd egy másikat | Túlélhet két egyidejű kiszolgálócsomópont-hibát |
---|---|---|---|
2 | Igen | Nem | Nem |
2 + tanúsító | Igen | Nem | Nem |
3 | Igen | Nem | Nem |
3 + tanúsító | Igen | Nem | Nem |
4 | Igen | Nem | Nem |
4 + tanúsító | Igen | Igen | Yes |
5-ös vagy újabb | Igen | Igen | Yes |
A készlet kvórumának működése
Ha a meghajtók meghibásodnak, vagy ha a meghajtók egyes részhalmazai elveszítik a kapcsolatot egy másik alkészlettel, a metaadatokat üzemeltető túlélő meghajtóknak ellenőrizniük kell, hogy azok alkotják-e a készlet többségét , hogy online állapotban maradjanak. Ha ezt nem tudják ellenőrizni, offline állapotba kerülnek. A készlet az az entitás, amely offline állapotba kerül, vagy online állapotban marad attól függően, hogy elegendő lemezzel rendelkezik-e a kvórumhoz (50% + 1). A fürtadatbázis lehet +1, ha maga a fürt kvóráta.
A készlet kvóruma azonban a fürt kvórumától eltérően működik a következő módokon:
- A készlet csomópontonként kiválasztja a meghajtók egy részhalmazát a metaadatok üzemeltetéséhez
- A készlet a fürtadatbázissal szakítja meg a kapcsolati adatokat
- A készletnek nincs dinamikus kvóruma
- A készlet nem valósítja meg a szavazás eltávolításának saját verzióját
Példák
Négy csomópont szimmetrikus elrendezéssel
A 16 meghajtó mindegyike rendelkezik egy szavazattal, a második csomópont pedig egy szavazattal (mivel ez a készlet erőforrás-tulajdonosa). A többség meghatározása összesen 16 szavazatból történik. Ha a három és négy csomópont leáll, a túlélő részhalmaz 8 meghajtóval és a készlet erőforrás-tulajdonosával rendelkezik, ami 9/16 szavazatot jelent. Szóval, a medence túléli.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Igen.
- Egyszerre két kiszolgálóhiba is túlélhető: Igen.
Négy csomópont szimmetrikus elrendezéssel és meghajtóhibával
A 16 meghajtó mindegyike egy szavazattal rendelkezik, és a 2. csomópont is egy szavazattal rendelkezik (mivel ez a készlet erőforrás-tulajdonosa). A többség meghatározása összesen 16 szavazatból történik. Először is, a 7-et le kell nyomni. Ha a három és a négy csomópont leáll, a túlélő részhalmaz 7 meghajtóval és a készlet erőforrás-tulajdonosával rendelkezik, ami 8/16 szavazatot jelent. Tehát a készletnek nincs többsége, és leáll.
- Túlélhet egy kiszolgálóhibát: Igen.
- Túlélheti az egyik kiszolgálóhibát, majd egy másikat: Nem.
- Egyszerre két kiszolgálóhibát képes túlélni: Nem.
Készlet kvórumjavaslatai
- Győződjön meg arról, hogy a fürt minden csomópontja szimmetrikus (minden csomópont azonos számú meghajtóval rendelkezik)
- Engedélyezze a háromutas tükrözés vagy kettős paritást, hogy elviselhesse a két csomópont meghibásodását, és online állapotban tarthassa a virtuális lemezeket.
- Ha két csomópontnál több van leállítva, vagy két csomópont és egy másik csomópont lemeze leállt, előfordulhat, hogy a kötetek nem férnek hozzá adataik mindhárom példányához, ezért offline állapotba kerülnek, és nem érhetők el. Javasoljuk, hogy gyorsan hozza vissza a kiszolgálókat, vagy cserélje le a lemezeket, hogy a lehető legnagyobb rugalmasságot biztosítsa a kötet összes adata számára.