background image

1

Macierze Dyskowe

RAID

background image

2

Definicja

RAID (ang. Redundant Array of Independent Disks

Nadmiarowa macierz niezależnych dysków) 

Polega na współpracy dwóch lub więcej dysków 

twardych w taki sposób, aby zapewnić dodatkowe 

możliwości, nieosiągalne przy użyciu jednego 

dysku. 

RAID używa się w następujących celach:

zwiększenie niezawodności (odporność na awarie) 

przyspieszenie transmisji danych 

powiększenie przestrzeni dostępnej jako jedna 

całość. 

background image

3

Nadmiarowa macierz...

Czasami mówi się o Redundant Array of Inexpensive Disksczyli 

nadmiarowa macierz

 tanich dysków, co dobrze odpowiada rzeczywistości, ponieważ można 

stworzyć dużą i 

niezawodną przestrzeń dyskową, używając dysków SCSI oraz niedrogich,
standardowych IDE/ATA lub SATA.

 Podczas projektowania macierzy należy zwrócić uwagę na sposób 

podłączenia dysków

Zapewnienie wysokiej dostępności do dysków wymaga dołączenia tych 

dysków do oddzielnych kanałów SCSI/IDE 

zastosowanie droższych 2-portowych dysków FC i podłączenia do 

odpowiedniego

 kontrolera(ów) zwiększa wydajność

Najlepsze efekty można osiągnąć dzięki zastosowaniu specjalnych 

sprzętowych kontrolerów RAID dołączonych do systemów

background image

4

Kto i po co stworzył 
MACIERZ?

W 1987 roku, gdy moc obliczeniowa systemów komputerowych wzrastała już 

dość szybko, a nie można było tego jeszcze powiedzieć o pamięciach 

masowych, trzej profesorowie z kalifornijskiego uniwersytetu w Berkeley 

– Garth Gibson, Randy Katz i David Patterson – opublikowali pracę pod 

tytułem A Case for Redundant Arrays of Inexpensive Disks (RAID). 

Przewidywali oni ogromny wzrost zapotrzebowania na szybkie i tanie 

pamięci masowe, a rozwiązaniem miał być właśnie RAID. Początkowo 

założeniem wcale nie było zabezpieczanie danych czy zwiększanie 

wydajności, lecz osiągnięcie niskich kosztów przy dużej pojemności. 

Dzięki połączeniu w jedną całość kilku dysków możliwe okazało się 

stworzenie systemu szybszego i znacznie tańszego niż jeden duży dysk. 

 Podczas opracowywania RAID wykorzystano urządzenia dyskowe IBM, 

Fujitsu i Conner. Ten pierwszy to model IBM 3380 – szafa wysokości 

niemal dwóch metrów, zaprojektowana do współpracy z systemami 

mainframe, o ogromnej jak na tamte czasy pojemności 7500 MB i 

wydajności na poziomie 3 MB/s. Niestety, urządzenie kosztowało aż 100 

tys. USD! Drugi wykorzystany w projekcie napęd to Fujitsu M2361A o 

pojemności 600 MB, wydajności 2,5 MB/s i również dość wysokiej cenie 

12 tys. USD. Natomiast najtańszy uwzględniony w projekcie Conner 

oznaczony symbolem CP3100 oferował pojemność 100 MB, wydajność na 

poziomie 1 MB/s, ale kosztował tylko 1000 dolarów. Tak więc koszt 1 MB 

przestrzeni dyskowej był paradoksalnie najmniejszy w najtańszym dysku. 

background image

5

Już w pierwszych projektach zauważono, że połączenie wielu dysków w 

jedną całość bardzo źle wpływa na niezawodność całego 
rozwiązania. Prosty rachunek wykazał, że czas bezawaryjnej pracy 
jest odwrotnie proporcjonalny do liczby dysków zastosowanych w 
macierzy – im jest ich więcej, tym większa szansa uszkodzenia 
któregoś z nich, co oczywiście wiąże się z utratą danych

Zatem wszystkie konfiguracje oznaczone numerami 1-5 zyskały 

mechanizmy pomagające chronić dane poprzez zapis informacji 
nadmiarowych. Na szczęście rozpowszechniła się także 
konfiguracja RAID 0 nie oferująca żadnych zabezpieczeń – teraz 
jest ona najpopularniejszym rozwiązaniem macierzowym w 
domowych pecetach. 

background image

6

Poziom 

RAID

N = liczba 

dysków

Dostępna 

przestrzeń

Odporność na 

awarię

RAID 0

2

N

0

RAID 1

2+

