RAID

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, szukaj

RAID (ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków) - polega na współpracy dwóch lub więcej dysków twardych w taki sposób, aby zapewnić dodatkowe możliwości, nieosiągalne przy użyciu jednego dysku.

RAID używa się w następujących celach:

Podczas projektowania macierzy RAID uwzględniane są różnorodne zastosowania pamięci masowej. Przeznaczenie macierzy implikuje wybór odpowiednich technologii w zakresie dysków, kontrolerów, pamięci cache, sposobu przesyłania danych oraz poziomu niezawodności (odpowiedniej nadmiarowości/redundancji podzespołów i połączeń). W macierzach RAID stosuje się wszystkie produkowane obecnie rodzaje dysków twardych: ATA (wycofane), SATA, SCSI (wycofane), SAS, Fibre Channel. Dominują jednak rozwiązania oparte o serwerowe wersje SATA, SAS i FC. Rośnie udział dysków SSD w rozwiązaniach wymagających krótkiego czasu dostępu do rozproszonych danych.

Spis treści

[edytuj] Projektowanie

Należy zwrócić uwagę na sposób podłączenia dysków. Zapewnienie wysokiej dostępności do dysków wymaga dołączenia tych dysków do oddzielnych kanałów SCSI/SATA lub zastosowanie droższych 2-portowych dysków FC i podłączenia do odpowiedniego kontrolera (lub kontrolerów). Spotykane są zarówno rozwiązania programowe, gdy odpowiedni moduł systemu operacyjnego zajmuje się odczytem/zapisem danych w macierzy, jak również sprzętowe, dzięki zastosowaniu dedykowanych sprzętowych kontrolerów RAID dołączonych do systemów za pomocą redundantnych magistral (SCSI) lub kanałów komunikacyjnych (Fibre Channel).

Każde z wymienionych rozwiązań ma swoje zalety i wady.

RAID sprzętowy RAID programowy
większa wydajność poprzez zmniejszenie obciążenia CPU, gdyż przeliczaniem sum kontrolnych zajmuje się wówczas dedykowany kontroler relatywnie mniejsza wydajność związana z większym obciążeniem CPU, gdyż przeliczaniem sum kontrolnych zajmuje się jednostka centralna
możliwość bezpośredniego startu systemu z macierzy dyskowej w związku z przezroczystością macierzy dyskowej dla systemu operacyjnego partycja startowa powinna znajdować się poza macierzą, co wiąże się z koniecznością zastosowania dodatkowego nośnika wyłącznie do celu ładowania systemu
większa kompatybilność z mniej popularnymi systemami operacyjnymi, konfiguracja macierzy odbywa się poprzez menu podobne do menu BIOS dostępne jeszcze przed startem systemu operacyjnego, dla którego sama macierz jest zupełnie przezroczysta, przez co z punktu widzenia OS zachowuje się ona jak każdy inny dysk twardy nie wszystkie systemy operacyjne obsługują technologię RAID, co czasami może oznaczać instalację dodatkowego oprogramowania dedykowanego dla danego systemu
niestandardowy sposób zapisu danych na nośnikach wykorzystujący własnościowe protokoły i struktury danych inne dla każdego producenta, a nawet mogące się różnić w obrębie różnych modeli kontrolerów tego samego producenta, co w przypadku uszkodzenia kontrolera może uniemożliwić odzyskanie danych pomimo sprawnie działających dysków twardych standardowy (często również otwarty) sposób zapisu danych pozwalający na korzystanie z macierzy dyskowej po podłączeniu do innego systemu obsługującego ten standard
możliwość łączenia różnych interfejsów takich jak ATA, SCSI, SATA, USB w obrębie jednej macierzy

Istnieją też rozwiązania łączące obydwie metody np. FakeRAID, gdzie BIOS wspomaga ustawianie macierzy, monitorowanie wykonane jest w oprogramowaniu, a odbudowę macierzy czy obliczanie sum sprawdzających podczas zapisu zleca się głównym procesorom komputera.

