Macierz dyskowa

Przykładowa macierz dyskowa

Macierz dyskowa - urządzenie zawierające zbiór od kilku do kilkuset dysków fizycznych, które pogrupowane są w kilka do kilkudziesięciu grup RAID.

Macierz dyskowa RAID jest zestawem kilku dysków fizycznych, które są widziane przez system operacyjny komputera jako pojedynczy dysk logiczny. Dysk logiczny, czy w naszym przypadku macierz dysków fizycznych, może znajdować się w którymś z czterech stanów:

  • optima - jest to normalna praca dysku twardego,
  • degraded - prawidłowa praca dysku logicznego, ale jeden lub więcej dysków twardych uległo awarii,
  • rebuild - proces konstruowania danych poprzez system, przy przechodzeniu od stanu degraded do stanu optima, do prawidłowego działania wymagana jest naprawa lub zastąpienie dysku wadliwego, sprawnym dyskiem fizycznym,
  • dead - system nie jest w stanie pracować, w stanie tym uszkodzone są wszystkie dyski fizyczne, przy braku możliwości odtworzenia zapisanych wcześniej danych.

Istotnym elementem macierzy dyskowej RAID stanowi sterownik dysków, który w zasadniczy sposób wpływa na odporność na awarie i wydajność całego systemu. Aby zabezpieczyć swój komputer przed awarią jednego sterownika, zazwyczaj instaluje się znacznie większą ich liczbę. W systemie RAID niemal zawsze stosowane są sterowniki SCSI - Small Computer System Interface oraz kanały interfejsowe typu Fibre Channel, które odznaczają się wysoką wydajnością operacji zapisu, a także odczytu danych na dosyć rozległym obszarze instalacji dysków twardych.

System ochrony RAID charakteryzuje się pewną nadmiarowością, czyli redundancją informacji zapisywanej, podobny proceder ma miejsce w operacjach duplexingu i mirroringu. Stopień nadmiarowości jest zależny od poziomu RAID zastosowanego w naszym systemie. Każdy wybrany poziom zwiększa fizyczną pojemność pamięci. Klasyczny mirroring, który stanowi poziom RAID 1, tworzy każdemu dyskowi jego lustrzaną kopię na dysku drugim. Ochrona poziomu RAID 3 polega na tym, że wykorzystywany jest jeden dysk parzystości, który służy do zapisu informacji o tym, co zawierają pozostałe dyski macierzy. Dane, które zapisywane są na dyskach parzystości koduje się według pewnego ustalonego schematu, który wiąże je odpowiednio z danymi znajdującymi się na innych dyskach. Pozostałe poziomy RAID stosują mieszane procedury rejestracji danych oraz kontroli bitów parzystości, co umożliwia odtworzenie informacji pierwotnych przy pomocy danych zapisanych na pozostałych dyskach.

Standardy macierzy RAID

Powstało kilka standardów macierzy dyskowych RAID, które zostały pierwotnie zdefiniowane w roku 1987 przez Uniwersytet Kalifornijski jako sześć poziomów ochrony ponumerowanych od 0 do 5, a następnie uzupełnionych o dwa kolejne poziomy RAID 6 oraz RAID 7. Błędnym jest stwierdzenie, że kolejne poziomy są równoznaczne z klasyfikacją na lepsze oraz gorsze, określają tylko różne zastosowane konfiguracje bezpieczeństwa. Każda z tych konfiguracji może być optymalnym rozwiązaniem dla konkretnych potrzeb zabezpieczania danych zawartych w naszym komputerze.

Dla pamięci dyskowych zewnętrznych macierze RAID można utworzyć w następujących konfiguracjach:

JBOD

Nazwa tej konfiguracji wzięła się od angielskiego określenia Just a Bunch of Disks/Drives i jest standardową obsługą dysków twardych przy pomocy kontrolera macierzowego, który w tym wypadku pełni rolę najzwyklejszego kontrolera dysków twardych. Każdy z dysków obsługiwany jest oddzielnie jako pojedynczy napęd logiczny. Nie znajdziemy tutaj żadnych zabezpieczeń, dane nie są nadmiarowo zapisywane.

NRAID

Non-RAID jest łączeniem dysków obsługiwanych przez kontroler macierzowy, w jeden wielki dysk logiczny, którego pojemność jest równa sumie pojemności składowych wszystkich dysków systemu. NRAID również nie gwarantuje bezpieczeństwa, ponieważ dane nie są zapisywane nadmiarowo.

RAID poziom 0