1

N - 1

RAID 2

3+

N - log N

1

RAID 3

3+

N - 1

1

RAID 5

3+

N - 1

1

RAID 6

4+

N - 2

min. 2

RAID 1+0

4 + N * 2

N /2

min. 1

RAID 0+1

4 + N * 2

N /2

1

Porównanie wydajności i awaryjności 

różnych rozwiązań macierzowych RAID

background image

7

RAID 0

Połączeniu ze sobą dwóch lub więcej dysków fizycznych tak, aby były 

widziane jako jeden dysk logiczny.

 

Powstała przestrzeń ma rozmiar taki jak N*rozmiar najmniejszego z dysków. 

Dane są przeplecione pomiędzy dyskami - uzyskujemy znaczne przyśpieszenie 

operacji zapisu i odczytu ze względu na zrównoleglenie tych operacji na 

wszystkie dyski w macierzy. 

Korzyści:
+      przestrzeń wszystkich dysków jest widziana jako całość 
+      przyspieszenie zapisu i odczytu w porównaniu do pojedynczego dysku 

Wady:
- brak odporności na awarię dysków 
- N*rozmiar najmniejszego z dysków 

-

zwiększenie awaryjności nie znaczy skrócenie żywotności dysków. 

-

Uszkodzenie jednego jedynego dysku też powoduje utratę danych. 

background image

8

Przykłady RAID 0

Przykład 
     Trzy dyski po 10GB zostały połączone w RAID 0. Powstała 

przestrzeń ma rozmiar 30GB. Szybkość zapisu lub odczytu jest 

prawie trzykrotnie większa niż na pojedynczym dysku. 

Oczywiście sumaryczna szybkość jest 3-krotnością 

najwolniejszego z dysków, gdyż kontroler raid podczas 

zapisu/odczytu musi poczekać na najwolniejszy dysk. Stąd też 

sugeruje się dyski identyczne, o identycznej szybkości i 

pojemności.

Przykład 2
     Trzy dyski: 10 GB, 10 GB, 5GB zostały połączone w RAID 0. 

Powstała w ten sposób przestrzeń ma rozmiar taki jak N*rozmiar 

najmniejszego z dysków, 3x5GB = 15GB. Szybkość zapisu lub 

odczytu jest prawie trzykrotnie większa niż na pojedynczym 

dysku. Oczywiście sumaryczna szybkość jest 3-krotnością 

najwolniejszego z dysków, gdyż kontroler raid podczas 

zapisu/odczytu musi poczekać na najwolniejszy dysk. Stąd też 

sugeruje się dyski identyczne, o identycznej wielkości.

background image

9

Zastosowanie RAID 0

Rozwiązanie do budowy tanich i 

wydajnych macierzy, służących do 
przechowywania dużych plików 
multimedialnych 

background image

10

RAID 1

Polega na replikacji pracy dwóch lub więcej dysków 

fizycznych

Powstała przestrzeń ma rozmiar pojedynczego nośnika. 

RAID 1 jest zwany również mirroringiem. Szybkość 

zapisu i odczytu zależy od zastosowanej strategii:

Korzyści:

odporność na awarię N - 1 dysków przy N-dyskowej 

macierzy 

możliwe zwiększenie szybkości odczytu

 

Wady:

zmniejszona szybkość zapisu 

utrata pojemności (dokładnie pojemności N - 1 dysków)

 

background image

11

Przykłady RAID 1

Trzy dyski po 1GB zostały połączone w 

RAID 1. Powstała w ten sposób 
przestrzeń ma rozmiar 1GB 
(3x1GB). Jeden lub dwa dyski w 
pewnym momencie ulegają 
uszkodzeniu. Cała macierz nadal 
działa. 

background image

12

Zastosowanie RAID 1

RAID 1 znajduje zastosowanie głównie 

w serwerach gdzie wymagane jest 
duże bezpieczeństwo danych np. w 
Bankach lub Instytucjach 
Rządowych

background image

13

RAID 2 

Dane na dyskach są paskowane. 
Zapis następuje po 1 bicie na pasek

Stosowanie min 8 powierzchni do obsługi danych oraz dodatkowe dyski do 

przechowywania informacji potrzebnych do korekcji błędów  - kod 

Hamminga. 

Korzyści:

każdy dowolny dysk (z danymi jak i z kodem Hamminga) może w razie 

uszkodzenia zostać odbudowany przez pozostałe dyski

 

Wady:

konieczność dokładnej synchronizacji wszystkich dysków zawierających kod 

Hamminga

długotrwałe generowanie kodu Hamminga przekładające się na wolną pracę 

całego systemu 

background image

14

RAID 3

Dane składowane są na N-1 dyskach. Ostatni dysk służy 

do przechowywania sum kontrolnych.

 

Działa jak string (RAID 0), ale w macierzy jest dodatkowy 

dysk, na którym zapisywane są kody parzystości obliczane 

przez specjalny procesor

Korzyści:

odporność na awarię 1 dysku 

zwiększona szybkość odczytu

 

Wady:

zmniejszona szybkość zapisu i dostępu do danych z powodu konieczności 

kalkulowania sum kontrolnych 

odbudowa macierzy po wymianie dysku jest operacją kosztowną 

obliczeniowo i powoduje spowolnienie operacji odczytu i zapisu 

pojedynczy, dedykowany dysk na sumy kontrolne zazwyczaj jest wąskim 

gardłem w wydajności całej macierzy 

background image

15

Przykład RAID 3

Pięć dysków po 1GB zostało połączonych 

w RAID 3. Powstała w ten sposób 
przestrzeń ma rozmiar 4GB (1GB 
odpada na sumy kontrolne). Jeden 
dysk w pewnym momencie ulega 
uszkodzeniu. Cała macierz nadal 
działa. Po włożeniu nowego dysku na 
miejsce uszkodzonego jego zawartość 
odtwarza się.

background image

16

RAID 4

Bardzo zbliżony do RAID 3, z tą różnicą, że dane są 

dzielone na większe bloki

 (16,32, 64 lub 128 Kbajtów). 

pakiety zapisywane są na dyskach podobnie do rozwiązania 

RAID 0. 

Dla każdego rzędu zapisywanych danych blok parzystości 

zapisywany jest na dysku parzystości. 

Przy uszkodzeniu dysku dane mogą być odtworzone przez 

odpowiednie operacje matematyczne. 

Jednorazowy zapis małej porcji danych potrzebuje modyfikacji 

odpowiednich bloków parzystości dla każdej operacji I/O. 

background image

17

RAID 5

Sumy kontrolne danych dzielone są na N części, przy czym każda część składowana jest na innym 

dysku a wyliczana jest z odpowiedniego fragmentu danych składowanych na pozostałych N-1 

dyskach.

Macierz składa się z 3 lub więcej dysków. 

Dla macierzy liczącej N dysków jej objętość wynosi N - 1 

Przy łączeniu dysków o różnej pojemności otrzymujemy objętość najmniejszego dysku razy N - 1. 

Korzyści:

odporność na awarię 1 dysku i zwiększona szybkość odczytu - porównywalna do macierzy RAID0 

złożonej z N-1 dysków 

Wady:

zmniejszona szybkość zapisu - konieczności kalkulowania sum kontrolnych 

w przypadku awarii dysku dostęp do danych jest powolny z powodu obliczeń sum kontrolnych 

odbudowa macierzy po wymianie dysku jest operacją kosztowną obliczeniowo i powoduje 

spowolnienie operacji odczytu i zapisu

 

background image

18

Przykład RAID 5

   Pięć dysków po 1GB zostaje 

połączonych w RAID 5. Powstała w 
ten sposób przestrzeń ma rozmiar 
4GB. Jeden dysk w pewnym 
momencie ulega uszkodzeniu. Cała 
macierz nadal działa. Po wymianie 
uszkodzonego dysku na nowy jego 
zawartość zostaje odtworzona.

background image

19

RAID 6

   Rozbudowana macierz typu 5

 (często pojawia się zapis RAID 

5+1). 

Zawiera dwie niezależne sumy kontrolne. 
Kosztowna w implementacji, ale dająca bardzo wysokie 

bezpieczeństwo.

Korzyści:

odporność na awarię maximum 2 dysków 

szybkość pracy większa niż szybkość pojedynczego dysku 

ekstremalnie wysokie bezpieczeństwo. 

background image

20

RAID 0+1

     Macierz realizowana jako RAID 1, którego elementami są macierze RAID 0. Macierz taka 

posiada zarówno zalety macierzy RAID 0 - szybkość w operacjach zapisu i odczytu - jak i 

macierzy RAID 1 - zabezpieczenie danych w przypadku awarii pojedynczego dysku. 

Pojedyncza awaria dysku powoduje, że całość staje się w praktyce RAID 0.minimum 4 dyski o 

tej samej pojemności

Korzyści:

szybkość macierzy RAID 0 

bezpieczeństwo macierzy RAID 1 

znacznie prostsza w implementacji niż RAID 3, 5 i 6 

