Hibatűrés és tárolási hatékonyság az Azure Stack HCI- és Windows Server-fürtökön

A következőkre vonatkozik: Azure Stack HCI, 22H2 és 21H2 verzió; Windows Server 2022, Windows Server 2019

Ez a cikk ismerteti a rendelkezésre álló rugalmassági lehetőségeket, és ismerteti a méretezési követelményeket, a tárolási hatékonyságot, valamint az egyes megoldások általános előnyeit és hátrányait.

Áttekintés

Közvetlen tárolóhelyek hibatűrést, más néven "rugalmasságot" biztosít az adatokhoz. Implementációja hasonló a RAID-hez, kivéve a kiszolgálók közötti elosztást és a szoftverben való implementálást.

A RAID-hez hasonlóan a Tárolóhelyek többféleképpen is megteheti ezt, amelyek különböző kompromisszumot jelentenek a hibatűrés, a tárolási hatékonyság és a számítási összetettség között. Ezek általában két kategóriába sorolhatók: "tükrözés" és "paritás", az utóbbit néha "erasure coding"-nak is nevezik.

Tükrözés

A tükrözés hibatűrést biztosít az összes adat több példányának megőrzésével. Ez leginkább a RAID-1-hez hasonlít. Az adatok csíkozásának és elhelyezésének módja nem triviális (további információért tekintse meg ezt a blogot ), de teljesen igaz azt mondani, hogy a tükrözés használatával tárolt adatok teljes egészében többször is meg vannak írva. Minden példány különböző fizikai hardverre (különböző kiszolgálók különböző meghajtóira) van írva, amelyek egymástól függetlenül meghiúsulnak.

A tükrözés két változata közül választhat: "kétirányú" és "háromutas".

Kétutas tükrözés

A kétirányú tükrözés mindenről két másolatot ír. Tárolási hatékonysága 50 százalék – 1 TB adat írásához legalább 2 TB fizikai tárolási kapacitásra van szükség. Hasonlóképpen, legalább két hardveres "tartalék tartományra" van szükség – Közvetlen tárolóhelyek, ami két kiszolgálót jelent.

kétutas tükör

Figyelmeztetés

Ha kettőnél több kiszolgálóval rendelkezik, javasoljuk, hogy inkább háromutas tükrözést használjunk.

Háromutas tükrözés

A háromutas tükrözés mindent három példányban ír. Tárolási hatékonysága 33,3 százalék – 1 TB adat írásához legalább 3 TB fizikai tárolási kapacitásra van szükség. Ehhez hasonlóan legalább három hardveres tartalék tartományra van szükség – Közvetlen tárolóhelyek, ez három kiszolgálót jelent.

A háromutas tükrözés egyszerre legalább két hardverproblémát (meghajtót vagy kiszolgálót) képes biztonságosan eltűrni. Ha például újraindít egy kiszolgálót, amikor hirtelen egy másik meghajtó vagy kiszolgáló meghibásodik, minden adat biztonságos és folyamatosan elérhető marad.

háromutas tükör

Parity

A paritásos kódolás, amelyet gyakran "erasure coding"-nak neveznek, bitenkénti aritmetikai hibatűrést biztosít, ami rendkívül bonyolulttá teheti. Ennek működése kevésbé nyilvánvaló, mint a tükrözés, és számos nagyszerű online forrás áll rendelkezésre (például ez a külső dummies guide to Erasure Coding), amelyek segíthetnek az ötlet beszerzésében. Elég azt mondani, hogy jobb tárolási hatékonyságot biztosít a hibatűrés veszélyeztetése nélkül.

Tárolóhelyek kínál két változata paritás - "egyetlen" paritás és a "kettős" paritás, az utóbbi alkalmaz egy fejlett technika úgynevezett "helyi rekonstrukciós kódok" nagyobb léptékben.

Fontos

Javasoljuk, hogy a legtöbb teljesítményérzékeny számítási feladathoz használjunk tükrözést. A teljesítmény és a kapacitás számítási feladattól függően történő elosztásáról további információt a Kötetek tervezése című témakörben talál.

Egyetlen paritás

Az egyetlen paritás csak egy bitenkénti paritásszimbólumot tart meg, amely hibatűrést biztosít egyszerre csak egy hibával szemben. Leginkább a RAID-5-höz hasonlít. Egyetlen paritás használatához legalább három hardveres tartalék tartományra van szükség – Közvetlen tárolóhelyek, ez három kiszolgálót jelent. Mivel a háromutas tükrözés nagyobb hibatűrést biztosít ugyanabban a léptékben, nem javasoljuk az egyetlen paritás használatát. De ott van, ha ragaszkodik a használatához, és teljes mértékben támogatott.