Możliwości, jakie daje RAID, nie należy mylić z kopią zapasową danych (data back up), która jest zupełnie odrębnym zagadnieniem. Utrata ważnych danych może nastąpić nie tylko z powodu awarii fizycznego nośnika, ale również z powodu błędów systemu operacyjnego, działalności wirusów komputerowych lub innego szkodliwego oprogramowania, jak również na skutek umyślnej lub nieumyślnej działalności użytkowników danego systemu. Z powyższych powodów nie należy rezygnować z regularnego wykonywania kopii zapasowych danych wyłącznie dlatego, że wdrożyliśmy technologię RAID w naszym systemie.

[edytuj] Standardowe poziomy RAID

[edytuj] Tabela

Poziom RAID Minimalna liczba dysków (N) Dostępna przestrzeń Maksymalna liczba dysków, które mogą ulec awarii bez utraty danych
RAID 0
2
N
0
RAID 1
2
1
N - 1
RAID 2
3
N - log N
1
RAID 3
3
N - 1
1
RAID 4
3
N - 1
1
RAID 5
3
N - 1
1
RAID 6
4
N - 2
2
RAID 0+1
4
zależnie od konfiguracji
zależnie od konfiguracji
RAID 1+0
4
zależnie od konfiguracji
zależnie od konfiguracji

[edytuj] RAID 0

RAID 0.svg

Polega na połączeniu ze sobą dwóch lub więcej dysków fizycznych tak, aby były widziane jako jeden dysk logiczny. Powstała w ten sposób przestrzeń ma rozmiar taki jak N*rozmiar najmniejszego z dysków. Dane są przeplecione pomiędzy dyskami. Dzięki temu uzyskujemy znaczne przyśpieszenie operacji zapisu i odczytu ze względu na zrównoleglenie tych operacji na wszystkie dyski w macierzy. Warunkiem uzyskania takiego przyśpieszenia jest operowanie na blokach danych lub sekwencjach bloków danych większych niż pojedynczy blok danych macierzy RAID 0 - ang. stripe unit size.

Korzyści:

Wady:

[edytuj] Przykład 1

Trzy dyski po 500 GB zostały połączone w RAID 0. Powstała przestrzeń ma rozmiar 1,5 TB. Szybkość zapisu lub odczytu jest prawie trzykrotnie większa niż na pojedynczym dysku. Oczywiście sumaryczna szybkość jest 3-krotnością szybkości najwolniejszego z dysków, gdyż kontroler raid podczas zapisu/odczytu musi poczekać na najwolniejszy dysk. Stąd też sugeruje się dyski identyczne, o identycznej szybkości i pojemności.

[edytuj] Przykład 2

Trzy dyski: 160 GB, 500 GB i 80 GB zostały połączone w RAID 0. Powstała w ten sposób przestrzeń ma rozmiar taki jak N*rozmiar najmniejszego z dysków, czyli 3·80 GB = 240 GB. Szybkość jest ograniczona szybkością najwolniejszego dysku, analogicznie do poprzedniego przykładu.

[edytuj] Zastosowanie RAID 0

Rozwiązanie do budowy tanich i wydajnych macierzy, służących do przetwarzania dużych plików multimedialnych. Przechowywanie danych na macierzy RAID 0 wiąże się jednak ze zwiększonym ryzykiem utraty tych danych - w przypadku awarii jednego z dysków tracimy wszystkie dane.

Podobne korzyści kosztem mniejszej wydajności możemy uzyskać stosując technologię LVM, która charakteryzuje się mniejszym ryzykiem utraty danych - w przypadku awarii jednego z dysków istnieje teoretyczna możliwość odzyskania danych znajdujących się na sprawnym dysku, gdyż - w przeciwieństwie do RAID 0 - LVM nie przeplata danych pomiędzy wieloma dyskami.

[edytuj] RAID 1 (lustrzany)

RAID 1.svg