W czasie zapisu na poziomie 0 dane dzielone są na bloki, które rozmieszcza się na wielu dyskach. Na dyskach nie są umieszczane żadne informacje nadmiarowe, oznacza to niemożność odtworzenia danych w wypadku awarii lub uszkodzenia dysku. Zaletę poziomu 0 stanowi fragmentacja danych, czyli striping, która wykorzystywana jest również w innych poziomach RAID. Jej działanie polega na podziale całej pamięci dyskowej na małe fragmenty o rozmiarze 512 kB lub kolejnych wielokrotności tego rozmiaru, powodując rozdzielenie zapisywania informacji na każdy z dysków macierzy równomiernie. Dzięki podziałowi danych przyspieszona jest szybkość odczytu i zapisu, ponieważ operacje te mogą odbywać się równocześnie i równolegle, wykorzystując w maksymalny sposób obszar dostępnej pamięci. Wadą tego poziomu jest brak bezpieczeństwa danych, a awaria któregoś z dysków oznacza utratę części informacji i niekiedy nieprzydatność reszty danych umieszczonych na innych dyskach.

RAID poziom 1

W ochronie na pierwszym poziomie dane rozdzielane są pomiędzy dwa dyski znajdujące się w macierzy, przy czym dla każdego z dysków tworzona jest jego kopia zwierciadlana na dysku drugim. Przykładowo, jeżeli dana macierz składa się z czterech dysków, to dwa z nich mogą pełnić rolę dysków podstawowych, natomiast kolejne dwa są ich lustrzaną kopią. Poziom 1 cechuje się zatem pełną nadmiarowością, odpowiadającą koncepcji dysków lustrzanych, co umożliwia uzyskanie charakterystycznej dla stripingu wydajności poprzez zapis równoczesny na dwóch dyskach z redundancją danych.

RAID poziom 2

Poziom 2 jest rzadko stosowanym poziomem ochrony, w którym podziału danych dokonuje się już na poziomie bitów zapamiętanych z wykorzystaniem kodu Hamminga. Następnie zakodowane dane rozmieszczane są w sposób równomierny na wszystkich dyskach macierzy. W obecnych czasach poziom ten stracił na znaczeniu, ponieważ obecnie produkowane dyski wyposażone są w logikę ECC - Error Correction Code, co bezpośrednio prowadzi do stosowania ochrony z poziomu RAID 3. Inne funkcje poziomu 2 są identyczne jak w przypadku poziomu 3. Jedynie komputery typu mainframe wykorzystują poziom 2.

RAID poziom 3

Cechą charakterystyczną ochrony danych przy pomocy poziomu 3 jest rozdzielanie każdej informacji na pojedyncze bity lub bajty danych, które rozmieszczane są na wszystkich, oprócz jednego, dyskach macierzy RAID. Ochrona danych z poziomu 3 jest optymalna w aplikacjach z niewielką liczbą transakcji występujących przy dużym przepływie danych. Poziom ten wykorzystywany jest na stanowiskach graficznych CAD/CAM oraz przy przetwarzaniu multimediów i DTP. Poziom ten jest odpowiedni dla zwykłej wielostanowiskowej konwersacyjnej konfiguracji sieci, ponieważ operacje wejścia/wyjścia nie przebiegają w pełni równolegle. Jest to charakterystyczna cecha wielozadaniowego środowiska.

RAID poziom 4

Funkcje poziomu 4 są podobne do analogicznych funkcji poziomu 3, jednak podziału danych dokonuje się na poziomie nie bitów, czy bajtów, ale bloków o wielkości sektora dyskowego. Informacja, która jest odczytywana na tym poziomie ochrony z dysków jest znacznie szybsza, ponieważ jednocześnie każdego dysku można pobierać cały sektor danych - overlaping. W operacji zapisu wymagane jest aktualizowanie dedykowanego dysku parzystości, co powoduje zmniejszenie szybkości przepływu informacji. Tego typu rozwiązanie jest korzystne zarówno dla serwerów plików, jak i baz danych charakteryzujących się małą liczbą operacji zapisu, która stosowana jest w środowisku wielu użytkowników systemu, a więc najczęściej w systemach informacyjnych.

RAID poziom 5

W czasie transportu danych w konfiguracji z poziomu 5 duże bloki danych o rozmiarach sektora dyskowego są rozdzielane, a następnie rozmieszczane na każdym z dysków macierzy. Poziom 5 nie posiada odrębnego dysku parzystości. Każdy dysk posiada obszar zarezerwowany dla swoich danych kontrolnych. Ochrona danych na 5 poziomie cechuje się wysoką szybkością odczytu i zapisu, ponieważ jednocześnie blok informacji może być transmitowany z każdego dysku. Tego typu cechy ukierunkowują stosowanie takiego wariantu ochrony danych w systemach wielozadaniowych