Figyelmeztetés

Nem javasoljuk az egyetlen paritás használatát, mert egyszerre csak egy hardverhibát képes biztonságosan elviselni: ha egy kiszolgálót újraindít, amikor hirtelen egy másik meghajtó vagy kiszolgáló meghibásodik, állásidőt fog tapasztalni. Ha csak három kiszolgálóval rendelkezik, javasoljuk a háromutas tükrözés használatát. Ha négy vagy több van, tekintse meg a következő szakaszt.

Kettős paritás

A kettős paritás Reed-Solomon hibajavító kódokat implementál két bitenkénti paritásszimbólum megtartásához, így ugyanolyan hibatűrést biztosít, mint a háromutas tükrözés (azaz egyszerre legfeljebb két hiba), de jobb tárolási hatékonysággal. Leginkább a RAID-6-ra hasonlít. A kettős paritás használatához legalább négy hardveres tartalék tartományra van szükség – Közvetlen tárolóhelyek esetén ez négy kiszolgálót jelent. Ebben a méretben a tárolási hatékonyság 50% – 2 TB adat tárolásához 4 TB fizikai tárolási kapacitásra van szükség.

kettős paritás

A kettős paritás tárolási hatékonysága 50-ről 80 százalékra növeli a hardveres tartalék tartományok számát. Például hétnél (Közvetlen tárolóhelyek hét kiszolgáló esetén) a hatékonyság 66,7%-ra ugrik – 4 TB adat tárolásához mindössze 6 TB fizikai tárolási kapacitásra van szükség.

kettős paritásos egész

A kettős féltől származó és a helyi rekonstrukciós kódok minden léptékben történő hatékonyságáról az Összefoglalás szakaszban olvashat.

Helyi rekonstrukciós kódok

Tárolóhelyek a Microsoft Research által kifejlesztett, "helyi rekonstrukciós kódok" vagy LRC által kifejlesztett fejlett technikát vezet be. Nagy méretekben a kettős paritás az LRC használatával osztja fel a kódolást/dekódolást néhány kisebb csoportra, hogy csökkentse az írások készítéséhez vagy a hibák utáni helyreállításhoz szükséges többletterhelést.

Merevlemez-meghajtók (HDD) esetén a csoportméret négy szimbólum; SSD-meghajtók esetén a csoportméret hat szimbólum. Így néz ki például az elrendezés merevlemez-meghajtókkal és 12 hardveres tartalék tartománnyal (ami 12 kiszolgálót jelent) – két csoport négy adatszimbólumból áll. 72,7 százalékos tárolási hatékonyságot ér el.

helyi rekonstrukciós kódok

Javasoljuk, hogy claus Joergensen részletesen, mégis jól olvashatóan olvassa el, hogyan kezelik a helyi helyreállítási kódok a különböző meghibásodási forgatókönyveket, és miért vonzóak.

Tükrözés által gyorsított paritás

A Közvetlen tárolóhelyek kötet lehet résztükrözés és részparitás. Az írások először a tükrözött részbe kerülnek, és később fokozatosan kerülnek a paritásos részbe. Ez gyakorlatilag tükrözés használatával gyorsítja fel a törlési kódolást.

A háromutas tükrözés és a kettős paritás kombinálásához legalább négy tartalék tartományra, azaz négy kiszolgálóra van szükség.

A tükrözött paritás tárolási hatékonysága az összes tükrözés vagy az összes paritás használatából származó adatok között van, és a választott arányoktól függ. A bemutató 37 perces bemutatójában például különböző , 46, 54 és 65 százalékos hatékonyságot elérő mixek láthatók 12 kiszolgálóval.

Fontos

Javasoljuk, hogy a legtöbb teljesítményérzékeny számítási feladathoz használjunk tükrözést. A teljesítmény és a kapacitás számítási feladattól függően történő elosztásáról további információt a Kötetek tervezése című témakörben talál.

Összefoglalás

Ez a szakasz összefoglalja az Közvetlen tárolóhelyek elérhető rugalmassági típusokat, az egyes típusok minimális skálázási követelményeit, az egyes típusokat eltűrő hibákat és a megfelelő tárolási hatékonyságot.

Rugalmassági típusok