Polega na replikacji pracy dwóch lub więcej dysków fizycznych. Powstała przestrzeń ma rozmiar najmniejszego nośnika. RAID 1 jest zwany również lustrzanym (ang. mirroring). Szybkość zapisu i odczytu zależy od zastosowanej strategii:

Korzyści:

Wady:

[edytuj] Przykład

Trzy dyski po 250GB zostały połączone w RAID 1. Powstała w ten sposób przestrzeń ma rozmiar 250 GB. Jeden lub dwa dyski w pewnym momencie ulegają uszkodzeniu. Cała macierz nadal działa.

[edytuj] RAID 2

Dane na dyskach są paskowane. Zapis następuje po 1 bicie na pasek. Potrzebujemy minimum 8 powierzchni do obsługi danych oraz dodatkowe dyski do przechowywania informacji generowanych za pomocą kodu Hamminga potrzebnych do korekcji błędów. Liczba dysków używanych do przechowywania tych informacji jest proporcjonalna do logarytmu liczby dysków, które są przez nie chronione. Połączone dyski zachowują się jak jeden duży dysk. Dostępna pojemność to suma pojemności dysków przechowujących dane.

Korzyści:

Wady:

[edytuj] RAID 3

RAID 3.svg

Dane składowane są na N-1 dyskach. Ostatni dysk służy do przechowywania sum kontrolnych. Działa jak striping (RAID 0), ale w macierzy jest dodatkowy dysk, na którym zapisywane są kody parzystości obliczane przez specjalny procesor.

Korzyści:

Wady:

[edytuj] Przykład

Pięć dysków po 250GB zostało połączonych w RAID 3. Powstała w ten sposób przestrzeń ma rozmiar 1TB (250 GB zarezerwowane na sumy kontrolne). Jeden dysk w pewnym momencie ulega uszkodzeniu. Cała macierz nadal działa. Po włożeniu nowego dysku na miejsce uszkodzonego jego zawartość odtwarza się.

[edytuj] RAID 4

RAID 4.svg

RAID 4 jest bardzo zbliżony do RAID 3, z tą różnicą, że dane są dzielone na większe bloki (16, 32, 64 lub 128 kB). Takie pakiety zapisywane są na dyskach podobnie do rozwiązania RAID 0. Dla każdego rzędu zapisywanych danych blok parzystości zapisywany jest na dysku parzystości.

Przy uszkodzeniu dysku dane mogą być odtworzone przez odpowiednie operacje matematyczne. Parametry RAID 4 są bardzo dobre dla sekwencyjnego zapisu i odczytu danych (operacje na bardzo dużych plikach). Jednorazowy zapis małej porcji danych potrzebuje modyfikacji odpowiednich bloków parzystości dla każdej operacji I/O. W efekcie, za każdym razem przy zapisie danych system czekałby na modyfikacje bloków parzystości, co przy częstych operacjach zapisu bardzo spowolniłoby pracę systemu.

[edytuj] RAID 5

RAID 5.svg

Poziom piąty pracuje bardzo podobnie do poziomu czwartego z tą różnicą, iż bity parzystości nie są zapisywane na specjalnie do tego przeznaczonym dysku, lecz są rozpraszane po całej strukturze macierzy. RAID 5 umożliwia odzyskanie danych w razie awarii jednego z dysków przy wykorzystaniu danych i kodów korekcyjnych zapisanych na pozostałych dyskach (zamiast tak jak w 3. na jednym specjalnie do tego przeznaczonym, co nieznacznie zmniejsza koszty i daje lepsze gwarancje bezpieczeństwa). RAID 5 oferuje większą prędkość odczytu niż lustrzany (ang. mirroring) ale przy jego zastosowaniu nieznacznie spada prędkość zapisu. Poziom piąty jest całkowicie bezpieczny dla danych - w razie awarii system automatycznie odbuduje utracone dane, tak by mogły być odczytywane, zmniejszając jednak bieżącą wydajność macierzy. Spowolnienie jest chwilowe. Po zamontowaniu nowego dysku i odtworzeniu danych wydajność macierzy wraca do normy.

