RAID RAID (ang. Redundand Array of Independent Disks) to sposób połączenia dwóch lub większej ilości dysków twardych w jedną macierz, która zapewnia dodatkową funkcjonalność w porównaniu z oddzielnie podłączonymi pojedynczymi dyskami twardymi. Macierze RAID są powszechnie stosowane w rozwiązaniach serwerowych, dzięki nim uzyskujemy: odporność na awarie, zwiększenie prędkości transmisji w porównaniu z pojedynczym dyskiem, zależnie od rodzaju pamięć widoczna jako jedno urządzenie. Realizacja macierzy RAID Macierz RAID może być zrealizowana na dwa sposoby: sprzętowy, programowy.
RAID sprzętowy - w celu utworzenia tego rodzaju macierzy potrzebny jest specjalny dedykowany kontroler, do którego podłącza się dyski. Zaletą takiego rozwiązania jest oczywiście wydajność i brak dodatkowego wykorzystania zasobów procesora. Ten rodzaj macierzy jest polecany w przypadku, gdy potrzebna jest duża wydajność i niezawodność pamięci masowej. Wadą takiego rozwiązania jest oczywiście cena samego kontrolera RAID programowy - ogromną zaletą tego rozwiązania jest brak potrzeby zakupu dodatkowych elementów oprócz samych dysków twardych. Dyski są podłączane bezpośrednio do istniejących na płycie głównej kontrolerów. Wady to oczywiście mniejsza wydajność - RAID programowy wykorzystuje procesor główny CPU do wykonywania obliczeń dyskowych. Obecnie większość systemów operacyjnych (Linux, Windows, FreeBSD) oferuje wbudowane gotowe rozwiązania programowe do tworzenia tego typu macierzy. Są one oczywiście niekompatybilne ze sobą. Istnieją również rozwiązania pośrednie, tzw. FakeRAID - wiele płyt głównych umożliwia włączenie w BIOS'ie opcji RAID. Wydawać by się mogło, że jest to RAID sprzętowy. Niestety większość teraz typu rozwiązań zintegrowanych z płytami głównymi wykorzystuje procesor do przetwarzania operacji dyskowych i sum kontrolnych. Często również bywają problemy ze znalezieniem odpowiednich sterowników, które obsłużyłyby tego typu macierz w używanym systemie operacyjnym.
RAID 0 Do utworzenia tego typu macierzy RAID potrzebne są minimum 2 dyski twarde. Należy pamiętać, aby były to dyski o tej samej pojemności i prędkości. W tym rodzaju macierzy bloki z danymi są zapisywane naprzemiennie na poszczególnych dyskach. Łączna pojemność tego rodzaju macierzy jest wielokrotnością pojemności dysków składowych. RAID 0 zwiększa niemalże podwójnie szybkość operacji zapisu/odczytu macierzy kosztem bezpieczeństwa danych - utrata jednego napędu wiąże się z utratą całości danych. Zalety: zwiększona prędkość zapisu/odczytu (prawie podwójnie) wykorzystanie całej pojemności dysku doi zapisu Wady: brak odporności na awarie dysku łatwość utraty danych Zastosowania: zwiększenie szybkości operacji dyskowych na stacjach roboczych obróbka dużych plików multimedialnych dysk do przechowywania instalacji gier komputerowych
Przykład 1 Trzy dyski po 500 GB zostały połączone w RAID 0. Powstała przestrzeń ma rozmiar 1,5 TB. Szybkość zapisu i odczytu jest prawie trzykrotnie większa niż na pojedynczym dysku. Sumaryczna szybkość jest 3-krotnością szybkości najwolniejszego z dysków, gdyż kontroler raid podczas zapisu/odczytu musi poczekać na najwolniejszy dysk. Stąd też sugeruje się stosowanie dysków o identycznej szybkości i pojemności. Przykład 2 Trzy dyski: 160 GB, 500 GB i 80 GB zostały połączone w RAID 0. Powstała w ten sposób przestrzeń ma rozmiar taki jak N*rozmiar najmniejszego z dysków, czyli 3·80 GB = 240 GB. Szybkość jest ograniczona szybkością najwolniejszego dysku, analogicznie do poprzedniego przykładu. Zastosowanie RAID 0 Rozwiązanie do budowy tanich i wydajnych macierzy, służących do przetwarzania dużych plików multimedialnych. Przechowywanie danych na macierzy RAID 0 wiąże się jednak ze zwiększonym ryzykiem utraty tych danych – w przypadku awarii jednego z dysków tracimy wszystkie dane. Podobne korzyści kosztem mniejszej wydajności możemy uzyskać stosując technologię LVM, która charakteryzuje się mniejszym ryzykiem utraty danych – w przypadku awarii jednego z dysków istnieje teoretyczna możliwość odzyskania danych znajdujących się na sprawnym dysku, gdyż – w przeciwieństwie do RAID 0 – LVM nie przeplata danych pomiędzy wieloma dyskami.
RAID 1 (lustrzany) Polega na replikacji pracy dwóch lub więcej dysków fizycznych. Powstała przestrzeń ma rozmiar najmniejszego nośnika. RAID 1 jest zwany również lustrzanym (ang. mirroring). Szybkość zapisu i odczytu zależy od zastosowanej strategii: Zapis: zapis sekwencyjny na kolejne dyski macierzy – czas trwania operacji równy sumie czasów trwania wszystkich operacji zapis równoległy na wszystkie dyski macierzy – czas trwania równy czasowi trwania operacji na najwolniejszym dysku Odczyt: odczyt sekwencyjny z kolejnych dysków macierzy (ang. round-robin) – przy pewnej charakterystyce odczytów możliwe osiągnięcie szybkości takiej jak w RAID 0 odczyt wyłącznie ze wskazanych dysków – stosowane w przypadku znacznej różnicy w szybkościach odczytu z poszczególnych dysków Korzyści: odporność na awarię N – 1 dysków przy N-dyskowej macierzy możliwe zwiększenie szybkości odczytu możliwe zmniejszenie czasu dostępu Wady: możliwa zmniejszona szybkość zapisu utrata pojemności (całkowita pojemność jest taka jak pojemność najmniejszego dysku)
Przykład Trzy dyski po 250 GB zostały połączone w RAID 1. Powstała w ten sposób przestrzeń ma rozmiar 250 GB. Jeden lub dwa dyski w pewnym momencie ulegają uszkodzeniu. Cała macierz nadal działa
RAID 2 Do utworzenia tego typu macierzy potrzebne są minimum 3 dyski twarde. Dane na dyskach są dzielone na poziomie bitów i zapisywane jednoczenie na dwóch dyskach. Trzeci dysk przechowuje informacje o dotyczące korekcji błędów generowane za pomocą kodu Hamminga. Macierz jest odporna na awarię jednego z dysków. Ten rodzaj macierzy jest przestarzały i obecnie nieużywany. Został wyparty przez rozwiązania typu RAID 5 i 6. Zastosowania: obecnie brak wyparte przez lepsze rozwiązania w postaci RAID 5 i 6 RAID 3 Zasada działania podobna, jak w przypadku RAID2 z tą róznicą, że dane są zapisywane na poziomie pojedynczych bajtów, w macierzy znajduje się dodatkowy dysk, na którym zapisywane są informacje o parzystości. Tak samo jak w przypadku RAID2 ten poziom został szybko wyparty przez RAID 5 i 6. Zastosowania: obecnie brak wyparte przez lepsze rozwiązania w postaci RAID 5 i 6
RAID 4 Macierz tego typu wymaga minimum 3 dysków. Dane są dzielone na porcje o rozmiarze pojedynczego bloku (sektora) i zapisywane jednocześnie na 2 dyskach. Na trzecim dysku zapisywane są informacje o tzw. parzystości. W przypadku awarii jednego dysku w macierzy istnieje możliwość odbudowania w przypadku awarii dowolnego z dysków. Obecnie w praktycznych zastosowaniach wyparty przez RAID 5 i 6. Zastosowania: obecnie brak wyparte przez lepsze rozwiązania w postaci RAID 5 i 6
RAID 5 Macierz RAID 5 swoim działaniem zbliżona jest do macierzy RAID 4. Do jej utworzenia potrzebne są minimum 3 dyski twarde (2 + 1). Różnica polega na sposobie zapisywania informacji o parzystości. Każda porcja danych posiada informację tego typu zapisaną na innym z dysków w macierzy. Macierz RAID 5 jest odporna na awarię dowolnego jednego dysku. Jest to zalecany rodzaj macierzy w przypadku, gdy potrzebujemy rozwiązania z pojedynczą parzystością i prędkością bliską RAID 0 dzięki stripingowi danych. Zalety: odporność na awarię jednego z dysków wyższa prędkość zapisu/dczytu w porównianiu z RAID 1 tracona jest pojemność jednego dysku w macierzy Wady: niższa wydajność od RAID 0 spowodowana koniecznością wyliczania parzystości dla każdego bloku danych Zastosowania: storage dla baz danych archiwizacja magazyn danych dla aplikacji
Przykład Pięć dysków po 250 GB zostaje połączonych w RAID 5. Powstała w ten sposób przestrzeń ma rozmiar 250*(5-1) GB = 1 TB. Jeden dysk w pewnym momencie ulega uszkodzeniu. Cała macierz nadal działa. Po wymianie uszkodzonego dysku na nowy jego zawartość zostaje odtworzona.
RAID 6 Zasada działania zbliżona do RAID 5 - różnica polega na tym, że informacje o parzystości dla każdej porcji danych zapisywane są w podwójnie na dwóch różnych dyskach. Do utworzenie macierzy tego typu potrzebne są minimum 4 dyski twarde (2 + 2). Dostępna jest pojemność dwóch z nich w tym układzie. Zalety: odporność na awarię dwóch dysków wyższa prędkość zapisu/dczytu w porównianiu z RAID 1 tracona jest pojemność dwóch dysków w macierzy Wady: niższa wydajność od RAID 0 spowodowana koniecznością wyliczania parzystości dla każdego bloku danych Zastosowania: storage dla baz danych archiwizacja magazyn danych dla aplikacji rozwiązania wysokiej dostępności
RAID 0+1 To macierz, będąca kombinacją dwóch macierzy RAID 0, które są połączone w macierz RAID 1. Łącznie do utworzenia macierzy tego rodzaju potrzebne są 4 dyski twarde. Dzięki takiemu połączeniu dostajemy zalety macierzy RAID 0 - szybsze operacje zapisu/odczytu, a także macierzy RAID 1 - odporność na awarię pojedynczego dysku. W przypadku awarii jednego dysku macierz staje się praktyczne macierzą RAID 0. Zalety: szybkość RAID 0 prostsza w działaniu i implementacji od rozwiązań z parzystością (RAID 5, 6) Wady: większy koszt przechowywania danych w porównaniu do poprzednich rodzajów macierzy lepszym wyborem jest RAID 1+0 Zastosowania: szybkie magazyny danych serwery aplikacji
RAID 1+0 Idea macierzy RAID 1+0 jest podobna do RAID 0+1 - w tym przypadku dwie macierze RAID 1 są składnikami macierzy RAID 0. W takim układzie stripingowi poddawane są niewielkie ilości danych, które znajdują się na dwóch dyskach. W przypadku awarii jednego z dysków odbudowaniu ulega jedna "strona" macierzy. Zalety: szybkość RAID 0 prostsza w działaniu i implementacji od rozwiązań z parzystością (RAID 5, 6) Wady: większy koszt przechowywania danych w porównaniu do poprzednich rodzajów macierzy Zastosowania: szybkie magazyny danych serwery aplikacji magazyny danych maszyn wirtualnych
Setki tysięcy połączonych pamięci mają dać niewyobrażalną pojemność 120 petabajtów (120 milionów gigabajtów). Komu jest potrzeba tak wielka pamięć? Klient jest tajny, ale prawdopodobnie to wojsko. http://www.kylos.pl/blog/co-to-jest-raid-roznice-miedzy-raidem-sprzetowym-i-programowym/