Bezpieczeństwo na piątkę

Dynamiczny rozwój systemów RAID powoduje, że nawet˙doświadczony menedżer może mieć trudności w podjęciu odpowiedniej decyzji dotyczącej zakupu technologii gwarantującej wysokie bezpieczeństwo danych. Czy RAID Level 10 jest lepszy od RAID Level 7?

Dynamiczny rozwój systemów RAID powoduje, że nawet˙doświadczony menedżer może mieć trudności w podjęciu odpowiedniej decyzji dotyczącej zakupu technologii gwarantującej wysokie bezpieczeństwo danych. Czy RAID Level 10 jest lepszy od RAID Level 7?

Na początku warto postawić sobie niełatwe pytanie: ile kosztuje informacja? Oto kilka przykładów. Jeśli będą to prawidłowe wyniki gry liczbowej, na tydzień przed losowaniem, to oczywiście ich wartość jest wysoka. Te same dane, kilka dni później, będą już bezwartościowe. Ale nawet nie uciekając się do tak nierealnych przykładów, widać że łatwiej wyliczyć ile kosztuje kilo jabłek niż "kilo" bajtów. Spróbujmy jednak. W końcu, w dzisiejszym skomputeryzowanym świecie, przepływ informacji jest tak samo ważny jak przepływ surowców czy energii.

Wyobraźmy sobie, że ginie nam dyskietka zawierająca milion znaków tekstu. Jeśli nie mamy zapasowej kopii, to być może maszynistce piszącej z prędkością 200 uderzeń na minutę, uda się ponownie wprowadzić dane do komputera w ciągu 2 tygodni wytężonej pracy.

Gdy założymy, że pracodawcę będzie kosztować to 400 zł, to widać, iż jest to ponad 100 razy więcej niż warta jest sama dyskietka - z pewnością nie opłaca się żałować na kupno dodatkowej. Na dyskach sztywnych możemy mieć "do stracenia" wiele mega - czy gigabajtów cennych danych - dodatkowe środki ich ochrony są więc nieodzowne.

Że o tym wie nawet dziecko? Dziecko może tak, ale zapewne nie każdy dorosły profesjonalista. Świadczy o tym niedawny przypadek włamania do Bardzo Ważnej Instytucji, po którym Bardzo Ważny Specjalista skarżył się publicznie, że wraz z komputerem utracił efekty dwóch lat swojej pracy zapamiętane na jego dysku. Biedny ów człowiek nie słyszał zatem, że istnieje coś takiego jak backup. A przecież już 100 lat temu Hollerith, na wszelki wypadek, dziurkował każdą swoją kartę podwójnie...

Warto więc mówić o bezpieczeństwie informacji, a wielkie bazy danych wykorzystywane przez wielu użytkowników pracujących w sieci powodują, że jest to jeden z centralnych problemów współczesnej informatyki. Mimo to, do niedawna, nowoczesne systemy RAID nie cieszyły się zbyt wielką popularnością. Czyżby cena jaką trzeba zapłacić za megabajt bezpiecznych danych (p. Computerworld nr 28 z 26 czerwca br.) była zbyt wysoka? Jeśli tak to może warto wrócić do wcześniejszego przykładu z maszynistką.

Oczywiście żadnej poważnej firmy nie trzeba przekonywać ile warte są jej zbiory danych. Potrójne kopie danych na nośnikach maszynowych, znajdujące się w różnych miejscach, to wcale nie przesadny standard. I nie liczba kopii jest tu problemem, ale ich jakość. Każdemu administratorowi jeżą się włosy na myśl o wizji jak z komputerowego horroru, gdy system "pada" rozdzwaniają się telefony od użytkowników, a jedynym efektem użycia posiadanych kopii danych są tasiemcowe komunikaty o błędach wyrzucane przez upartą maszynę.

W nowoczesnych systemach informatyki gospodarczej "zrzut dysków nocnym batchem na taśmy", za pomocą poczciwego streamera, to za mało aby ustrzec się przed tak ponurym scenariuszem. Cóż bowiem się dzieje, gdy w samo południe roboczego dnia "wypada" nam jeden z dysków serwera obsługującego aplikację o krytycznym znaczeniu dla przedsiębiorstwa? Może się zdarzyć, że godziny wytężonej pracy wielu użytkowników poszły na marne. W końcu wiadomo że taśmy, już w momencie wyjmowania ze streamera są nieaktualne. Resztę dnia spędzą więc pracownicy na mozolnym rekonstruowaniu zbiorów i powtarzaniu dokonanych już wcześniej transakcji, ze szkodą dla spraw bieżących.