Wady:

wymagana odbudowa całej macierzy RAID 100 w przypadku awarii pojedynczego dysku 

awaria pojedynczego dysku powoduje utratę zabezpieczenia danych 

większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6 

background image

21

RAID 1+0

Nazywana także RAID 10. Macierz realizowana jako RAID 0, którego elementami są macierze 

RAID 1. W porównaniu do swojego poprzednika (RAID 0+1) realizuje tę samą koncepcję 

połączenia zalet RAID 0 - szybkość - i RAID 1 - bezpieczeństwo - lecz w odmienny sposób. 

Tworzony jest duży stripe małych mirrorów, dzięki czemu podczas wymiany uszkodzonego 

dysku odbudowywany jest tylko fragment całej macierzy.

Korzyści:

szybkość macierzy RAID 0 

bezpieczeństwo macierzy RAID 1 - w szczególnym wypadku nawet większa (awaria więcej 

niż jednego dysku różnych mirrorów) 

znacznie prostsza w implementacji niż RAID 3, 5 i 6 

Wady:

większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6 

background image

22

Matrix RAID

Matrix RAID
     Polega na połączeniu ze sobą dwóch dysków 

fizycznych tak, aby część dysku działała jak RAID 

0 (stripping), a inna część jak RAID 1 (mirroring

(szczegóły działania macierzy RAID 0 i RAID 1 

znajdziesz powyżej). Jest to chyba najlepsza 

opcja w warunkach "domowych", łącząca zalety 

obu trybów i pozbawiona ich wad.

Korzyści:

połączenie zalet poszczególnych trybów RAID - 

ważne informacje mogą być bezpieczne (z 

duplikowane na obu dyskach), zaś operacje na 

często używanych, ale mniej istotnych danych, 

mogą być wykonywane ze zwiększoną 

szybkością. 

Wady:

częściowy spadek pojemności (część 

mirrorowana

część danych jest podatna na awarię (część w 

strippingu

background image

23

Przykłady Matrix RAID

Dwa dyski po 10GB zostały połączone w 

Matrix RAID. Utworzono na nich 2 

partycje - każda zajmuje połowę każdego 

dysku. Pierwsze polega na dzieleniu 

danych (stripping) więc ma pojemość 

10GB, druga polega na duplikowaniu 

(mirroring) ma więc 5GB. Pierwsza z nich 

charakteryzuje się teoretycznie dwukrotną 

prędkością wykonywania na niej operacji, 

druga zaś gwarantuje bezpieczeństwo 

danych w razie awarii jednego z dysków.

background image

24

JBOD

JBOD (ang. Just a Bunch ODisks) – połączenie dysków 

twardych bez wykorzystania technologii RAID. JBOD, 

w przeciwieństwie do RAID, nie daje korzyści w 

postaci przyspieszenia operacji zapisu/odczytu czy 

zwiększenia bezpieczeństwa danych. JBOD jest 

zwykłą półką na dyski (macierzą dyskową), które są 

bezpośrednio widoczne przez systemy komputerowe 

bez pośrednictwa specjalnego kontrolera RAID 

zarządzającego dostępem do dysków. Zazwyczaj 

dyski przyłaczane są za pomocą osobnego lub 

osobnych kontrolerów SCSI. W zależności od rodzaju 

macierzy, może istnieć możliwość podłaczenie 

dysków z półki za pomocą osobych kontrolerów SCSI.

background image

25

JBOD

Zasada działania

background image

26

Jak widać, twórcy technologii RAID opracowali kilka 

konfiguracji dyskowych, posługujących się różnymi 

metodami zwiększania pojemności, wydajności i 

niezawodności macierzy. Striping, który jest fundamentem 

RAID, zastosowany w większości konfiguracji pozwala na 

zapis i odczyt danych jednocześnie z kilku napędów, dzięki 

czemu możliwe jest zwielokrotnienie wydajności. Z kolei 

dwa mechanizmy zabezpieczania danych – mirroring i 

kody parzystości – umożliwiają zabezpieczenie przed 

awarią jednego z dysków w macierzy. W jednej z 

konfiguracji wykorzystano także kody ECC, które przez 

lata nie były wykorzystywane, dopiero ostatnio powracają 

do łask, choć w zupełnie innej postaci. W dalszej części 

artykułu przedstawimy najpopularniejsze konfiguracje, ich 

rzeczywistą wydajność, wybrane funkcje kontrolerów 

macierzowych, a także kilka egzotycznych pomysłów na 

RAID. 

background image

27

background image

28

background image

29

background image

30

KONTROLERY

background image

31

Wprowadzenie

Kontrolery maja za zadanie z dwóch 

dysków fizycznych utworzyć jeden 
dysk logiczny. To dzięki kontrolerom 
możemy stworzyć w naszym 
komputerze macierz.

background image

32

Najprostsze 

 

kontrolery macierzowe potrafią 

stworzyć na dyskach fizycznych tylko 

jeden dysk logiczny, tzn. dysponując 

dwoma dyskami można utworzyć na nich 

RAID 0 lub RAID 1.

 Technologia Matrix RAID umożliwia 

stworzenie dwóch dysków logicznych, a 

więc para dysków wystarczy do tego, by 

utworzyć na nich jednocześnie

Kontrolery SCSI RAID nie nakładają 

żadnych ograniczeń co do liczby 

tworzonych wolumenów, a każdy z nich 

jest widoczny przez system jako osobny 

napęd, który można dowolnie 

partycjonować. 

RAID - uwagi

background image

33

Możliwa jest zmiana poziomu 

macierzy RAID bez usuwania 

danych, choć podczas takiej operacji 

zawsze istnieje pewne ryzyko.

 Migracja macierzy wiąże się z 

pewnymi ograniczeniami, np. RAID 

0 zazwyczaj nie może być 

przekształcony na RAID 1, ponieważ 

macierz wynikowa jest mniejsza niż 

pierwotna. 

Migracja macierzy RAID

background image

34

Ważną funkcją, szczególnie w serwerach, 

jest obsługa dysków zapasowych (tzw. 

hot-spare). 

Macierz zapewniająca ochronę danych może 

mieć dodatkowy dysk zapasowy, który w 

razie awarii automatycznie przejmuje 

rolę dysku uszkodzonego i dane są 

synchronizowane między napędami 

W ten sposób macierz szybciej powraca do 

normalnego stanu pracy i odzyskuje 

pełną wydajność i niezawodność. 

Obsługa dysków 

zapasowych

background image

35

Praca dwóch kontrolerów w trybie active-passive lub 

active-active pozwala zabezpieczyć przed awarią 

jednego z nich. W tym pierwszym przypadku 

kontroler zapasowy przejmuje rolę kontrolera 

głównego, gdy ten ulegnie uszkodzeniu. Natomiast w 

drugim przypadku oba kontrolery mogą pracować 

jednocześnie, obsługiwać macierze wykorzystujące 

te same napędy i równoważyć obciążenie (każdy 

dysk jest podłączony do dwóch macierzy 

jednocześnie. W przypadku tanich kontrolerów taka 

funkcja nie wchodzi w grę, jednak pewnym 

ratunkiem jest to, że konfiguracja macierzy 

najczęściej nie jest przechowywana w kontrolerze, 

lecz w pierwszych sektorach dysków – w razie 

uszkodzenia kontrolera macierz można przełożyć do 

innego komputera (z takim samym kontrolerem). 

background image

36

Standard Serial ATA wniósł kilka 

nowości, które nie są jeszcze 
powszechnie stosowane – to m.in. 
funkcja Port Selector, pozwalająca 
na podłączenie jednego dysku do 
dwóch różnych portów kontrolera, 
za pomocą oddzielnych kabli. W ten 
sposób uzyskuje się bardziej 
niezawodne połączenie między 
elementami macierzy. 

background image

37

Zawsze słabym punktem kontrolerów, 

szczególnie tych dużych, był bufor zapisu – 

gdy ma pojemność rzędu setek MB, jego 

awaria lub nagłe odłączenie zasilania można 

oznaczać utratę sporej ilości danych. Istnieją 

przynajmniej dwa sposoby by temu zapobiec 

– podtrzymanie zawartości bufora za pomocą 

baterii, która przeważnie może go zasilać 

przez 3 doby, a także przełączenie bufora w 

tryb pracy write-through, który informuje 

system operacyjny o udanym zapisie dopiero 

wtedy, gdy dane rzeczywiście trafią na dysk 

(często jest to domyślny tryb pracy 

kontrolera). 

background image

38

Liczne funkcje i standardy 

monitorowania macierzy, m.in. 
specyfikacja SAF-TE wykorzystująca 
dodatkowe komendy SCSI do 
kontroli temperatury, zasilania i 
pracy wiatraków, monitorowanie 
macierzy za pomocą protokołu 
SNMP czy przez przeglądarkę. 

background image

39

KONIEC

Źródła

WWW.PCLAB.PL

WWW.WIKIPEDIA.PL


Document Outline