Dlaczego zdegradowana macierz NAS zwalnia jeszcze zanim rozpocznie się odbudowa?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Zdegradowana macierz NAS może zwolnić zanim rozpocznie się odbudowa, ponieważ awaria już zmieniła sposób wykonywania zwykłych odczytów i zapisów. Macierz może stracić równoległe źródło lustra, rekonstruować brakujące dane parzystości na żądanie, ponawiać próbę z niestabilnym dyskiem lub kierować więcej pracy przez działające członki.

Odbudowa to późniejsze zadanie, które przywraca brakującego członka. Działanie zdegradowane zaczyna się, gdy macierz przestaje ufać jednemu członkowi, więc opóźnienie aplikacji może wzrosnąć nawet gdy zatoka zastępcza jest pusta i nie ma paska postępu rekonstrukcji.

Co się zmienia w momencie, gdy brakuje członka RAID?

Większość macierzy nadmiarowych nadal działa w trybie zdegradowanym, ale ich ścieżka danych nie jest już zdrową ścieżką używaną, gdy każdy członek jest dostępny.

Kontroler macierzy lub warstwa oprogramowania oznacza członka jako uszkodzonego, niedostępnego lub już niegodnego zaufania. Od tego momentu każde żądanie musi unikać brakującego źródła i zachować spójność przy mniejszej liczbie urządzeń.

Dokładna kara zależy od poziomu RAID i żądanego bloku. Odczyty skierowane do działających danych mogą pozostać stosunkowo bezpośrednie, podczas gdy odczyty wymagające uszkodzonego członka potrzebują rekonstrukcji lub innej repliki.

Dlaczego odczyty parzystości wymagają więcej pracy przed odbudową?

Żądanie danych należących do uszkodzonego członka staje się odczytem zdegradowanym. Podczas tego procesu zdegradowane odczyty wykorzystują CPU do odzyskiwania danych z zachowanych fragmentów danych i parzystości.

Zamiast odczytywać jeden żądany blok, macierz może potrzebować bloków z kilku działających dysków, wykonać operację XOR lub obliczenia kodu korekcyjnego i zwrócić zrekonstruowany wynik klientowi. Zwiększa to rozgałęzienie urządzenia i przetwarzanie na żądanie.

Ponieważ ta rekonstrukcja odbywa się na pierwszym planie, użytkownicy mogą zauważyć wolniejsze otwieranie plików, odczyty baz danych, przewijanie mediów lub uruchamianie aplikacji zanim zostanie dodany jakikolwiek dysk zastępczy.

Dlaczego lustro traci równoległość odczytu?

Sprawne lustra mogą rozdzielać odczyty między równoważne kopie. Po awarii jednego członka pozostały członek lustra obsługuje odczyty samodzielnie, eliminując równoległość odczytów i rozkład kolejki, które istniały przed awarią.

Przepustowość sekwencyjna może zbliżyć się do możliwości jednego dysku zamiast łącznego zachowania pary lustrzanej. Żądania losowe również gromadzą się za kolejką jednego urządzenia, zamiast być obsługiwane przez mniej obciążoną replikę.

Ta kara nie wymaga obliczeń parzystości. Wynika z utraty dostępnej kopii i skoncentrowania obciążenia na pozostałym członku.

Dlaczego dysk z częściową awarią może być wolniejszy niż dysk z czystą awarią?

Dysk, który pozostaje widoczny, ale ma problemy z sektorami, może długo powtarzać polecenia. W Linuxowym oprogramowaniu RAID długie limity czasowe dysku mogą zatrzymać macierz, zanim warstwa pamięci masowej się podda i odbuduje blok gdzie indziej.

Te przerwy mogą być gorsze niż dysk, który uległ czystej awarii i został usunięty z aktywnej ścieżki. Żądania czekają na niepewnego członka, kolejki rosną za nim, a aplikacje doświadczają długich opóźnień nawet wtedy, gdy średnia przepustowość nadal wygląda na akceptowalną.

Kontrolery i platformy NAS różnią się pod względem limitów czasowych, polityk odzyskiwania błędów i usuwania członków. Dlatego dwie macierze o tym samym poziomie RAID mogą reagować bardzo różnie na ten sam dysk marginalny.

Jak normalne obciążenia NAS konkurują z I/O w trybie zdegradowanym?