Możliwym jest również zastosowanie kombinowanych systemów ochrony, które składają się z trzech najczęściej stosowanych poziomów 0,1 oraz 5. Dzięki tym kombinacjom możliwe jest wdrożenie następujących strategii bezpieczeństwa, które obejmują:

  • striping - fragmentację danych na poziomie 0
  • mirroring - lustrzane odbicie danych na poziomie 1
  • striped mirroring - odbicie lustrzane wraz z fragmentacja danych - poziom 0+1, nazywany również poziomem RAID 10
  • striping parity - fragmentacja zarówno obszarów kontrolnych oraz danych - poziom 5

RAID 10 (nazywany także RAID 1+0)

Poziom ten stanowi połączenie RAID 0 oraz RAID 1. RAID 10 łączy w sobie zalety tych poziomów, takie jak wysoką wydajność i bezpieczeństwo, ale dziedziczy również wadę poziomu RAID 1, czyli wykorzystanie jedynie połowy pojemności dyskowej, na skutek pełnej nadmiarowości. Użytkownik dostaje więc dużą przestrzeń dyskową zgromadzoną w jednej całości i pracującą z wysoką wydajnością, jednak przy najwyższych kosztach macierzy.

Popularność systemów RAID sprawiła, że powstała organizacja normująca RAB - RAID Advisory Bard, która obejmuje swoim składem kilkadziesiąt wielkich korporacji, jak Hewlett Packard, IBM oraz Seagate. Organizacja ta ustandaryzowała nowe propozycje poziomów ochrony RAID: poziom 6 oraz poziom 7

RAID poziom 6

Poziom 6 ochrony zbliżony jest w założeniach do poziomu RAID 5 i został on zaproponowany przez naukowców z Berkeley. Jego zaletą jest fakt, że konfiguracja dysków może prawidłowo pracować nawet po awarii w tym samym momencie dwóch fizycznych napędów dyskowych. Efekt ten osiągnięto przy pomocy wzajemnie niezależnych, podwójnych oraz odmiennie zbudowanych bloków parzystości, które umieszcza się w wielu napędach dyskowych. Informacje kontrolne z każdego dysku kopiowane są dodatkowo na dwa napędy dyskowe. Dzięki takiemu rozwiązaniu zapewniona jest lepsza odporność na awarie dysku fizycznego niż w przypadku ochrony zastosowanej na poziomie RAID 5.

RAID poziom 7

Ostatnia koncepcja zaakceptowana przez RAB jest nazywana Storage Komputer RAID level 7. Poziom 7 jest najbardziej niezawodnym systemem pamięci dyskowej, który jest zarządzany przez przeznaczony jedynie do ochrony danych w pamięciach masowych komputer dedykowany. Maksymalna konfiguracja umożliwia zainstalowanie nawet do 48 różnych kanałów dyskowych napędów. System RAID 7 umożliwia współdziałanie dysków heterogenicznych, czyli takich o różnych parametrach eksploatacyjnych, w tym również dysków, które różnią się rodzajem zapisu danych ( dyski optyczne, magnetyczne, czy magnetooptyczne ). Za sprawą rejestracji kodów kontrolnych na specjalnie dedykowanych do tego celu stacjach dyskowych, możliwe jest odtwarzanie informacji nawet w wypadku awarii aż 4 dysków fizycznych.

PCI-to-SCSI

Grupa macierzy typu PCI-to-SCSI obejmuje kontrolery zarówno jedno, dwu, nawet trzykanałowe Ultra2 oraz Ultra 160, które są wpinane w 32 bitowy lub 64 bitowy slot PCI. Jest możliwe tworzenie różnych macierzy poziomów 0, 1, 3, 5, NRAID, JBOD, a także mieszanych 10, 30, 50, w obrębie jednego kontrolera. Można również wskazać dysk zapasowy globalny lub lokalny - hot spare. Odbudowa automatyczna macierzy odbywa się w tle dzięki wykorzystaniu dysku hot spare albo po wymianie uszkodzonego dysku na nowy. Można również rozbudowywać macierz nie przerywając przy tym jej zwykłej pracy, co jest niestety niemożliwe w przypadku rozwiązań operujących wyłącznie na interfejsie IDE. Rozbudowa polega na dodaniu nowego dysku do macierzy, albo na wymianie starego dysku o małej pojemności na nowy dysk o większej pojemności. Użyteczną opcją stosowaną w wypadku tych kontrolerów jest podtrzymywanie bateryjne pamięci cache kontrolera nawet przez od 24 do 72 godzin w przypadku zaniku zasilania. Przy następnym uruchomieniu komputera nastąpi automatyczny zapis tych danych na odpowiednich dyskach. Najczęściej stosowanymi pojemnościami dysków w rozwiązaniach tego typu są 18 - 200 GB, takie jak stosuje się w wypadku RAID 5, chociaż spotyka się również rozwiązania o pojemnościach dochodzących nawet do 1,5 TB.

