Poziomy macierzy RAID - ich przeznaczenie, możliwości i wady.

Wydawało mi się to zagadnienie oczywiste, ale jak życie pokazuje nie miałem racji. Dlatego napiszę kilka zdań o przeznaczeniu poziomów RAID (tych, które mają rzeczywiste zastosowanie).

RAID0

Stosujemy gdy:
- Ważna jest szybkość odczytu i zapisu.
- Mamy ograniczoną ilość miejsca, lub interface do podłączenia dysków, a zależy nam na wydajności.
- Gdy zależy nam na wydajności, ale ma być tanio.
- Gdy przechowywane dane nie są istotne, możemy je utracić.
- Gdy potrzebujemy tymczasowo więcej miejsca (ciągłej przestrzeni), niż możemy uzyskać z pojedynczego dysku.

Najczęściej stosuje się przy obróbce materiałów wideo, gdzie istnieje możliwość odtworzenia przetwarzanych materiałów. Coraz więcej laptopów ma dwa dyski połączone tym poziomem RAID (właśnie korzystam z laptopa 2xSSD w RAID0), co powinno implikować dbałością o backupy użytkowników takich laptopów.

Wady:
- RAID0 nie zabezpiecza danych.
- Awaria jednego dysku z RAID0 powoduje brak dostępu (utratę!) danych ze wszystkich dysków podłączonych do tej macierzy.


RAID1

Stosujemy gdy:
- Chcemy zabezpieczyć dane (są zapisywane jednocześnie na dwóch, lub więcej, dyskach).
- W zależności od kontrolera możemy uzyskać przyśpieszenie odczytu.

Najczęściej stosuje się w niewielkich serwerach, gdy dwa duże dyski łączy się w RAID1 w celu zabezpieczenia danych. RAID1 stosuje się również w dużych macierzach, gdy chcemy fizycznie wydzielić małą przestrzeń dyskową, np.: na logi transakcyjne, lub na potrzeby jakiegoś podsystemu, który może wygenerować dużo operacji I/O i w ten sposób chcemy zapewnić dostępność danych z reszty macierzy. Nie spotkałem jeszcze łączenia trzech dysków w RAID1.

Wady:
- Koszt 1MB przechowywanych danych.
- Zapis wymaga więcej operacji I/O.


RAID5

Stosujemy gdy:
- Chcemy zabezpieczyć dane przed awarią jednego dysku z macierzy.
- Odczyt danych przebiega szybciej,
- Jest to ekonomiczny sposób zabezpieczenia danych, jeżeli bierzemy pod uwagę cenę dysków.
- Najczęściej stosowana ze sprzętowym kontrolerem RAID, co pozytywnie wpływa na wydajność całego systemu.

Dobry poziom RAID do przechowywania dużej ilości danych, jednak lepiej gdy operacje odczytu przeważają nad operacjami zapisu. Jeden z najczęściej wykorzystywanych poziomów RAID, zapewnia ekonomiczne wykorzystanie dysków. Minimalna liczba dysków: 3.

Wady:
- Spowolnienie zapisu danych - dużo zależy od ilości dysków w macierzy i kontrolera.
- Awaria dwóch dysków powoduje utratę danych. Problem może pojawić się, gdy zepsują się jednocześnie dwa dyski (zwlekamy z wymianą dysku, nie mamy dysku zapasowego), lub gdy popełni się błąd podczas wymiany wadliwego dysku, lub drugi dysk ulegnie awarii podczas odtwarzania danych po utracie pierwszego dysku.. Warto stosować dysk(dyski) "hot spare" w macierzy.
- Cena sprzętowego kontrolera RAID.


RAID6

Stosujemy gdy:
- Chcemy zabezpieczyć dane przed jednoczesną awarią jednego lub dwóch dysków z macierzy. Uzyskujemy większe bezpieczeństwo niż przy RAID5
- Odczyt danych przebiega szybciej,
- Jest to ekonomiczny sposób zabezpieczenia danych, jeżeli bierzemy pod uwagę cenę dysków; choć nie tak ekonomiczny jak RAID5.
- Stosowana ze sprzętowym kontrolerem RAID, co pozytywnie wpływa na wydajność całego systemu.

Rzadziej spotykany poziom RAID ze względu na brak implementacji w popularnych macierzach - chociaż się to zmienia. Zapewnia dużo większe bezpieczeństwo danych niż RAID5 przy podobnej wydajności i cenie. Minimalna liczba dysków: 4.

Wady:
- Spowolnienie zapisu danych - dużo zależy od ilości dysków w macierzy i kontrolera.
- Ma sens przy dużej ilości dysków, co implikuje najczęściej zakup nie tylko kontrolera RAID, ale i półek na dyski.
- Cena sprzętowego kontrolera RAID6.
- Ten poziom RAID wspiera stosunkowo mała liczba kontrolerów, choć ulega to zmianie.


RAID10 (1+0, 0+1)

Stosujemy gdy:
- Ważna jest szybkość odczytu i zapisu.
- Chcemy zabezpieczyć dane przed awarią co najmniej jednego dysku.

Często spotykany poziom RAID, zapewnia bezpieczeństwo oraz wydajność zapisu i odczytu. Różnice pomiędzy RAID1+0 i 0+1 są dla większości osób niewielkie, ale ja stosuję 1+0. Najczęściej stosuję w połączeniu z RAID1 i RAID5(lub 6) przy tuningu przestrzeni dyskowej pod systemy bazodanowe. Lecz sprawdza się też przy edycji nieskompresowanego materiału wideo, rozbudowanych systemach monitoringu i wszędzie tam, gdzie przetwarza się dane w taki sposób, że występuje dużo operacji zapisu.
Popularność RAID10 wynika również z tego, że ponieważ nie wymaga czasochłonnych obliczeń jest prosty do implementacji softwarowej. Jest też obecny w najprostszych kontrolerach wspierających RAID.

Wady:
- Koszt 1MB przechowywanych danych.
- Zapis wymaga dwa razy więcej operacji I/O niż przy poziomie RAID0.



***


Jeszcze wymienię dwa egzotyczne poziomy RAID:

RAID50 (5+0)

Stosujemy gdy:
- Bardzo wysoki poziom zabezpieczenia przed awarią dysku.
- Przez zwiększenie liczby dysków zyskujemy lepszą wydajność.

Minimalna liczba dysków: 6

Wady:
- Koszt 1MB przechowywanych danych.

RAID60 (6+0)
Stosujemy gdy:
- Bardzo wysoki poziom zabezpieczenia przed awarią dysku. Na pojedynczej macierzy jest to najwyższy stopień zabezpieczenia przed awarią dysków.
- Przez zwiększenie liczby dysków zyskujemy lepszą wydajność (mniejszą niż dla RAID50).

Minimalna liczba dysków: 8

Wady:
- Koszt 1MB przechowywanych danych.


Osobiście uważam, że zamiast stosować RAID50 i RAID60 lepiej mirrorować dane na dwie osobne macierze, na których mamy utworzony RAID5 lub RAID6. Przez "mirrorować" rozumiem taką technologię, jaką umożliwia posiadany sprzęt, a determinują zastosowania. To jest już poziom ochrony danych wymagający bardzo indywidualnego podejścia.


***

Kilka zdjęć macierzy można zobaczyć na tych archiwalnych zdjęciach:
Niestety nie mam zdjęć na prawdę wyjątkowej macierzy InfiniBand :-(


********

Więcej informacji:
Informatyka, FreeBSD, Debian


***

Inne wpisy:


Update: 2014.05.24
Create: 2014.05.24

Brak komentarzy:

Prześlij komentarz