Zgłoś błąd

X

Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.

Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
 
.
Załóż konto
EnglishDeutschРусскийFrançaisEspañol中国

Poradnik RAID - teoria, budowa, naprawa i testy RAID 0, 1, 5, 10

Eversor | 27-01-2012 17:58 |

RAID 5

Pierwszym bardziej skomplikowanym poziomem macierzy RAID, którym się zajmiemy jest RAID 5. Poziom ten podobnie do RAID 0 wykorzystuje dzielenie danych na paski, z tą różnicą że dodatkowo obliczane są dane parzystości. RAID ten stał się popularny ze względu na najmniejszy narzut w zmniejszeniu dostępnej przestrzeni spośród dostępnych nadmiarowych poziomów macierzy. RAID 5 wymaga minimalnie trzech dysków i traci z nich pojemność jedynie jednego. Dla porównania w czterodyskowych konfiguracjach macierzy: RAID 1 straci pojemność aż trzech dysków, RAID 1E, 5EE, 6 i 10 dwóch, a RAID 5 wciąż tylko jednego. Oczywiście coś za coś: RAID 1 odporny będzie w takiej konfiguracji na awarię aż trzech dysków, RAID 1E, 5EE, 6 i 10 dwóch, a RAID 5 jak się łatwo domyśleć tylko jednego. Dane zapisywane są na n dyskach w formie n-1 pasków i jednego paska parzystości. W przeciwieństwie do nieopisywanych przez nas poziomów RAID 3 i RAID 4, które RAID 5 zastąpił, dane parzystości są rozproszone po wszystkich wchodzących w skład macierzy dyskach. Macierz poziomu piątego podobnie do RAID 1 charakteryzuje się asymetrią wydajności, tj. odczyt jest lepszy niż pojedynczego dysku, podczas gdy zapis zależnie od implementacji może być nawet wolniejszy. Ponadto wydajność uszkodzonej macierzy w widoczny sposób potrafi spaść.

RAID 5 na każdy "wiersz" pasków rozłożonych na wszystkich składowych dyskach ma jeden blok będący sumą kontrolną pozostałych. Jeśli w czasie aktywnego zapisu na RAID 5 nastąpi awaria systemu, istnieje duże prawdopodobieństwo że blok parzystości nie będzie zgodny z blokami danych. Co w przypadku niewykrycia tego przed awarią dysku, bądź uszkodzeniem bloku może doprowadzić do niepoprawnej odbudowy danych. Cechę tą określa się czasem mianem dziury zapisu (write hole). Najczęstszym zabezpieczeniem przed tym jest np. bateryjne zabezpieczanie pamięci podręcznej. W macierzy RAID 5 przy nadpisywaniu jednego lub więcej bloków nadpisaniu ulec musi także ponownie przeliczona suma kontrolna. Powoduje to bardzo duży narzut na kontroler i dyski w przypadku pracy na dużej liczbie bardzo małych plików. Każda taka operacja sprowadza się do:

  • Odczytania starego bloku danych
  • Odczytania starego bloku parzystości
  • Porównania starego bloku do żądania zapisu i przeliczeniu parzystości
  • Zapisaniu nowego bloku danych
  • Zapisaniu nowego bloku parzystości

Z tego powodu operacje zapisu na macierzy RAID 5 są dość wymagające w kontekście operacji na dyskach i przepustowości między kontrolerem i dyskami. Dodatkowo w przypadku firmware RAID jak i software RAID wszystkie operacje przeliczania sum kontrolnych wykonywane są na procesorze. Bloki parzystości nie są odczytywane podczas typowego odczytywania danych, gdyż wiązało by się to ze sporym narzutem i niwelowałoby jakikolwiek zysk wydajności. Bloki te czytane są jednak w przypadku gdy odczyt bloków danych zawiedzie na jednym ze składowych dysków macierzy. Suma kontrolna jest wtedy wykorzystywana do odbudowy uszkodzonych danych. Podobnie w przypadku awarii całego dysku dane parzystości wykorzystywane są do odbudowy w locie. Cecha ta zwana jest czasem Trybem Tymczasowej Rekonstrukcji Danych: komputer jest informowany o awarii macierzy by można było o tym fakcie powiadomić administratora, ale wszystkie aplikacje wciąż mogą odczytywać i zapisywać dane. Oczywiście wiąże się to z degradacją wydajności.

Opisana powyżej procedura odczytu-modyfikacji-zapisu daję się mocno we znaki w wydajności zapisu macierzy RAID 5, jeśli operacje przeprowadzane są na plikach mniejszych niż wielkość paska. Jest tak ponieważ przy każdym takim zapisie blok parzystości musi zostać nadpisany nową sumą kontrolną. Co przy sporej liczbie dysków oznacza, że ten sam blok parzystości będzie nadpisany wielokrotnie w przypadku zapisywania danych do wszystkich bloków danych w "wierszu". Z tego powodu RAID 5 ma mizerną wydajność w przypadku losowych zapisów np. przy bazach danych. Bardziej zaawansowane implementacje RAID 5 są w stanie wykorzystywać nieulotną pamięć podręczną "magazynując" wszystkie mniejsze rozkazy zapisu, a następnie dokonując tak zwanego pełnego zapisu "wiersza", czyli zapisaniu wszystkich bloków danych i bloku przeliczonej dla nich sumy kontrolnej za jednym zamachem. Wydajność odczytu pozostaje na zbliżonym poziomie do RAID 0 o tej samej liczbie dysków. Forma zapisu poza paskami parzystości jest praktycznie taka sama jak RAID 0, a powodem różnic jest narzut związany z omijaniem bloków parzystości.

0
Zgłoś błąd
Liczba komentarzy: 21

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.