RAID

Sposób łączenia wielu dysków w jedną logiczną całość dla zwiększenia wydajności lub bezpieczeństwa danych. Różne poziomy (np. RAID 0, 1, 5) oferują inne kompromisy.

RAID (Redundant Array of Independent Disks) to technika łączenia kilku fizycznych dysków w jedną logiczną przestrzeń, żeby zyskać na wydajności, bezpieczeństwie danych albo na obu naraz. System operacyjny widzi wtedy jeden „dysk”, a tak naprawdę pod spodem pracuje grupa napędów, między które dane są rozłożone według wybranego poziomu (RAID level). Nazwa pierwotnie znaczyła Inexpensive (tanie) dyski — z czasem branża przemianowała „I” na Independent, bo brzmi poważniej w korpo-prezentacji.

Cała magia opiera się na trzech mechanizmach: striping (dzielenie danych na paski i zapis równolegle na wielu dyskach — szybciej), mirroring (kopia 1:1 na drugim dysku — bezpieczniej) oraz parity (suma kontrolna pozwalająca odtworzyć dane po awarii jednego napędu). Z tych klocków składają się poziomy:

  • RAID 0 — sam striping. Maksymalna wydajność, zero ochrony. Padnie jeden dysk i tracisz całość.
  • RAID 1 — mirroring. Dwa dyski trzymają to samo, przeżyjesz awarię jednego. Płacisz połową pojemności.
  • RAID 5 — striping + parity rozproszona po dyskach. Minimum 3 dyski, przeżywa awarię jednego, dobry kompromis pojemność/bezpieczeństwo.
  • RAID 6 — jak 5, ale podwójna parity, przeżywa awarię dwóch dysków naraz.
  • RAID 10 — mirror + stripe, wydajność i redundancja, ale potrzebujesz minimum 4 dysków.

Przykład z praktyki

Masz domowy serwer (NAS, np. Synology) z czterema dyskami i chcesz mieć szybki, w miarę bezpieczny storage na backupy. Wybierasz RAID 5. Na Linuksie z programowym mdadm wygląda to tak:

mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sd[b-e]

Stan macierzy sprawdzisz przez cat /proc/mdstat. Gdy któryś dysk padnie, wymieniasz go i dodajesz nowy poleceniem mdadm --add, a macierz się odbudowuje w tle.

Na co uważać

Najważniejszy mit: RAID to nie backup. Macierz chroni przed awarią dysku, ale nie przed skasowaniem plików, ransomware, błędem człowieka czy pożarem serwerowni. Komenda rm -rf skasuje dane na wszystkich dyskach naraz, bo dla systemu to jeden wolumin. Backup musi być osobno (zasada 3-2-1).

Druga pułapka to rebuild. Odbudowa dużej macierzy RAID 5 (kilkanaście TB) trwa godziny i mocno obciąża pozostałe dyski. Jeśli w tym czasie padnie drugi napęd — a kupione w jednej partii dyski lubią umierać podobnie — tracisz wszystko. Dlatego dla dużych pojemności rozsądniejsze bywa RAID 6.

Pojęcia powiązane: striping, mirroring, parity, hot spare, mdadm, NAS, LVM, ZFS (z własnym RAID-Z), backup, hardware RAID kontra software RAID.