Macierze RAID

Zadaniem technologii RAID jest zwiększenie niezawodności i wydajności systemów dyskowych - w zastosowaniach profesjonalnych, ale i w komputerach ambitnych amatorów. Do wyboru jest osiem wariantów o specyficznych zaletach i wadach.

Zadaniem technologii RAID jest zwiększenie niezawodności i wydajności systemów dyskowych - w zastosowaniach profesjonalnych, ale i w komputerach ambitnych amatorów. Do wyboru jest osiem wariantów o specyficznych zaletach i wadach.

Gdy przed 20 laty na Uniwersytecie Kalifornijskim w Berkeley obwieszczano światu powstanie RAID, przechowywanie dużych ilości danych wciąż było poważnym problemem. Stosowane powszechnie w centrach obliczeniowych dyski SLED (Single Large Expensive Disk) w formacie 14 cali miały wprawdzie dużą pojemność (2 do 3 GB) i zapewniały duże bezpieczeństwo danych, były jednak skrajnie drogie. Alternatywą były dużo tańsze (w przeliczeniu na pojemność), stosunkowo nowe, "małe" dyski w formacie 5,25 cala. Ich zastosowanie wiązało się jednak z pewnymi problemami.

Składowanie danych na wielu małych zamiast na jednym dużym dysku utrudnia zarządzanie danymi. W przypadku połączenia dysków w pakiet niezależnych napędów (JBOD - Just a Bunch of Disks) znalezienie wolnego miejsca lub wcześniej zapisanych danych staje się skomplikowane.

Z drugiej strony, niezawodność małych dysków była znacznie mniejsza, niż napędów SLED. Dodatkowym utrudnieniem było to, że statystyczne prawdopodobieństwo utraty danych przechowywanych na wielu dyskach jest dużo większe, niż w przypadku pojedynczego dysku.

Rozwiązaniem problemu stała się propozycja, jaką zgłosiło trzech doktorantów Uniwersytetu w Berkeley - David Patterson, Garth Gibson i Randy Katz. Opracowali oni ideę połączenia wielu małych napędów w niezawodny zespół, wyposażony w mechanizmy wykrywania i korekcji błędów. W swojej pracy, opublikowanej w czerwcu 1988, nadali nowej technice niepowtarzalną nazwę. Tytuł pracy brzmiał A Case for Redundant Arrays of Inexpensive Disks (RAID). Tak narodził się RAID.

Szybkie i niezawodne

Źródło wydajności - typowy kontroler RAID, na zdjęciu - firmy Adaptec, z wieloma kanałami i własnym procesorem.

Źródło wydajności - typowy kontroler RAID, na zdjęciu - firmy Adaptec, z wieloma kanałami i własnym procesorem.

Patterson, Gibson i Katz zaproponowali w swojej pracy łącznie pięć różnych sposobów połączenia poszczególnych dysków w macierz. Nazwali je RAID Level 1 do 5 i ta terminologia obowiązuje do dzisiaj. Nazwa ta jest zresztą źródłem częstych nieporozumień. Słowo level sugeruje, że chodzi o kolejne poziomy pewnej procedury, tymczasem w rzeczywistości są to zupełnie różne, niezależne techniki. Techniki te nie tylko realizują założone cele - zapewniają tanie i niezawodne metody składowania dużej ilości danych - ale dają również dodatkowe korzyści. Po pierwsze, macierz RAID zachowuje się, z punktu widzenia użytkownika, jak pojedynczy napęd logiczny. Zarządzanie danymi jest tak proste, jak w przypadku pojedynczego dysku. Po drugie, niektóre z technik RAID zapewniają szybszy dostęp do danych w wyniku ich podziału na poszczególne napędy, z równoległym dostępem. Tę możliwość można jednak wykorzystać tylko wtedy, gdy jest wystarczająca liczba kanałów dostępowych do dysków. Połączenie tak wielu zalet sprawiło, że technologia RAID szybko znalazła szerokie zastosowanie, szczególnie w segmencie serwerowym. Obecnie jest osiem podstawowych poziomów RAID, od Level 0 do Level 7, oraz poziomy kombinowane, na przykład RAID 0+1, lub RAID 50.

RAID programowy a sprzętowy

RAID programowy a sprzętowy

RAID programowy a sprzętowy

Nieco mylące określenia "programowy" i "sprzętowy" RAID - w końcu oba warianty potrzebują oprogramowania - odnosi się do sposobu realizacji.

W przypadku programowego RAID za sterowanie zespołem dysków odpowiada oprogramowanie zainstalowane na komputerze. Niektóre z systemów operacyjnych mają już niezbędne składniki. Na przykład Windows NT obsługuje RAID 0 oraz RAID 1 i 5 - ten ostatni tylko w wersji serwerowej. Linux obsługuje macierze poziomu 0, 1, 4 i 5.

