Odporność na uszkodzenia i wydajność magazynowania w klastrach azure Stack HCI i Windows Server
Dotyczy: Azure Stack HCI, wersje 22H2 i 21H2; Windows Server 2022, Windows Server 2019
W tym artykule wyjaśniono dostępne opcje odporności i opisano wymagania dotyczące skalowania, wydajność magazynowania oraz ogólne zalety i kompromisy poszczególnych elementów.
Omówienie
Miejsca do magazynowania Direct zapewnia odporność na uszkodzenia, często nazywaną "odpornością", dla danych. Jego implementacja jest podobna do macierzy RAID, z wyjątkiem rozproszonej między serwerami i zaimplementowana w oprogramowaniu.
Podobnie jak w przypadku macierzy RAID, istnieje kilka różnych sposobów, Miejsca do magazynowania może to zrobić, co sprawia, że różne kompromisy między odpornością na uszkodzenia, wydajnością magazynu i złożonością obliczeniową. Zasadniczo należą one do dwóch kategorii: "dublowanie" i "parzystość", ten ostatni czasami nazywany "kodowaniem wymazywania".
Dublowanie
Dublowanie zapewnia odporność na uszkodzenia dzięki przechowywaniu wielu kopii wszystkich danych. To najbardziej przypomina RAID-1. Sposób, w jaki dane są rozłożone i umieszczane, nie są trywialne (zobacz ten blog , aby dowiedzieć się więcej), ale jest absolutnie prawdziwe, aby powiedzieć, że wszystkie dane przechowywane przy użyciu dublowania są zapisywane w całości, wiele razy. Każda kopia jest zapisywana na innym sprzęcie fizycznym (różnych dyskach na różnych serwerach), które zakłada się, że nie powiedzie się niezależnie.
Można wybrać między dwoma smakami dublowania – "dwukierunkowym" i "trzystopniowym".
Dublowany dwustopniowo
Dublowanie dwukierunkowe zapisuje dwie kopie wszystkiego. Wydajność magazynowania wynosi 50 procent — aby zapisać 1 TB danych, potrzebujesz co najmniej 2 TB pojemności magazynu fizycznego. Podobnie potrzebne są co najmniej dwa sprzętowe "domeny błędów" — z Miejsca do magazynowania Direct, co oznacza dwa serwery.
Ostrzeżenie
Jeśli masz więcej niż dwa serwery, zalecamy użycie dublowania trójstopniowego.
Dublowany trzystopniowo
Dublowanie trójstopniowe zapisuje trzy kopie wszystkiego. Wydajność magazynowania wynosi 33,3% — aby zapisać 1 TB danych, potrzebujesz co najmniej 3 TB pojemności magazynu fizycznego. Podobnie potrzebne są co najmniej trzy domeny błędów sprzętowych — z Miejsca do magazynowania Direct, co oznacza trzy serwery.
Dublowanie trójstopniowe może bezpiecznie tolerować co najmniej dwa problemy sprzętowe (dysk lub serwer) naraz. Jeśli na przykład uruchamiasz ponownie jeden serwer, gdy nagle inny dysk lub serwer ulegnie awarii, wszystkie dane pozostają bezpieczne i stale dostępne.
Parzystość
Kodowanie parzystości, często nazywane "kodowaniem wymazywania", zapewnia odporność na uszkodzenia przy użyciu arytmetyki bitowej, co może być niezwykle skomplikowane. Sposób, w jaki to działa, jest mniej oczywisty niż dublowanie, i istnieje wiele wspaniałych zasobów online (na przykład ten przewodnik po dummies innych firm do kodowania wymazywania), które mogą pomóc Ci zrozumieć. Wystarczy powiedzieć, że zapewnia lepszą wydajność magazynowania bez naruszania odporności na uszkodzenia.
Miejsca do magazynowania oferuje dwa smaki parzystości – "pojedynczy" parzystość i "podwójną" parzystość, ta ostatnia wykorzystuje zaawansowaną technikę o nazwie "lokalne kody rekonstrukcji" na większą skalę.
Ważne
Zalecamy używanie dublowania dla najbardziej wrażliwych na wydajność obciążeń. Aby dowiedzieć się więcej na temat równoważenia wydajności i pojemności w zależności od obciążenia, zobacz Planowanie woluminów.
Pojedyncza parzystość
Pojedyncza parzystość zachowuje tylko jeden symbol parzystości bitowej, który zapewnia odporność na uszkodzenia tylko w przypadku jednego błędu w danym momencie. Najbardziej przypomina RAID-5. Aby użyć jednej parzystości, potrzebne są co najmniej trzy domeny błędów sprzętowych — z Miejsca do magazynowania Direct, co oznacza trzy serwery. Ponieważ dublowanie trójstopniowe zapewnia większą odporność na uszkodzenia w tej samej skali, odradzamy korzystanie z pojedynczej parzystości. Ale jest tam, jeśli nalegasz na korzystanie z niego i jest w pełni obsługiwany.
Ostrzeżenie
Odradzamy korzystanie z pojedynczej parzystości, ponieważ może bezpiecznie tolerować tylko jedną awarię sprzętową w danym momencie: w przypadku ponownego uruchomienia jednego serwera, gdy nagle inny dysk lub serwer ulegnie awarii, wystąpi przestój. Jeśli masz tylko trzy serwery, zalecamy użycie dublowania trójstopniowego. Jeśli masz co najmniej cztery, zobacz następną sekcję.
Podwójna parzystość
Podwójna parzystość implementuje kody korygujące błędy Reed-Solomon, aby zachować dwa symbole parzystości bitowej, zapewniając tym samym odporność na uszkodzenia co dublowanie trzystopniowe (tj. maksymalnie dwa błędy jednocześnie), ale z lepszą wydajnością magazynowania. Najbardziej przypomina RAID-6. Aby użyć parzystości podwójnej, potrzebne są co najmniej cztery domeny błędów sprzętowych — z Miejsca do magazynowania Direct, co oznacza cztery serwery. W tej skali wydajność magazynowania wynosi 50% — do przechowywania 2 TB danych potrzebna jest pojemność magazynu fizycznego o pojemności 4 TB.
Wydajność magazynowania z parzystością podwójną zwiększa liczbę domen błędów sprzętowych, z 50 procent do 80 procent. Na przykład przy siedmiu (z Miejsca do magazynowania Direct oznacza to, że siedem serwerów) wydajność zwiększa się do 66,7 procent — aby przechowywać 4 TB danych, potrzebujesz tylko 6 TB fizycznej pojemności magazynu.
Zobacz sekcję Podsumowanie wydajności kodów rekonstrukcji podwójnej i lokalnej na każdej skali.
Kody rekonstrukcji lokalnej
Miejsca do magazynowania wprowadza zaawansowaną technikę opracowaną przez firmę Microsoft Research o nazwie "lokalne kody rekonstrukcji" lub LRC. Na dużą skalę parzystość podwójna używa LRC, aby podzielić kodowanie/dekodowanie na kilka mniejszych grup, aby zmniejszyć obciążenie wymagane do zapisu lub odzyskania po awariach.
W przypadku dysków twardych (HDD) rozmiar grupy to cztery symbole; w przypadku dysków półprzewodnikowych (SSD) rozmiar grupy to sześć symboli. Na przykład układ wygląda podobnie do dysków twardych i 12 domen błędów sprzętowych (czyli 12 serwerów) — istnieją dwie grupy czterech symboli danych. Osiąga 72,7% wydajności magazynowania.
Zalecamy ten szczegółowy, ale czytelny przewodnik po tym, jak lokalne kody rekonstrukcji obsługują różne scenariusze awarii i dlaczego są atrakcyjne, claus Joergensen.
Parzystość przyspieszana przez dublowanie
Wolumin Miejsca do magazynowania Direct może być częścią dublowania i parzystości częściowej. Zapisuje ziemię najpierw w dublowanej części i są stopniowo przenoszone do części parzystości później. W rzeczywistości jest to używane dublowanie w celu przyspieszenia kodowania wymazywania.
Aby połączyć dublowanie trójstopniowe i podwójną parzystość, potrzebne są co najmniej cztery domeny błędów, co oznacza cztery serwery.
Wydajność magazynowania parzystości przyspieszanej przez dublowanie jest między tym, co można uzyskać z użycia wszystkich dublowania lub wszystkich parzystości, i zależy od proporcji, które wybierzesz.
Ważne
Zalecamy używanie dublowania dla najbardziej wrażliwych na wydajność obciążeń. Aby dowiedzieć się więcej na temat równoważenia wydajności i pojemności w zależności od obciążenia, zobacz Planowanie woluminów.
Podsumowanie
W tej sekcji podsumowano typy odporności dostępne w Miejsca do magazynowania Direct, minimalne wymagania dotyczące skalowania do użycia każdego typu, liczbę awarii, które mogą tolerować każdy typ, oraz odpowiednią wydajność magazynowania.
Typy odporności
Odporność | Odporność na awarie | Wydajność magazynowania |
---|---|---|
Dublowany dwustopniowo | 1 | 50,0% |
Dublowany trzystopniowo | 2 | 33,3% |
Podwójna parzystość | 2 | 50.0% - 80.0% |
Mieszana | 2 | 33.3% - 80.0% |
Minimalne wymagania dotyczące skalowania
Odporność | Minimalna wymagana domena błędów |
---|---|
Dublowany dwustopniowo | 2 |
Dublowany trzystopniowo | 3 |
Podwójna parzystość | 100 |
Mieszana | 100 |
Napiwek
Jeśli nie używasz odporności na uszkodzenia obudowy lub stojaka, liczba domen błędów odnosi się do liczby serwerów. Liczba dysków na każdym serwerze nie ma wpływu na typy odporności, których można użyć, o ile spełniasz minimalne wymagania dotyczące Miejsca do magazynowania Direct.
Podwójna wydajność parzystości dla wdrożeń hybrydowych
W tej tabeli przedstawiono wydajność magazynowania podwójnych parzystości i kodów rekonstrukcji lokalnej w każdej skali dla wdrożeń hybrydowych, które zawierają dyski twarde (HDD) i dyski półprzewodnikowe (SSD).
Domeny błędów | Układ | Wydajność |
---|---|---|
2 | – | – |
3 | – | – |
100 | 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% |
Podwójna wydajność parzystości dla wdrożeń wszystkich flash
W tej tabeli przedstawiono wydajność magazynowania dwustanowych i lokalnych kodów rekonstrukcji na każdej skali dla wdrożeń wszystkich flash, które zawierają tylko dyski półprzewodnikowe (SSD). Układ parzystości może używać większych rozmiarów grup i osiągać lepszą wydajność magazynowania w konfiguracji all-flash.
Domeny błędów | Układ | Wydajność |
---|---|---|
2 | – | – |
3 | – | – |
100 | 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% |
Przykłady
Jeśli nie masz tylko dwóch serwerów, zalecamy użycie dublowania trójstopniowego i/lub parzystości podwójnej, ponieważ zapewniają lepszą odporność na uszkodzenia. W szczególności zapewniają, że wszystkie dane pozostają bezpieczne i stale dostępne nawet wtedy, gdy dwie domeny błędów — z Miejsca do magazynowania Direct, co oznacza, że dwa serwery — są dotknięte równoczesnymi awariami.
Przykłady, w których wszystko pozostaje w trybie online
W tych sześciu przykładach pokazano, co może tolerować dublowanie trójstopniowe i/lub parzystość podwójną.
- 1. Utracono jeden dysk (łącznie z dyskami pamięci podręcznej)
- 2. Utracono jeden serwer
- 3. Utracono jeden serwer i jeden dysk
- 4. Dwa dyski utracone na różnych serwerach
- 5. Utracono więcej niż dwa dyski, o ile dotyczy to co najwyżej dwóch serwerów
- 6. Utracone dwa serwery
... w każdym przypadku wszystkie woluminy pozostają w trybie online. (Upewnij się, że klaster obsługuje kworum).
Przykłady, w których wszystko przechodzi w tryb offline
W okresie istnienia Miejsca do magazynowania może tolerować dowolną liczbę awarii, ponieważ przywraca pełną odporność po każdym z nich, biorąc pod uwagę wystarczający czas. Jednak w danym momencie awarie mogą mieć wpływ na co najwyżej dwie domeny błędów. W związku z tym poniżej przedstawiono przykłady tego, czego nie można tolerować dublowania trójstopniowego i/lub parzystości podwójnej.
- 7. Dyski utracone na co najmniej trzech serwerach jednocześnie
- 8. Co najmniej trzy serwery utracone jednocześnie
Użycie
Zapoznaj się z pozycją Tworzenie woluminów.
Następne kroki
Aby uzyskać więcej informacji na temat wymienionych w tym artykule, zobacz następujące tematy: