RAID 1987: jak tanie dyski pokonały drogich gigantów
W 1987 roku trzech naukowców z Uniwersytetu Kalifornijskiego w Berkeley zadało proste pytanie: po co kupować jeden ogromny i drogi dysk, skoro można połączyć wiele tanich? Z tego pytania powstał RAID, czyli technologia, która do dziś chroni dane w niemal każdym serwerze na świecie. Opowiadamy, jak do tego doszło i dlaczego jedna litera w nazwie RAID zmieniła z czasem znaczenie.
Świat drogich gigantów: dyski SLED
W połowie lat 80. serwerownie wielkich firm wyglądały zupełnie inaczej niż dziś. Dane przechowywano na potężnych dyskach do komputerów mainframe, takich jak IBM 3380: urządzeniach wielkości szafy, kosztujących dziesiątki tysięcy dolarów i wymagających specjalnej klimatyzacji. Sam IBM przeszedł zresztą długą drogę od czasów RAMAC, o czym pisaliśmy w artykule o 70 latach ewolucji dysku twardego.
W tym samym czasie na rynek trafiały komputery osobiste, a razem z nimi małe, 3,5-calowe dyski, produkowane masowo i coraz tańsze. Miały mniejszą pojemność i wydajność niż mainframe'owe kolosy, ale ich cena za megabajt spadała w zawrotnym tempie. Inżynierowie zaczęli nazywać duże dyski żartobliwym skrótem SLED, czyli Single Large Expensive Disk (jeden duży, drogi dysk).
Problem polegał na tym, że procesory przyspieszały z roku na rok, a dyski mechaniczne nie nadążały. Powstawało wąskie gardło: komputer mógł liczyć coraz szybciej, ale wciąż czekał na dane z talerzy obracających się w podobnym tempie co dekadę wcześniej.
Trzech naukowców z Berkeley i jeden przełomowy raport
W grudniu 1987 roku David A. Patterson, Garth A. Gibson i Randy H. Katz z Uniwersytetu Kalifornijskiego w Berkeley opublikowali raport techniczny o tytule A Case for Redundant Arrays of Inexpensive Disks (RAID). Rok później, w czerwcu 1988, zaprezentowali go na konferencji ACM SIGMOD w Chicago i właśnie ta publikacja przeszła do historii.
Ich teza była odważna: zamiast jednego drogiego dysku można zbudować macierz wielu tanich dysków z pecetów, które razem zaoferują większą pojemność, wyższą wydajność i niższy koszt. W pracy porównali wprost mainframe'owy IBM 3380 z niewielkim dyskiem Conner CP3100 o pojemności około 100 MB, przeznaczonym do komputerów osobistych.
Ciekawostka: Patterson nie był przypadkowym autorem. To ten sam naukowiec, który współtworzył architekturę RISC, a w 2017 roku otrzymał za nią (razem z Johnem Hennessym) Nagrodę Turinga, uznawaną za informatycznego Nobla. Garth Gibson był wtedy doktorantem, a później założył firmę Panasas, zajmującą się wydajnymi systemami przechowywania danych.
Pułapka statystyki: im więcej dysków, tym więcej awarii
Autorzy od razu zauważyli haczyk, który mógł pogrzebać cały pomysł. Jeśli jeden dysk ma średni czas między awariami (MTTF) rzędu 30 000 godzin, to w macierzy złożonej ze 100 takich dysków któryś z nich zepsuje się statystycznie co około 300 godzin, czyli mniej więcej co dwa tygodnie. Tanie dyski w dużej liczbie to przepis na ciągłe awarie.
Rozwiązaniem miała być redundancja, czyli właśnie pierwsze słowo w nazwie RAID. Macierz przechowuje dodatkowe informacje, dzięki którym po awarii jednego dysku dane da się odtworzyć z pozostałych. Zaproponowano kilka sposobów, nazwanych poziomami RAID od 1 do 5:
- RAID 1 to lustrzane kopie: każdy dysk ma swojego bliźniaka z identycznymi danymi.
- RAID 2 wykorzystywał kody Hamminga, znane z pamięci operacyjnych, ale okazał się zbyt skomplikowany i praktycznie zniknął.
- RAID 3 i 4 używały osobnego dysku z informacją o parzystości.
- RAID 5 rozpraszał parzystość po wszystkich dyskach, likwidując wąskie gardło jednego dysku parzystości.
Sama idea parzystości nie była zupełnie nowa: już w 1978 roku Norman Ken Ouchi z IBM uzyskał patent na odtwarzanie danych z uszkodzonej jednostki pamięci, a firmy takie jak Tandem stosowały lustrzane dyski. Zasługą zespołu z Berkeley było jednak uporządkowanie tych pomysłów, nadanie im wspólnej nazwy i pokazanie, że ekonomia tanich dysków zmienia reguły gry.
Inexpensive czy Independent? Zagadka jednej litery
W oryginalnym raporcie litera I w skrócie RAID oznaczała Inexpensive, czyli tanie. Producentom sprzętu nie bardzo się to podobało: trudno sprzedawać klientom korporacyjnym drogie macierze, w których nazwie jest słowo tani. Na początku lat 90. branżowe stowarzyszenie RAID Advisory Board spopularyzowało więc nową wersję: Redundant Array of Independent Disks, czyli macierz niezależnych dysków.
Z czasem do rodziny dołączyły poziomy, których nie było w pierwotnej publikacji:
- RAID 0, czyli paskowanie danych bez żadnej redundancji. Ironicznie mówi się, że zero w nazwie oznacza dokładnie tyle ochrony, ile ten poziom zapewnia.
- RAID 6 z podwójną parzystością, odporny na awarię dwóch dysków jednocześnie.
- RAID 10 (1+0), łączący lustrzane kopie z paskowaniem, do dziś popularny w bazach danych.
Dziś RAID jest standardem w niemal każdym serwerze, serwerze NAS i macierzy w centrach danych. Projektując nowy serwer dla firmy, wybór poziomu RAID to jedna z pierwszych decyzji, jakie podejmujemy przy wdrożeniach serwerów.
Największy mit: RAID to nie backup
Po niemal czterech dekadach istnienia RAID wciąż krąży wokół niego jedno groźne nieporozumienie. Wiele firm uważa, że skoro serwer ma macierz z lustrzanymi dyskami, to dane są bezpieczne. Tymczasem RAID chroni wyłącznie przed fizyczną awarią dysku. Nie pomoże, gdy:
- pracownik przypadkowo usunie folder z dokumentami, bo usunięcie zostanie natychmiast powielone na wszystkich dyskach,
- ransomware zaszyfruje pliki, bo macierz wiernie zapisze zaszyfrowaną wersję,
- uszkodzi się kontroler macierzy, zasilacz lub cały serwer,
- dojdzie do pożaru, zalania lub kradzieży sprzętu.
Jest też zjawisko, o którym Patterson i jego koledzy w 1987 roku nie musieli się martwić: współczesne dyski mają po kilkanaście czy kilkadziesiąt terabajtów, więc odbudowa macierzy po awarii może trwać wiele godzin, a nawet dni. W tym czasie pozostałe dyski, często z tej samej partii produkcyjnej, pracują pod pełnym obciążeniem. To jeden z powodów, dla których przy dużych dyskach coraz częściej wybiera się RAID 6 lub RAID 10 zamiast klasycznej piątki.
Dlatego RAID zawsze powinien iść w parze z prawdziwą kopią zapasową, najlepiej według zasady 3-2-1, którą opisaliśmy w poradniku backup krok po kroku. Równie ważne jest monitorowanie stanu dysków: zdegradowana macierz, której nikt nie zauważył, to tykająca bomba. Takie alerty to codzienność w ramach utrzymania serwerów.
| Poziom | Minimalna liczba dysków | Odporność na awarie | Wykorzystanie pojemności | Typowe zastosowanie |
|---|---|---|---|---|
| RAID 0 | 2 | Brak – awaria jednego dysku niszczy wszystko | 100% | Pliki tymczasowe, montaż wideo |
| RAID 1 | 2 | 1 dysk | 50% | Systemy operacyjne, małe serwery |
| RAID 5 | 3 | 1 dysk | (n-1)/n | Serwery plików z mniejszymi dyskami |
| RAID 6 | 4 | 2 dyski | (n-2)/n | Archiwa, serwery NAS z dużymi dyskami |
| RAID 10 | 4 | 1 dysk w każdej parze lustrzanej | 50% | Bazy danych, wirtualizacja |
Czy macierz w Twoim serwerze jest naprawdę bezpieczna?
Sprawdzimy konfigurację RAID, stan dysków i kopie zapasowe w Twojej firmie, a przy nowym serwerze dobierzemy poziom macierzy dopasowany do Twoich danych i budżetu. Działamy we Wrocławiu i zdalnie.