RAID programowy jest więc w wielu przypadkach najtańszym i najprostszym rozwiązaniem. Natomiast oprogramowanie RAID bardzo obciąża procesor komputera, ponadto jest związane z konkretną platformą i systemem operacyjnym. Oprócz tego zwykle mamy tylko jedno lub dwa złącza do podłączenia napędów, co ogranicza możliwości równoległych odwołań do dysków, a zatem i wydajność.

W RAID sprzętowym macierzą steruje specjalny kontroler. Daje to w efekcie odciążenie procesora i wzrost wydajności. Ponadto kontroler RAID łączy się z dyskami przez wiele kanałów, co umożliwia równoległe odwołania i zapewnia szybki transfer danych. Sprzętowe macierze RAID pracują niezależnie od platformy, choć oczywiście wymagają oprogramowania dostosowanego do systemu operacyjnego.

Mieszane zespoły dyskowe

Zerowy RAID - RAID Level 0 przyśpiesza wprawdzie odwołania do dysków, jednak nie zapisuje danych w sposób nadmiarowy.

Zerowy RAID - RAID Level 0 przyśpiesza wprawdzie odwołania do dysków, jednak nie zapisuje danych w sposób nadmiarowy.

eszcze przed kilku laty kontrolery RAID stawiały bardzo wysokie wymagania co do stosowanych napędów. Obowiązkowy był interfejs SCSI, wszystkie napędy musiały mieć taką samą pojemność, a nawet pochodzić z tej samej serii produkcyjnej. Od pewnego czasu reżim nie jest już tak surowy. W przypadku serwerów nadal stosuje się SCSI lub Fibre Channel, przede wszystkim ze względu na wydajność. Do komputerów biurkowych dostępne są też kontrolery z interfejsem Ultra ATA/66 i Ultra ATA/100.

Nowoczesne kontrolery i programowe rozwiązania RAID umożliwiają również stosowanie w zespole napędów różnej pojemności. Niemniej w takim przypadku nie można wykorzystać całej dostępnej pojemności netto dysków. Ponieważ technologia RAID zakłada stosowanie napędów o jednakowej pojemności, w konfiguracji mieszanej można wykorzystać na każdym dysku pojemność równą jedynie pojemności najmniejszego dysku. Na przykład w razie połączenia napędu 20 GB z dwoma napędami 30 GB, do dyspozycji będzie pojemność 3 x 20 GB.

RAID Level 0

Na pewniaka - RAID 1 tworzy na drugim dysku kopię danych.

Na pewniaka - RAID 1 tworzy na drugim dysku kopię danych.

RAID Level 0 to - jak wskazuje zero w nazwie - nie jest rozwiązanie nadmiarowe. Służy jedynie do przyśpieszenia dostępu do napędów. W tym celu RAID 0 łączy dwa lub więcej napędów w jeden napęd logiczny. Zasada działania polega na rozdzieleniu danych na kolejno po sobie następujące bloki (paski - stripes), równomiernie między wszystkie napędy. Dlatego też RAID 0 określa się często mianem systemu paskowego.

Równoległy odczyt względnie zapis na wielu dyskach przyśpiesza wprawdzie transfer, jednak wpływa ujemnie na poziom bezpieczeństwa danych. Jeżeli jeden z napędów ulegnie uszkodzeniu, wszystkie dane są stracone. Wzrost szybkości jest zauważalny głównie w przypadku dużych plików o podobnych charakterze. Mechanizm paskowania może wówczas działać równolegle na wszystkich napędach, zwielokrotniając transfer danych.

Podczas zapisu lub odczytu wielu małych plików czynnikiem ograniczającym jest czas dostępu poszczególnych dysków. W takim przypadku zestaw paskowy uzyskuje w najlepszym przypadku wydajność pojedynczego napędu. Ze względu na te właściwości systemy RAID 0 stosuje się przede wszystkim tam, gdzie przetwarzane są duże ilości danych, a więc w stacjach roboczych do obróbki plików audio/wideo lub CAD/CAM.

RAID Level 1

Obliczanie informacji o parzystości

Obliczanie informacji o parzystości

RAID Level 1 jest systemem lustrzanym (mirroring). To określenie wyjaśnia właściwie wszystko - wszystkie zapisy odbywają się równolegle na dwóch dyskach i w rezultacie każdy z dysków jest lustrzaną kopią drugiego.

Wszystkie dane są w dwóch kopiach, a więc poziom bezpieczeństwa jest wysoki. Nawet w przypadku całkowitej awarii jednego dysku dostępna jest kompletna kopia. Wadą rozwiązania jest to, że użyteczna, dostępna pojemność stanowi zaledwie 50 procent pojemności zespołu. Tak więc koszt składowania danych podwaja się.

Po podłączeniu dysków do własnych kanałów wydajność odczytu danych rośnie dwukrotnie. Z kolei zapis przebiega najwyżej tak szybko, jak na pojedynczym dysku. Dlatego też systemy lustrzane najlepiej sprawdzają się tam, gdzie przechowywane są ważne dane, przeznaczone głównie do odczytu.


Zobacz również