Rugalmasság Hibatűrés Tárolási hatékonyság
Kétutas tükrözés 1 50.0%
Háromutas tükrözés 2 33.3%
Kettős paritás 2 50.0% - 80.0%
Vegyes 2 33.3% - 80.0%

Minimális skálázási követelmények

Rugalmasság Minimálisan szükséges tartalék tartományok
Kétutas tükrözés 2
Háromutas tükrözés 3
Kettős paritás 4
Vegyes 4

Tipp

Hacsak nem használ váz- vagy állványhibás tűrést, a tartalék tartományok száma a kiszolgálók számára vonatkozik. Az egyes kiszolgálók meghajtóinak száma nincs hatással a használható rugalmassági típusokra, mindaddig, amíg megfelel a Közvetlen tárolóhelyek minimális követelményeinek.

Kettős paritásos hatékonyság hibrid üzemelő példányokhoz

Ez a táblázat a kettős paritás és a helyi rekonstrukciós kódok tárolási hatékonyságát mutatja be minden olyan hibrid telepítésnél, amely merevlemez-meghajtókat (HDD- és SSD-meghajtókat) is tartalmaz.

Tartalék tartományok Layout Hatékonyság
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66.7%
8 RS 4+2 66.7%
9 RS 4+2 66.7%
10 RS 4+2 66.7%
11 RS 4+2 66.7%
12 LRC (8, 2, 1) 72.7%
13 LRC (8, 2, 1) 72.7%
14 LRC (8, 2, 1) 72.7%
15 LRC (8, 2, 1) 72.7%
16 LRC (8, 2, 1) 72.7%

Kettős paritásos hatékonyság az összes flash-alapú üzembe helyezéshez

Ez a táblázat a kettős paritás és a helyi rekonstrukciós kódok tárolási hatékonyságát mutatja be minden méretben a csak SSD-t (SSD-t) tartalmazó flash-alapú üzemelő példányok esetében. A paritáselrendezés nagyobb csoportméreteket használhat, és jobb tárolási hatékonyságot érhet el egy villámkonfigurációban.

Tartalék tartományok Layout Hatékonyság
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66.7%
8 RS 4+2 66.7%
9 RS 6+2 75.0%
10 RS 6+2 75.0%
11 RS 6+2 75.0%
12 RS 6+2 75.0%
13 RS 6+2 75.0%
14 RS 6+2 75.0%
15 RS 6+2 75.0%
16 LRC (12, 2, 1) 80.0%

Példák

Ha csak két kiszolgálóval rendelkezik, javasoljuk, hogy háromutas tükrözést és/vagy kettős paritást használ, mert jobb hibatűrést biztosítanak. Pontosabban biztosítják, hogy minden adat biztonságos és folyamatosan hozzáférhető maradjon akkor is, ha két tartalék tartományt – Közvetlen tárolóhelyek, azaz két kiszolgálót – egyidejű hibák érintenek.

Példák, ahol minden online marad

Ez a hat példa azt mutatja be, hogy a háromutas tükrözés és/vagy a kettős paritás milyen tűrő képességgel bír .

  • 1. Egy meghajtó elveszett (a gyorsítótár-meghajtókat is beleértve)
  • 2. Egy kiszolgáló elveszett

fault-tolerance-examples-1-and-2

  • 3. Egy kiszolgáló és egy meghajtó elveszett
  • 4. Két meghajtó veszett el a különböző kiszolgálókon

fault-tolerance-examples-3-and-4

  • 5. Több mint két meghajtó veszett el, amennyiben legfeljebb két kiszolgáló érintett
  • 6. Két kiszolgáló elveszett

fault-tolerance-examples-5-and-6

... minden esetben az összes kötet online marad. (Győződjön meg arról, hogy a fürt kvórumot tart fenn.)

Példák, ahol minden offline állapotba kerül

Az Tárolóhelyek élettartama során számos hibát el tud viselni, mivel mindegyik után teljes rugalmasságot állít vissza, elegendő idő elteltével. Azonban legfeljebb két tartalék tartományt érinthetnek biztonságosan a hibák bármelyik pillanatban. Ezért az alábbiakban példákat mutatunk be arra, hogy a háromutas tükrözés és/vagy a kettős paritás mit nem tolerálhat .

  • 7. Három vagy több kiszolgálón egyszerre elveszett meghajtók
  • 8. Egyszerre három vagy több kiszolgáló elveszett

fault-tolerance-examples-7-and-8

Használat

Tekintse meg a Kötetek létrehozása című témakört.

Következő lépések

A cikkben említett témákról az alábbiakban olvashat bővebben: