RAID - co to jest i dla kogo ?

Ostatnio tak wiele mówi się o technice zapisywania danych na dyskach magnetycznych RAID, że przeciętny użytkownik komputera osobistego może przypuszczać, iż jest ona lekarstwem na wszystkie kłopoty. My też nie jesteśmy bez winy, gdyż w CW do tej pory nie pojawiło się rzeczowe wyjaśnienie zalet i wad techniki. Naprawiamy to niedopatrzenie.

Ostatnio tak wiele mówi się o technice zapisywania danych na dyskach magnetycznych RAID, że przeciętny użytkownik komputera osobistego może przypuszczać, iż jest ona lekarstwem na wszystkie kłopoty. My też nie jesteśmy bez winy, gdyż w CW do tej pory nie pojawiło się rzeczowe wyjaśnienie zalet i wad techniki. Naprawiamy to niedopatrzenie.

Zacznijmy od wytłumaczenia samego skrótu RAID. Najczęściej - błędnie -czyta się go jako Redundand Array of Inexpensive Disks (Redundacyjna macierz tanich dysków). Jednakże twórcy metody z Uniwersytetu Kalifornijskiego w Berkeley, którzy ją opisali w 1987 r., mieli na myśli Redundand Array of Independent Disks (Redundacyjna macierz niezależnych dysków). Bowiem niestety, macierze RAID wcale nie są tanie!

W świecie informatyki profesjonalnej powoli wymierają duże komputery, zaś ich miejsce zajmują systemy sieciowe komputerów PC oraz stacje robocze SUN, IBM, HP i in. Duże komputery zapewniały skuteczną ochronę danych, szybki dostęp zwłaszcza w przetwarzaniu transakcyjnym, dobrze opracowane metody archiwizowania na taśmy magnetyczne itd. Przejście na systemy sieciowe bynajmniej nie zmieniło wymagań co do zasad obsługi klienta, potrzeby dostępu do danych, bezpiecznego zapisu transakcji itd. Okazało się jednak, że współczesne komputery osobiste PC nie są zbyt dobrze przystosowane do obsługi właśnie takich prac.

Wymagania użytkowników

Jak pokazują badania prowadzone przez International Data Corp. (IDC) znaczna większość użytkowników systemów profesjonalnych przedkłada bezpieczny i niezakłócony dostęp do danych nad szybkość ich przesyłania. I to właśnie zapewniają im macierze dyskowe RAID.

Dostęp do danych. Typowe komputery w środowisku biznesu muszą pracować 40 godz. tygodniowo, chociaż wiele przedsiębiorstw wymaga pracy "na okrągło", to jest 24 godz. na dobę przez 7 dni przez 52 tygodnie w roku. Niedostępność danych może znacząco odbić się na finansach firmy, łącznie z jej wypadnięciem z interesu. W przypadku operacji rezerwacji biletów liczy się także szybkość dostępu do danych: im większa, tym więcej klientów można obsłużyć, sprzedając im bilet.

Szybkość trzeba uzasadnić. Potrzeba szybkiego dostępu do danych jest na ogół wyolbrzymiana. Jest to wymaganie dość oczywiste dla superkomputera, wykonującego tygodniami skomplikowane obliczenia numeryczne (a problemy do rozwiązania są coraz większe). Jednakże w warunkach przetwarzania transakcyjnego, typowych dla banków, systemów rezerwacji miejsc, sprzedaży detalicznej i hurtowej, podawanie średniego czasu dostępu do dysku nie ma żadnego sensu! Jeżeli użytkownik osiągnął zadowalający go czas odpowiedzi programu, to nie dopuszcza myśli o jego zwiększeniu. Nie ma on jednak bezpośredniego związku z czasem dostępu lub szybkością transmisji z dysku.

Zarządzanie danymi. Zgodnie z prawem Murphy'ego zawsze znajdzie się tyle danych, aby zapełnić każdy dysk. W biznesie zarządzanie danymi przez usuwanie informacji nieaktualnych, przenoszenie rzadko używanych danych na nośniki wolne (dyski optyczne lub taśmy) i archiwizowanie danych powinny stanowić ważną część pracy administratora systemu komputerowego. Każdy system dyskowy powinien umożliwić skuteczne zarządzanie danymi.

Przyrost pojemności dysków

Jak pokazały badania IDC średnia pojemność dysków dla komputerów PC rośnie co roku o 40%, zaś w br. sumaryczna pojemność dysków tych komputerów w świecie przekroczy pojemność wszystkich innych komputerów razem. (To samo zresztą dotyczy mocy obliczeniowej komputerów PC i pozostałych). Pojemność dysków dla komputerów średnich przyrasta o ok. 17% rocznie, zaś dla superkomputerów (Cray, Convex) ten przyrost jest równie duży jak dla PC.

Jednocześnie szybko rośnie liczba komputerów połączonych w sieci lokalne i w br. już ponad 60% wszystkich komputerów pracuje w sieciach, zarządzanych na ogół przez sieciowe systemy operacyjne Novell. Przyrost zapotrzebowania na pojemności dysków w sieciach jest większy niż dla indywidualnych komputerów PC.

Nowe zastosowania dużych komputerów

Producenci dużych komputerów złapani w pułapki "downsizingu" i "rightsizingu" dążą do przedstawienia nowych możliwości używania ich produktów. Na przykład IBM proponuje używanie swych dużych komputerów jako serwerów multimedialnych oraz superstacji do przetwarzania obrazów. Chwilowy brak odpowiedniego oprogramowania nie powoduje masowego ruchu użytkowników w tym kierunku, jednakże jeśli ta tendencja będzie podtrzymana, spowoduje ona zwiększone zapotrzebowanie na duże, bezpieczne dyski.

Jak do tego obrazu pasuje RAID?

Metoda RAID została opracowana w celu zmniejszenia coraz bardziej rozszerzającej się luki między rosnącą szybkością procesora a szybkością przesyłania danych z dysku oraz w celu zwiększenia szybkości przesyłania dużej ilości danych do/z dysków w środowisku superkomputerów. Celem było zastąpienie dużych dysków przez zestawy mniejszych dysków i takie rozdzielenie umieszczonych na nich danych (paskami -"striping"), aby zwiększyć efektywną szybkość przesyłania. W teorii, rozdzielenie danych na kilka dysków pozwala na jednoczesny do nich dostęp oraz ułatwia zwiększanie pojemności zestawu w niewielkich kwantach pojemności. Jednakże w praktyce, zapisywanie informacji o parzystości danych powoduje zmniejszenie wydajności systemu.

Jeżeli dyski w macierzy RAID będą pracowały jednocześnie, to możliwa będzie taka organizacja danych, aby osiągnąć większą szybkość przesyłania. Jednakże wzrost liczby dysków automatycznie powoduje zmniejszenie niezawodności całego zestawu. Dla jej zwiększenia przewidziano więc możliwość korekcji danych, korzystając z zapisanej informacji o parzystości lub z kodów korekcyjnych Hamminga.

Zapisywanie parzystości

Sposób zapisu informacji o parzystości danych zależy od liczby dysków w zestawie. Jeżeli przyjmiemy, że macierz dyskowa liczy 5 dysków, to na pierwszych czterech zapisuje się sektory danych, natomiast odpowiadający im sektor na dysku piątym zawiera, bit po bicie, informację o parzystości tych czterech sektorów danych. W razie uszkodzenia dowolnego pojedynczego sektora da się go odtworzyć na podstawie informacji z pozostałych czterech sektorów. Zapisywanie parzystości i odzyskiwanie zawartości uszkodzonego sektora wymaga jedynie sprzętowej realizacji funkcji logicznej "suma modulo 2" (lub inaczej XOR), co jest szybkie i tanie.

Teoria jest prosta. Praktyka jest nieco trudniejsza, gdyż dla odzyskania zawartości pojedynczych uszkodzonych sektorów (uszkodzenia powierzchni dysku) istotnie wystarczy zrealizować sumę modulo 2. Jeżeli jednak uszkodzony zostanie cały dysk, to należy ręcznie wymienić go na sprawny i odtworzyć jego zawartość.

Oczywistą wadą zapisywania parzystości jest cena dodatkowego dysku oraz czas związany z samą operacją.

Realizacje macierzy RAID

Nieformalne uzgodnienia w przemyśle doprowadziły do zdefiniowania 6 poziomów macierzy RAID, od 0 do 5. Wszystkie one (za wyjątkiem poziomu 0) mają następujące wspólne cechy:

1. RAID jest zestawem kilku dysków fizycznych, widzianych przez system operacyjny jako jeden dysk logiczny.

2. Dane są rozrzucane na wszystkie dyski fizyczne zestawu.

3. Redundancyjna pojemność dysków służy do zapamiętania informacji o parzystości danych, co gwarantuje ich odzyskanie w razie awarii dysku.

Poszczególne poziomy realizacji RAID różnią się wykorzystaniem cech 2 i 3, mających największy wpływ na wydajność macierzy.

RAID poziom 0. Polega na tym, że dane zapisuje się rozrzucone paskami na różnych dyskach fizycznych, bez żadnej dodatkowej kontroli i sprawdzania. Jeżeli każdy z dysków fizycznych jest obsługiwany przez własny kontroler, to efektywna szybkość przesyłania rośnie tyle razy, ile dysków fizycznych jest w zestawie. Jednocześnie poziom bezpieczeństwa danych jest niższy niż w przypadku pojedynczego dysku o odpowiednio dużej pojemności i znacznie niższy niż w przypadku innych systemów RAID.

RAID poziom 1. Zwykle nazywa się go zapisem "lustrzanym", gdyż polega na powielaniu danych na dwóch dyskach. Dokładna kopia danych z jednego dysku znajduje się na drugim dysku. Odczyt danych jest znacznie szybszy, gdyż można różne sektory czytać z różnych dysków; czas zapisu jest taki sam jak dla pojedynczego dysku. Znaczny koszt tej realizacji wynika z konieczności powielania dysków i kontrolera. Jest to jedna z najpopularniejszych realizacji macierzy RAID, zwłaszcza tam, gdzie najważniejsze jest bezpieczeństwo danych.

RAID poziom 2. Polega na rozdzielaniu informacji, bit po bicie, na różne dyski fizyczne i zapisywaniu kodów korekcyjnych Hamminga. Zależnie od liczby bitów korekcyjnych możliwe jest poprawianie wielu błędów. Metoda stosowana w dużych komputerach; uważa się, że jest zbyt droga do zastosowań sieciowych.

RAID poziom 3. Dane do dysków przesyłane są równolegle z rozdzieleniem bajt po bajcie na różne dyski. Jednocześnie wyliczana jest parzystość zapisywanych danych. Jest ona zapisywana na innym dysku fizycznym. W razie awarii jednego z dysków, na bieżąco odzyskuje się informacje na podstawie danych z pozostałych dysków, zaś po zamianie dysku na sprawny, daje się odtworzyć jego zawartość. Cały zestaw może realizować tylko jedną operację wejścia/wyjścia. W tej realizacji stosuje się dyski działające synchronicznie. Zaletą macierzy RAID poziom 3 jest duża szybkość zapisu i odczytu dla dużych plików. Wadą, mała wydajność w przetwarzaniu transakcyjnym (można bowiem odczytywać/zapisywać tylko jedną transakcję - p. RAID 4).

RAID poziom 4. Polega na tym, że dane zapisuje się rozrzucone paskami na różnych dyskach fizycznych, podobnie jak dla macierzy RAID 0, zaś na oddzielnym dysku zapisuje się informacje o parzystości.

Poważną wadą macierzy RAID 3, 4 i 5 jest zmniejszona szybkość zapisu niepełnych pasków danych (stripe). Wynika ona z konieczności prowadzenia czterech operacji odczytu/zapisu przy każdej operacji zapisu nowych danych.

Kontroler musi bowiem odczytać dawne dane i dawne informacje o parzystości oraz zapisać nowe dane i nowe informacje o parzystości. Ponieważ każda operacja zapisu musi być poprzedzona operacją odczytu dawnych danych z sektorów, na które zapisze się nowe dane, to szybkość zapisu określona jest przez szybkość obrotową dysku: nowe dane na to samo miejsce można najwcześniej zapisać po jednym obrocie talerza dysku. I właśnie to opóźnienie określa wydajność macierzy RAID 4 w przetwarzaniu transakcyjnym. Na dodatek przy każdej operacji zapisu na dowolnym dysku fizycznym trzeba sięgać do dysku zawierającego dane o parzystości. I on właśnie limituje faktyczną wydajność systemu w przetwarzaniu transakcyjnym. Praktycznie nie stosowana.

RAID poziom 5. Jest najpopularniejszy w zastosowaniach do przetwarzania transakcyjnego, na platformach unixowych i w sieciach Novell. Informacje o parzystości zapisuje się podobnie jak dla macierzy RAID 4, ale są one rozrzucone na wszystkich dyskach fizycznych. Możliwy jest więc jednoczesny odczyt/zapis wielu danych z różnych dysków fizycznych.

Podobnie jak dla macierzy RAID 4, konieczne jest wykonanie 4 operacji zapisu/odczytu dla każdej operacji zapisu niepełnego paska danych. Nie występuje jednak problem sięgania przez wszystkie kontrolery do jednego dysku zawierającego dane o parzystości. Jest to rozwiązanie lepsze niż macierz RAID 4.