Pozostałe dyski muszą nadal obsługiwać SMB, NFS, kontenery, indeksowanie multimediów, kopie zapasowe i bazy danych aplikacji, jednocześnie dostarczając dodatkowe odczyty brakujących danych. tryb zdegradowany obciąża pozostałe dyski.

Żądanie, które wcześniej dotyczyło jednego lub dwóch urządzeń, może teraz obejmować całą grupę parzystości. Zużywa to przepustowość, zwiększa głębokość kolejki i może wypierać przydatne wpisy pamięci podręcznej z odtworzonymi danymi i metadanymi.

Spowolnienie staje się bardziej widoczne w macierzach HDD, zajętych systemach wieloużytkownikowych oraz przy obciążeniach z wieloma małymi zależnymi operacjami I/O. Pojedyncza duża sekwencyjna kopia może ukryć opóźnienia, które baza danych aplikacji ujawnia natychmiast.

Co się zmienia, gdy odbudowa wreszcie się rozpoczyna?

Dodanie dysku zastępczego rozpoczyna drugą fazę wydajności. System musi przywrócić nadmiarowość, a ruch odbudowy może spowolnić odczyty i zapisy, podczas gdy aplikacje na pierwszym planie pozostają aktywne.

Odbudowa odczytuje dane z pozostałych dysków, oblicza brakujące treści i zapisuje je na dysku zastępczym. Ten szeroki strumień w tle konkuruje z już istniejącą zdegradowaną pracą na pierwszym planie.

Priorytet odbudowy to zatem kompromis. Bardziej agresywna odbudowa może skrócić okno podatności, ale zużywa więcej natychmiastowej przepustowości, podczas gdy bardzo łagodna odbudowa zachowuje responsywność kosztem dłuższego pozostawania w stanie degradacji.

Stan tablicy Dodatkowa praca Prawdopodobny efekt dla użytkownika
Zdrowe lustro Odczyty mogą korzystać z dowolnej kopii Równoległość i mniejsze obciążenie kolejki
Zdegradowane lustro Jeden członek obsługuje wszystkie odczyty Niższa przepustowość i wyższa latencja
Zdegradowana tablica parzystości Brakujące bloki rekonstruowane na żądanie Więcej odczytów urządzeń i pracy CPU
Odbudowa tablicy parzystości Rekonstrukcja pierwszoplanowa plus strumień odzyskiwania Drugie, często większe obciążenie wydajnościowe

Najczęściej zadawane pytania

Czy zdegradowana tablica RAID może być wolna, nawet gdy nie trwa odbudowa?

Tak. Tablica może już rekonstruować brakujące odczyty, korzystać z jednego pozostałego członka lustra lub czekać na ponowne próby z niestabilnego dysku.

Czy każdy odczyt staje się wolniejszy w zdegradowanej tablicy parzystości?

Niekoniecznie. Odczyty danych dostępnych bezpośrednio na pozostałych członkach mogą pozostać szybkie, podczas gdy żądania wymagające udziału uszkodzonego członka wymagają rekonstrukcji.

Dlaczego usunięcie uszkodzonego dysku czasem poprawia responsywność?

Marginalny dysk może zatrzymywać polecenia podczas powtarzanych prób odzyskiwania. Gdy tablica przestaje na niego czekać, warstwa RAID może przewidywalnie rekonstruować nieudane odczyty z nadmiarowości.

Czy priorytet odbudowy zawsze powinien być ustawiony na maksimum?

Nie ma uniwersalnej konfiguracji pasującej do każdego NAS. Wyższy priorytet skraca czas degradacji, ale może zmniejszyć responsywność usługi. Decyzja powinna odzwierciedlać ważność obciążenia, stan tablicy i gotowość kopii zapasowej.

Ostateczne wnioski

NAS nie czeka na odbudowę, aby stać się zdegradowany. Wydajność może spaść natychmiast, ponieważ zdrowa ścieżka odczytu już zniknęła: lustra tracą replikę, tablice parzystości rekonstruują brakujące bloki, a marginalne dyski mogą utrzymywać kolejki podczas długich prób ponownych. Odbudowa dodaje drugie obciążenie na tej zdegradowanej ścieżce, dlatego spowolnienie często zaczyna się przed pojawieniem się paska postępu i nasila się po jego rozpoczęciu.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.