Istotnym elementem macierzy, które instalowane są w obudowach serwerów stanowią kieszenie przeznaczone na dyski twarde, które umożliwiają wymianę tych dysków w czasie normalnej pracy serwera, zapewniają im również komfortowe warunki pracy, dzięki łatwej rozbudowie o chłodzenie. 55% wszystkich usterek macierzy zbudowanej o interfejs SCSI wynika z awarii dysku twardego na skutek niewłaściwego mocowania, niewłaściwej obudowy, przegrzania, źle dobranych kabli sygnałowych oraz terminatorów.

Obecnie około 80% macierzy dyskowych, jakie są stosowane stanowią rozwiązania PCI-to-SCSI. Wyższe od macierzy z dyskami IDE koszty tego typu urządzeń rekompensowane są z nawiązką wyższymi transferami oraz większą elastycznością i możliwościami. Przykładem tej elastyczności może być rozbudowa w czasie pracy macierzy dyskowej. Wybór opisywanego rodzaju macierzy dyskowej może być również podyktowany większą liczbą sterowników przeznaczonych do konkretnego systemu operacyjnego. Duże znaczenia mają także uwarunkowania historyczne. Rozwiązania typu PCI-to-SCSI pojawiły się na rynku jako pierwsze i są najdłużej stosowane, a przez to również najlepiej znane zarówno użytkownikom jak i dystrybutorom. Nowe rozwiązania zawsze pociągają za sobą pewną nieufność oraz niechęć, która nie jest zawsze uzasadniona.

PCI-to-IDE

Kontrolery PCI-to-IDE potrafią obsługiwać standardowo po dwa kanały, co umożliwia zbudowanie macierzy dyskowej, która składa się z czterech dysków. Jeżeli komputer wyposażony jest w dwa kontrolery tego typu to możliwe jest zbudowanie macierzy obsługującej nawet 8 dysków. Stosując na przykład 8 dysków o pojemności 200 GB uzyskamy pojemność macierzy rzędu aż 1,6 TB, w przypadku RAID 0 lub 800 GB w przypadku RAID 1. Tego typu objętości macierzy dyskowych w zupełności wystarczą na niewielkie potrzeby małych firm.

Opisywane kontrolery działają zupełnie niezależnie od standardowych kontrolerów zainstalowanych w płycie głównej komputera. Również w tym wypadku możliwa jest wymiana dysku twardego już w czasie jego pracy, o ile zainstalowaliśmy w obudowie komputera odpowiednie kieszenie. Można również wskazać dysk zapasowy, czyli hot spare, na którym nastąpi automatyczna odbudowa systemu w wypadku wykrycia usterki któregoś z dysków pracującej macierzy. Kontrolery PCI-to-IDE potrafią obsługiwać dyski począwszy od UltraATA/33, aż do UltraATA/133, a najnowsze konstrukcje obsługują również dyski SerialATA oraz SerialATA2. Kontrolery tego typu współpracują z większością nowych systemów operacyjnych, takich jak Windows 2000, czy Windows XP. Obsługują one RAID na poziomach 0, 1 oraz 0+1 zapewniając transfery rzędu dziesiątek Mb/s w przypadku RAID0 albo bezpieczeństwo zapisywania danych w przypadku RAID 1 oraz RAID 0+1. W ostatnim czasie na rynku pojawiła się nowa rodzina kontrolerów PCI-to-IDE, która obsługuje każdy poziom macierzy: 0,1,2,3,5, w tym macierze dwukanałowe i trzykanałowe wyposażone we własną pamięć typu cache oraz dodatkowy mikroprocesor podnoszący dodatkowo wydajność kontrolera. Pierwsze kontrolery tego typu wyprodukowały firmy Accusys, Adapter oraz Promise. Tego typu rozwiązania skierowane są zwłaszcza do klientów indywidualnych, a także do małych firm, których wymagania nie są duże i decydujące znaczenie mają względy finansowe danego rozwiązania.