Macierz RAID 5 odznacza się tym większą szybkością odczytu, im więcej dysków fizycznych zawiera, ale jest tym wolniejsza, im więcej operacji zapisu wykonuje. Właściwe zastosowanie buforowania przyśpiesza operacje zapisu.

Można sobie wyobrazić jeszcze inne możliwości organizacji macierzy dyskowych. Czasami definiuje się macierze RAID N (N > 5). W celu poprawienia niezawodności i dostępności danych proponuje się skomplikowane i eleganckie rozwiązania, polegające na polepszeniu odporności na uszkodzenia przez powielanie napędów, kontrolerów, dodawanie buforów dyskowych i in.

Naprawialność macierzy dyskowych

Jak już wspomniałem, jeżeli nastąpi uszkodzenie jednego z dysków, zawierających dane, jego zawartość będzie można odtworzyć dopiero po zastąpieniu go przez sprawny dysk. Nie jest to proste, jeśli system dyskowy ma działać non stop.

Różni producenci macierzy dyskowych proponują różne rozwiązania. Są to rozwiązania typu "zamiana na gorąco" (hot replacement), "wymiana na gorąco" (hot swap) i "zapasowy dysk on-line" (on-line spare).

Zamiana na gorąco polega na tym, że program obsługi macierzy wstrzymuje wszystkie operacje odczytu i zapisu do/z macierzy. Jedynie dane znajdujące się w buforze dyskowym są dostarczane do systemu, zaś żądania zapisu są kolejkowane w buforze. Po zamianie na dysk sprawny następuje odtworzenie jego zawartości.

Wymiana na gorąco jest możliwa tylko w takim systemie, w którym każdy z fizycznych dysków jest obsługiwany przez oddzielny sterownik SCSI. Program obsługi macierzy korzysta z danych (i zapisuje dane) na dyskach aktywnych. Po zamianie na dysk sprawny następuje odtworzenie jego zawartości.

Zapasowy dysk on-line polega na automatycznej zamianie dysku uszkodzonego na dysk zapasowy, stale działający w systemie.

Programy obsługi macierzy dyskowych RAID

W zasadzie, z nielicznymi wyjątkami (Corel RAID) nie istnieją samodzielne programy obsługi macierzy dyskowych. Producenci macierzy dyskowych dostarczają kompletne rozwiązania w postaci zestawu dyskowego oraz programu obsługi, przystosowanego do konkretnego sieciowego systemu operacyjnego, np. Novell NetWare, Microsoft LAN Manager czy OS/2.

Bufory dyskowe

Stanowią ważną część każdej macierzy dyskowej i w znacznej mierze określają jej efektywną szybkość. Często w odniesieniu do standardowych dysków IDE podaje się informację, że kontroler zawiera np. bufor 32 KB. Nieuświadomiony użytkownik wyciąga z tego informację, że już nie potrzebuje stosować bufora dyskowego (cache typu SMARTDRV) w pamięci komputera. Nie jest to oczywiście prawda. Pojemność tego bufora jest na ogół za mała, aby zapewnić mu skuteczność działania. Ponadto, na ogół jest to bufor czytający kolejne sektory z dysku (całą ścieżkę) w nadziei, że będą potrzebne w najbliższej przyszłości. Jeżeli odczytywany plik znajduje się na innych ścieżkach, to zawartość bufora staje się zbędna.

Prawdziwy bufor dyskowy (zarówno w kontrolerze dysku, jak w pamięci komputera) przechowuje przy odczycie, zależnie od przyjętego algorytmu czyszczenia bufora, informacje najczęściej używane lub ostatnio odczytane, usuwa zaś dawniejsze. Przy zapisie porządkuje informacje w taki sposób, aby dało się zapisać całe ścieżki przy każdym obrocie talerza dyskowego.

Producenci macierzy dyskowych

Spośród światowych producentów macierzy dyskowych, na rynku polskim najbardziej znane są firmy Microspolis (macierze RADION), Hewlett-Packard, Data General (macierze CLARiiON).

Przedstawicielem Micropolis w Polsce jest firma Polcom z Krakowa (tel.

w Krakowie 36 77 95, w Warszawie 20 28 81 w. 165).

Przedstawicielem Data General jest firma ABCData z Warszawy (tel. 633 70 11). Generalne przedstawicielstwo Hewlett-Packard mieści się w Warszawie (tel. 37 50 665).


TOP 200