Rajd pewniejszy od polisy PZU

Produkowane dziś dyski twarde osiągają MTBF (Mean Time Between Failures - średni czas między awariami) rzędu 150 tys. godz. Każdy technolog powie, że jest to bardzo dobry wynik. Niemniej odpowiada on prawdopodobieństwu awarii ok. 6% na rok. Oznacza to, że spośród każdych 16 dysków jeden zepsuje się w ciągu roku prawie na pewno. W tych instalacjach, w których niezawodność nośnika danych ma zasadnicze znaczenie, nadal nie jest to bezawaryjność wystarczająca.

Produkowane dziś dyski twarde osiągają MTBF (Mean Time Between Failures - średni czas między awariami) rzędu 150 tys. godz. Każdy technolog powie, że jest to bardzo dobry wynik. Niemniej odpowiada on prawdopodobieństwu awarii ok. 6% na rok. Oznacza to, że spośród każdych 16 dysków jeden zepsuje się w ciągu roku prawie na pewno. W tych instalacjach, w których niezawodność nośnika danych ma zasadnicze znaczenie, nadal nie jest to bezawaryjność wystarczająca.

Systemy sieciowe, np. Novell NetWare, wychodzą naprzeciw tym problemom, stosując technikę mirroring. Polega ona na tym, że ważna informacja jest zapisywana jednocześnie na dwóch różnych dyskach; gdy jeden z nich ulega awarii, system automatycznie przełącza się na dysk zapasowy. Całkowita utrata danych grozi więc tylko w tych wypadkach, w których drugi dysk również się zepsuje zanim pierwszy zostanie wymieniony, a dane skopiowane. Oczywistą wadą tego rozwiązania jest podwojenie pamięci masowej, potrzebnej do pracy systemu.

O wiele lepszą metodę wynaleźli D. Patterson, G. Gibson i R. Katz z uniwersytetu Berkeley w Kalifornii, nazywając ją RAID - Redundant Arrays of Inexpensive Disks.

Zasada działania RAID, jak wszystkie genialne pomysły, jest niesłychanie prosta. Rzecz polega na wykorzystaniu cechy przemienności funkcji logicznej XOR (eXclusive OR - zwana suma wyłączna). Funkcja XOR realizuje zasadę "albo-albo". W języku logiki boolowskiej oznacza to, że jedynka jest rezultatem działania operatora XOR tylko wtedy, gdy jeden z argumentów ma wartość 0, zaś drugi wartość 1. Gdyby William Shakespeare rygorystycznie stosował zasady logiki, to musiałby napisać: "To be xor not to be"...

Przemienność operatora XOR polega na tym, że jeśli A xor B = C, to A xor C = B, oraz B xor C = A. Cecha ta przejawia się niezależnie od krotności wykonywania operacji XOR stosowanej na dowolnie długim ciągu argumentów. Oznacza to że w wyrażeniu:

A xor B xor C xor D... xor Y = Z

dowolną zmienną ze zbioru (A...Y) można zamienić miejscami ze zmienną Z, a równoważność będzie zachowana. Wynika stąd, że wartość dowolnej zmiennej ze zbioru (A...Z) można odtworzyć na podstawie wartości wszystkich pozostałych zmiennych poprzez zastosowanie tego samego, prostego wzoru.

Jeśli więc dyski twarde pracują w ramach tzw. matrycy (disk array - matryca dyskowa), zaś na jednym z nich zapiszemy sumy wyłączne zapisów na wszystkich pozostałych dyskach, to w przypadku awarii zawartość dowolnego dysku może być w każdej chwili odtworzona. Wystarczy w tym celu poddać zapisy z dysków nieuszkodzonych działaniu operatora XOR. Jak widać, w przeciwieństwie do mirroringu w metodzie RAID pamięć masowa nie jest dublowana, lecz wystarczy zapas pamięci rzędu 1/n całości, gdzie n jest ilością dysków. Nawet gdyby matryca składała się z, powiedzmy, 300 dysków, poświęcenie tylko jednego z nich na przechowywanie sum kontrolnych da efekt równy przechowywaniu kopii zapasowych!

Nie trzeba tłumaczyć, jak ważna jest to zaleta w dużych systemach, od których oczekuje się wysokiej niezawodności - w banku, towarzystwie ubezpieczeniowym, policji, wojsku, itd. Oblicza się, że nawet po zastosowaniu do budowy matrycy stosunkowo tanich dysków o niezbyt wysokich parametrach niezawodności, czas pomiędzy kolejnymi utratami danych MTBDL (Mean Time Between Data Loss) sięga wielu milionów godzin.

W praktycznych realizacjach nie przeznacza się osobnego dysku do przechowywania sum kontrolnych. Tak zwane "check bytes" są rozsiane po wszystkich dyskach wchodzących w skład matrycy. Dzięki temu operacje związane z zapisem i odczytem mogą przebiegać w wielu miejscach jednocześnie, co znacznie przyspiesza wykonywanie operacji.

Dobrym przykładem zastosowania metody RAID jest matryca dyskowa RAIDION firmy Macropolis, jednego z pionierów tej techniki. Modułowa konstrukcja umożliwia wybór wielkości zestawu w zakresie od 3 do 28 dysków SCSI, co odpowiada od 680 kB do 47 GB - im większy zestaw, tym mniejszy procent pamięci jest tracony na ochronę danych. Wobec 150 tys. godz. MTBF dla jednego dysku, łączna wartość MTBDL jest rzędu setek milionów godzin! Nie pozostaje nic innego, jak przyjąć to oszacowanie na wiarę gdyż upłynęło zbyt mało czasu od dokonania wynalazku, byśmy mogli to stwierdzić z całą pewnością.


TOP 200