SCSI-to-SCSI

Macierze tego typu są najbardziej uniwersalne i stosowane są niezależnie od używanego systemu operacyjnego czy sprzętu komputerowego. W zasadzie nie mają żadnego ograniczenia pojemności, stosowane są w nich interfejsy Ultra2, Ultra160, a także Differentia oraz Fibre Chanel. Macierze SCSI-to-SCSI zapewniają swoim właścicielom najwyższy możliwy poziom bezpieczeństwa. Do standardu weszły już nadmiarowe zasilacze typu hot swap oraz wentylatory i kieszenie przeznaczona na dyski twarde. Coraz częściej stosowane są obudowy kontrolujące poprawność pracy każdego elementu macierzy razem z ich temperaturą oraz wysyłające te informacje prosto do kontrolera macierzowego. Macierze tego typu zgodne są ze specyfikacją SAF-TE, czyli z SCSI Accessed Fault - Tolerant Enclosures, która to norma standaryzuje sposób monitorowania stanu dysku, zasilacza oraz systemu chłodzenia. Opisywane dane, a także dane, które pochodzą z ciągłej samodiagnostyki kontrolera macierzy dają nam pełny obraz pracy całej macierzy, który może być bezustannie raportowany na ekranie administratora. Można także przesyłać te informacje w dowolne miejsca i do dowolnych osób znajdujących się w obrębie sieci LAN lub WAN.

Źródłem awarii w macierzy może także stać się sam kontroler, chociaż zazwyczaj jest on jednym z najbardziej niezawodnych podzespołów komputera. Aby jednak zwiększyć bezpieczeństwo przechowywania danych zaczęły być stosowane rozwiązania posiadające dwa nadmiarowe kontrolery macierzowe typu hot swap, które potrafią zapewnić ciągłość pracy macierzy RAID w wypadku awarii jednego z nich lub awarii któregoś z zainstalowanych w nim modułu pamięci. Doskonały przykładem są tutaj kontrolery serii Sentinel oraz Eon produkowane przez firmę Infortrend: są one nadmiarowymi parami, chociaż mogą być ze sobą łączone w przypadku rozbudowy systemu.

Kontrolery mają możliwość pracy równocześnie z wieloma serwerami, a to dzięki dowolności w definiowaniu kanałów jako Driver lub Host. Macierze posiadające takie właściwości są przeznaczone do pracy w dużych systemach komputerowych a także w sieciach typu SAN. W związku z tym można zaobserwować tendencję do stosowania interfejsu Fibre Chanel oraz dużej pojemności pamięci typu cache kontrolerów macierzowych, która dochodzi do nawet 1 GB.

RAIT

RAIT z języka angielskiego oznacza Redundant Array of Inexpensive Tapes. Jak sama nazwa wskazuje jest to wersja pamięci dyskowej, która wykorzystuje taśmę magnetyczną. Pomimo tego, że taśma magnetyczna posiada ograniczenia, które wynikają z pewnej sekwencyjności zapisu danych na nośniku, dzięki równoległemu zapisowi informacji na kilka taśm w tym samym momencie możemy znacznie zwiększyć szybkość kopiowania, a odpowiednie mechanizmy nadmiarowości zapewniają odporność na błędy i zabezpieczają przed bezpowrotną utratą danych w wyniku awarii którejś z taśm.

Pojemność macierzy dyskowych rośnie szybciej niż pojemność pojedynczego dysku.

  • W październiku 1996 roku macierze dostępne na rynku wyposażone były w 256 dysków fast-wide SCSI po 9 GB.
  • W połowie 2000 roku macierze dostępne na rynku wyposażone były w 384 dyski ultra SCSI po 50 GB.
  • W połowie 2005 roku macierze dostępne na rynku wyposażone były w 512 dysków FC po 146 GB.
  • W połowie 2007 roku macierze dostępne na rynku wyposażone były w 1024 dyski FC po 300 GB.

Większość producentów macierzy wprowadziła w 2006 roku opcjonalną możliwość instalacji w macierzach tańszych i mniej wydajnych ale znacznie pojemniejszych dysków SATA o pojemności 500 GB, a od października 2007 roku nawet 1000 GB (1 TB).

Media użyte na tej stronie

EMC Clariion CX500.jpg
Autor: Michael Moll, Licencja: CC BY 2.5
EMC Clariion CX500 Disk Array