Macierz składa się z 3 lub więcej dysków. Przy macierzy liczącej N dysków jej objętość wynosi N - 1 dysków. Przy łączeniu dysków o różnej pojemności otrzymujemy objętość najmniejszego dysku razy N - 1. Sumy kontrolne danych dzielone są na N części, przy czym każda część składowana jest na innym dysku, a wyliczana jest z odpowiedniego fragmentu danych składowanych na pozostałych N-1 dyskach.

Korzyści:

Wady:

[edytuj] Przykład

Pięć dysków po 250GB zostaje połączonych w RAID 5. Powstała w ten sposób przestrzeń ma rozmiar 1 TB. Jeden dysk w pewnym momencie ulega uszkodzeniu. Cała macierz nadal działa. Po wymianie uszkodzonego dysku na nowy jego zawartość zostaje odtworzona.

[edytuj] RAID 6

RAID 6.svg

Rozbudowana, o dodatkowy dysk, macierz typu 5 (często pojawia się zapis RAID 5+1). Zawiera dwie niezależne sumy kontrolne. Nieco kosztowniejsza w implementacji niż RAID 5, ale dająca większą niezawodność. Awarii muszą ulec jednocześnie trzy dyski by samoodtworzenie systemu, po uzupełnieniu wadliwych dysków, było niemożliwe.

Korzyści:

[edytuj] RAID 0+1

RAID 01.png

Macierz realizowana jako RAID 1, którego elementami są macierze RAID 0. Macierz taka posiada zarówno zalety macierzy RAID 0 - szybkość w operacjach zapisu i odczytu - jak i macierzy RAID 1 - zabezpieczenie danych w przypadku awarii pojedynczego dysku. Pojedyncza awaria dysku powoduje, że całość staje się w praktyce RAID 0. Potrzebne są minimum 4 dyski o tej samej pojemności.

Korzyści:

Wady:

[edytuj] RAID 1+0

RAID 10.png

Nazywana także RAID 10. Macierz realizowana jako RAID 0, którego elementami są macierze RAID 1. W porównaniu do swojego poprzednika (RAID 0+1) realizuje tę samą koncepcję połączenia zalet RAID 0 (szybkość) i RAID 1 (bezpieczeństwo) lecz w odmienny sposób. Tworzony jest duży stripe małych mirrorów, dzięki czemu podczas wymiany uszkodzonego dysku odbudowywany jest tylko fragment całej macierzy.

Korzyści:

Wady:

[edytuj] Matrix RAID

RAID MATRIX.png

Polega na połączeniu ze sobą dwóch dysków fizycznych tak, aby część dysku działała jak RAID 0 (striping), a inna część jak RAID 1 (mirroring) (szczegóły działania macierzy RAID 0 i RAID 1 znajdziesz powyżej). Jest to chyba najlepsza opcja w warunkach "domowych", łącząca zalety obu trybów i pozbawiona ich wad.

Korzyści wynikają z połączenia zalet poszczególnych trybów RAID:

Wady:

[edytuj] Przykład

Dwa identyczne dyski 10 GB zostały połączone w Matrix RAID. Utworzono na nich dwie partycje - każda zajmuje połowę każdego dysku. Pierwsza polega na dzieleniu danych (striping) więc ma pojemność 10 GB, druga polega na duplikowaniu (mirroring) ma więc 5 GB.

Pierwsza z nich charakteryzuje się teoretycznie dwukrotną prędkością wykonywania na niej operacji zarówno przy odczycie jak i zapisie danych. Druga zaś gwarantuje bezpieczeństwo danych w razie awarii jednego z dysków, podwójną prędkość odczytu oraz pojedynczą prędkość zapisu.

[edytuj] Zobacz też

Commons in image icon.svg

[edytuj] Linki zewnętrzne

Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Dla czytelników
Dla edytorów
Drukuj lub eksportuj
Narzędzia
W innych językach