Oczywiście znane są przeróżne warianty permanentnego robienia zapasowych kopii o charakterze przyrostowym (incremental backup), niemniej warto zastanowić się nad bardziej efektywnymi rozwiązaniami. Zdają sobie z tego sprawę menedżerowie wielu firm, na co wskazuje prognoza IDC, przewidującego w najbliższym czasie dynamiczny rozwój systemów RAID.

Przytoczone liczby wskazują na potężny przyrost rozwiązań średniej techniki obliczeniowej (midrange data technology), co wiąże się z pochodem unixopodobnych maszyn w konfiguracjach klient/serwer. Wskaźniki te stają się jeszcze bardziej imponujące jeśli zważyć, że studium IDC przyjmuje ciągły spadek cen systemów RAID o 30% rocznie. Prognoza zakłada także powolny zanik firmowych (proprietary) konfiguracji centralnych. Warto jednak zauważyć, iż mimo wagi standardów open, duże komputery przeżywają obecnie pewien renesans.

Początki systemów RAID sięgają roku 1987, kiedy to na słynnym kalifornijskim uniwersytecie Berkeley, Gibson i Patterson opublikowali swą pracę pt. "A case study for Redundant Arrays of Inexpensive Disks". Zachodzi podejrzenie, że przymiotnik "niedrogi" w nazwie "Nadmiarowy Zestaw Niedrogich Dysków" pełni bardziej funkcję kosmetyczną niż merytoryczną, aczkolwiek jednym z założeń RAID-u była chęć zastąpienia dużego, drogiego dysku grupą mniejszych dysków o podobnej wydajności. Co do ceny, to wystarczy zajrzeć do firmowych katalogów, aby odpowiedzieć na pytanie czy 2 dyski 500 MB są tańsze od jednogigabajtowego.

Typowo teoretyczny jest z kolei problem porównywania niezawodności zestawów RAID z konwencjonalnymi. Krytycy RAID-u chętnie posługują się formułą:

niezawodność RAID = niezawodność dysku bez RAID/liczba dysków

Wykrzyknikami opatruje się stwierdzenia, że jeśli mamy macierz (array) RAID składającą się z 10 dysków o średnim czasie pracy bezawaryjnej (MTBF - Mean Time Between Failure) 150000 h, to MTBF dla całego zestawu wynosi zaledwie 15000 h (ok. 2 lat). Wynik dzielenia jest wprawdzie poprawny, ale niewiele z niego jeszcze wynika dla praktyki. Owszem, sensowne jest porównywanie RAID-u z z zestawem takich samych dysków w klasycznej konfiguracji, czyli niezależnych.

Ale i w tym wypadku analiza taka jest utrudniona co najmniej z dwóch powodów:

* system RAID zawiera dodatkowe elementy sprzętowe, co ma wpływ na całość zestawu

* dla użytkownika, od fizycznej, ważniejsza jest niezawodność na poziomie logicznym, a tu systemy RAID zdecydowanie górują nad tradycyjnymi.

Właśnie przerzucenie zarządzania pamięcią dyskową z poziomu fizycznego na logiczny jest wielką siłą tych zestawów. Po jednorazowym skonfigurowaniu macierzy dysków, nawet administrator systemu widzi już tylko jeden duży dysk, przy czym kilka głowic przejmuje pracę, którą np. w 10 gigabajtowych dyskach typu "Bolide" Seagate, wykonuje jedna głowica.

Twórcy RAID-u zdefiniowali pierwotnie 6 poziomów (Level): od 0 do 5. Kolejne stopnie nie oznaczają tutaj przechodzenia od systemów "gorszych" do "lepszych". Są to różnie definiowane konfiguracje, a każda z nich może stanowić optimalne rozwiązanie konkretnych potrzeb, warto więc porównać ich zalety i wady (zasady działania poszczególnych poziomów znajdzie Czytelnik w Raporcie Specjalnym CW nr 5/95).

Zaletą poziomu 0 jest koncepcja data striping, wspólna zresztą i dla innych poziomów. Polega ona na podziale pamięci dyskowej na fragmenty (stripes). Owe "paski" mogą mieć rozmiary będące wielokrotnością 512 kB i składają się z bloków rozdzielanych między poszczególne dyski. Przypuśćmy, że nasz system składa się z trzech dysków. Bloki będą zapisywane na kolejne dyski od 1-go poprzez 4-ty, będący pierwszym blokiem drugiego paska danych, do ostatniego kończącego trzeci pasek danych (rys. 1).

W ten sposób nowoczesne systemy operacyjne typu Unix mogą korzystać z mechanizmu nakładkowego dostępu do dysków (overlapped disk I/O), co oznacza równomierny podział obciążenia dysków operacjami czytania/zapisywania danych, będącymi nierzadko wąskim gardłem całej konfiguracji. Odpada więc kombinowanie z umieszczaniem krytycznych danych bliżej środka dysku (średni czas dostępu) czy "ręczne" dzielenie bazy danych między dyskami i kontrolerami (osobno zbiory z indeksami, osobno z informacjami). Całość zarządzania fizycznymi właściwościami dysków przejmuje oprogramowanie.

"Rajdowanie" na poziomie zerowym daje nam szybkość bez bezpieczeństwa: brak redundancji powoduje, że awaria jednego dysku oznacza upadek całego systemu. Wszakże istnieją sytuacje gdzie możemy się na to świadomie godzić, np. podczas przetwarzania obrazów. Na poziomie 1 nadmiarowość (redundancy) jest rzeczywiście nadmiarowa i to dosłownie w 100%. Bowiem jest to w gruncie rzeczy koncepcja dysków lustrzanych, charakteryzujących się niekorzystnym stosunkiem ceny do użytkowej pojemności dysków (wszystkie dane są dublowane).

Dyski lustrzane nie stosują stripingu, ale możliwy jest mirroring dwóch tablic RAID-0 i wówczas mamy do czynienia z wariantem oznaczanym jako RAID 10, choć jednoznaczniej brzmi określenie 0+1. Czysto techniczne parametry takiego zestawu są dobre - użytkownik musi zdecydować czy nie jest to okupione zbyt wysoką ceną. Tym bardziej, że w większości zastosowań standard bezpieczeństwa, zakładający w skrajnym przypadku możliwość pracy zaledwie z połową posiadanych dysków, wydaje się być przesadny.

W RAID-ie Level 2 dane dzielone są na poziomie bitów i zapamiętywane z użyciem tzw. kodu Hamminga. Kod taki ma własności samokorygujące się, co wiąże się z redundancją danych. Poziom ten stracił obecnie na znaczeniu, gdyż nowoczesne dyski mają wbudowaną logikę ECC (Error Code Correction) wykorzystywaną bezpośrednio przez RAID 3. W tym wariancie na dedykowanym dysku znajdują się dane kontrolne parzystości (parity), co umożliwia rekonstrukcję jednego uszkodzonego dysku (rys. 2).

Oddzielny dysk dla informacji o parzystości powoduje, że wspomniany nakładkowy dostęp do dysków nie jest możliwy ale podział danych zwiększa szybkość transmisji danych na tyle, iż RAID-3 może mieć zastosowanie wszędzie tam, gdzie mamy do czynienia z niewielką liczbą transakcji przy znacznym przepływie informacji. Sytuacja taka występuje np. na specjalizowanych stanowiskach CAD/CAM czy przetwarzania grafiki/obrazów (DTP, multimedia). Z pewnością ten poziom RAID nie jest odpowiedni dla typowej konfiguracji wieloużytkowej w sieci.

O środowisku wielu użytkowników pomyślano w następnym kroku: RAID 4. W tym wariancie umożliwiono jednoczesne (overlapped) wejście/wyjście ale de facto tylko dla operacji czytania - każdy zapis wymaga aktualizacji dedykowanego dysku parzystości. Rozwiązanie takie ma rację bytu dla maszyn typu serwer plików czy baz danych z niewielką liczbą operacji zapisu (systemy informowania). W praktyce jednak RAID 4 nie ma żadnych dodatkowych zalet w stosunku do poziomu piątego.

Poziom 5 nie ma odrębnego dysku parzystości - dane te rozłożone są na wszystkich dyskach macierzy. Sytuacja z rys. 3 typowa jest także dla innej liczby dysków: na każdym spośród N dysków, 1/N jego pojemności zarezerwowane jest na dane kontrolne. W sumie więc "tracimy" jeden dysk w grupie, ale za to mamy gwarancję bezpieczeństwa dla całości. RAID-5 daje również odpowiednie szybkości odczytu i zapisu, co umożliwia stosowanie tego wariantu w rozpowszechnionych systemach wielozadaniowych.

Zalety RAID-u powodują, że na rynku znajduje się wiele tych systemów oferowanych przez różne firmy: seria CR Connera, Raidion/Micropolis, DSA firmy Dell czy RAID Array DEC. Ten ostatni produkt przeznaczony jest dla maszyn IBM RS/6000, SUN, HP i komputerów Alpha Digitala. Systemy rodziny RAID Array 200 oferują kombinacje trzech podstawowych poziomów RAID: 0, 1 i 5 (tab. 2). Poziomy te pozwalają na użycie różnych strategii bezpieczeństwa:

* striping (podział danych - poziom 0)

* mirroring (odbicie lustrzane - poziom 1)

* striped mirroring (podział danych + odbicie lustrzane - poziom 0+1)

* striping parity (podział danych i parzystości - poziom 5).

Groźnie wyglądający skrót JBOD to nic innego jak "Just a Bunch Of Disks" czyli PPZD (Po Prostu Zwykłe Dyski). Poziom ten to właściwie RAID bez RAID-u, co daje użytkownikowi większą elastyczność podczas konfigurowania systemu. Mając np. do dyspozycji 8 dysków, dwa z nich instalujemy jako JBOD z przeznaczeniem na dane tymczasowe czy nawet system operacyjny, natomiast szczególnie wrażliwą na punkcie spójności (consistency) bazę danych instalujemy na pozostałych sześciu dyskach w RAID-ie 5. Oczywiście konfiguracja może też wyglądać zupełnie inaczej - jej optimum istnieje jedynie dla konkretnej aplikacji.

Dysk logiczny (czyli macierz dysków fizycznych) może znajdować się w jednym z czterech stanów:

* optimal - normalna praca

* degraded - dysk logiczny pracuje nadal ale jeden z dysków fizycznych uległ awarii

* rebuild - system rekonstruuje dane przy przejściu od stanu "zdegradowanego" do "optymalnego", co wymaga oczywiście zastąpienia wadliwego dysku fizycznego sprawnym

* dead - system jest "martwy", więcej niż jeden dysk fizyczny jest uszkodzony.

Szczególnie przyjemną właściwością RAID-u jest możliwość wymiany dysku podczas pracy systemu "na gorąco" (hot swap), choć opcja ta zależna jest od producenta. Systemy Array 200 dają również dodatkowo możliwość definiowania dysku w macierzy jako hot spare (gorąca rezerwa). W razie awarii, dysk taki automatycznie wykorzystywany jest do osiągnięcia stanu optymalnego, co ma znaczenie przy szczególnie krytycznych zastosowaniach o bardzo wysokiej niezawodności.

Samo instalowanie systemu Array 200 ułatwia oprogramowanie konfiguracyjne i nie musimy obawiać się, że nagle znajdziemy się sam na sam, naprzeciw czarnego ekranu monitora z niewyraźnym znakiem dolara gdzieś w rogu, bezlitośnie oczekującego na wprowadzenie rozbudowanych komend. Jeszcze dalej idzie firma Hewlett-Packard: system Auto-RAID można porównać do samochodu z automatyczną skrzynią biegów, użytkownik nie operuje tutaj poszczególnymi poziomami RAID i zaledwie definiuje swoje wymagania dotyczące szybkości czy bezpieczeństwa, reszta należy do oprogramowania, które automatycznie dobiera optymalne parametry systemu.

Jak to zwykle w informatyce bywa tak i dla systemów RAID ukonstytuowało się odpowiednie gremium normujące - RAB (RAID Advisory Board). Grupa ta obejmuje kilkadziesiąt firm, wśród nich m.in. IBM, DEC, Seagate i Conner. Niedawno RAB oficjalnie zaakceptował koncepcję Storage Computer RAID Level 7, która definiuje wysoko wydajny i niezawodny system pamięci dyskowej zarządzany przez dedykowany komputer. Z kolei w proponowanym przez specjalistów z Berkeley rozwiązaniu RAID Level 6 nawet przy awarii 2 dysków konfiguracja może nadal pracować - efekt ten osiąga się za pomocą podwójnych bloków parzystości (algebraicznie niezależnych).

Do nowych produktów w ofercie producentów takich jak Cheyenne czy Hipar Solutions należą również systemy RAID bez dysków (?!). Ściśle rzecz biorąc idea nazywa się RAIT, a końcowa litera oznacza w tym przypadku taśmę (Tape). Po co komu "Nadmiarowa Macierz Niedrogich Taśm" (Redundant Array of Inexpensive Tapes)? Faktem jest, że w tym wypadku do słowa "niedrogi", nie można się przyczepić. W końcu za kilkanaście dolarów można kupić kasetę do streamera, na której zmieszczą się z powodzeniem 4 GB danych. Dysk o podobnej pojemności jest jednak nieco droższy.

W wielu przedsiębiorstwach przyrost danych na dyskach jest szybszy, niż możliwości sporządzenia ich zapasowych kopii na taśmach. W końcu doba ma tylko 24 godziny, a poza weekendem, w tygodniu mamy ok. 12 godzin na zrobienie codziennego backupu, od popołudnia do rana. A poza tym chciałoby się też mieć jak najaktualniejsze kopie, a to oznacza zabezpieczanie ich na bieżąco.

Mimo że taśma magnetyczna ma swoje ograniczenia wynikające z sekwencyjności tego medium, to przecież równoległy zapis na kilka taśm zwiększa szybkość kopiowania, a mechanizmy redundancji zapewniają zwiększoną odporność kopii na utratę danych.


TOP 200