Myślę, iż tym artykułem zdołam przybliżyć chociaż w małym stopniu zalety, którymi dysponuje macierz dyskowa zwana popularnie RAID-em.
Jeśli chcesz realnie zwiększyć transfer dysku, jeśli pracujesz na dużych plikach, jeśli masz uzasadnioną obawę przed utratą ważnych danych na dysku to myślę iż ten artykuł powinien Cię zainteresować.
To, co jeszcze do niedawna było przywilejem dla nielicznych, dziś za niewielkie pieniądze gości w naszych domach. Moja zabawa z macierzą zaczęła się w 2001 roku od zakupu płyty głównej z zintegrowanym kontrolerem RAID – „ABIT KT7 RAID”.
Od dawna już szukałem czegoś co zwiększy transfer dysku twardego. I tak przechodziłem kolejne etapy kampanii reklamowych producentów dysków. Najpierw była to ATA33, później ATA66, ATA100, kilka dysków SCSI… niestety cały czas różnice w transferze były niezadowalające. Jak wiadomo specyfikacje ATA to raczej odciążenie procesora głównego, niż zwiększenie transferu dlatego też wyniki (testy) były mówiąc krotko – przeciętne. Zmiany dysków twardych na 7200obr., na UW SCSI dały mizerne efekty. Dlatego też, gdy po kilku potyczkach konfiguracyjnych zdołałem w końcu ujrzeć to na co stać ów kontroler (muszę przyznać iż dość sceptycznie podchodziłem do obietnic producenta) stwierdziłem iż to jest właśnie to czego szukam.
Kolejne strony tego artykułu zawierają następujące zagadnienia:
· RAID 0, czyli jak realnie zwiększyć transfer dysku twardego
o jak to działa ?
o wymagania
o konfiguracja macierzy dyskowej RAID 0
o test wydajności
o wady oraz zalety
· RAID 1, czyli jak pewnie i skutecznie zabezpieczyć się przed utratą danych
o konfiguracja macierzy dyskowej RAID 1
· RAID 0+1, czyli dwa w jednym
o konfiguracja macierzy dyskowej RAID 0+1
· FAQ aktualizacja artykułu na podstawie nadesłanych listów.Problemy jakie można napotkać podczas tworzenia macierzy oraz ich rozwiązanie - w formie pytań i odpowiedzi na nie
· Epilog
... czyli jak realnie zwiększyć transfer dysku twardego
Podstawą do zabawy z RAID-m jest oczywiście posiadanie odpowiedniego kontrolera. Tutaj możemy kontrolery podzielić na dwie grupy:
· Kontroler zintegrowany z płytą główną.Moim zdaniem rozwiązanie najlepsze, pozwala na uniknięcie kłopotów z przerwaniami, adresami itp.
· Kontroler w postaci karty PCI.Jeśli ktoś nie ma zamiaru zmieniać modelu płyty głównej to musi zainteresować się właśnie taką kartą.
W obu przypadkach na rynku królują dwie firmy: HPT oraz Promise.
Zarówno w przypadku zintegrowanego kontrolera, jak i kontrolera w postaci karty PCI mamy do dyspozycji dwa złącza IDE, które mogą spełniać rolę RAID-a jak i zwykłego kontrolera ATA100. Z racji tytułu artykułu nas interesuje wykorzystanie złącza IDE jako macierzy dyskowej, wiec skupimy się właśnie na tym zagadnieniu. Każdy tradycyjny kontroler RAID posiada kilka trybów pracy. Ten który postaram się omówić w tym dziale nosi nazwę RAID 0.
Jak to działa ?
Zasada działania trybu RAID0 jest prozaicznie prosta. Łącząc dwa przykładowe dyski 60GB w RAID0 otrzymujemy jeden dysk 120GB.
Załóżmy sytuację iż zaczniemy kopiować plik z partycji na partycję którego rozmiary sięgają 100MB. Plik ten zostaje rozbity na dwie części po 50MB i zapisany równocześnie przez dwa dyski na raz
· 50MB zapisuje dysk nr1
· 50MB zapisuje dysk nr2
Całość tej operacji jest oczywiście nie zauważalna dla naszych oczu. Zapis oraz odczyt na tym dysku ulegnie ok. 99% przyspieszeniu dlatego, iż dyski równocześnie zapisują po jednym pliku 50MB. Tak więc mamy rozwiązanie owego magicznego przyrostu transferu na dysku twardym, nie trudno wyobrazić sobie co się stanie jeśli w RAID0 skonfigurujemy cztery dyski twarde...
Wymagania
Podstawą do stworzenia macierzy RAID0 są dwa identyczne dyski twarde, które po stworzeniu RAID-a 0 (konfiguracja odbywa się w biosie kontrolera) tworzą spoistą całość. I tak z dwóch np. IBM60GB tworzy nam się jeden dysk 120GB.
Pytanie podstawowe: "czy dyski muszą być identyczne" ? Teoretycznie nie muszą. Jednak trzeba uświadomić sobie iż łącząc dwa rożne dyski np. IBM ATA100 40GB i IBM ATA 100 60GB otrzymamy dysk o pojemności 80GB. Łącząc dwa dyski o tej samej pojemności np. IBM ATA100 60GB i IBM ATA66 60GB otrzymamy dysk 120GB ATA66. Należy pamiętać iż kontroler zawsze zaniży nam wartość dysku do najsłabszego w owej konfiguracji.
Konfiguracja macierzy dyskowej RAID 0
Zaczniemy może od podłączenia dwóch dysków do kontrolera. Na jednej taśmie ATA100 podpinamy dwa dyski:
· master
· slave
Całość podłączenia nie różni się niczym od podłączenia dysków do standardowego kontrolera IDE. Calą konfigurację i wybór macierzy (RAID0, RAID1) dokonujemy w biosie kontrolera.
W przypadku kontrolera HPT wejściem do biosu jest kombinacja klawiszy CTRL+H. Po wejściu tworzymy macierz ("CREATE ARRAY").
Uwaga! - w tym momencie wszystkie dane na obydwu dyskach zostaną utracone.
Następnym krokiem jest wybór interesującej nas macierzy ("CREATE ARRAY 0" lub "CREATE RAID 0").
Po tym zabiegu otrzymamy komunikat o restarcie komputera. Po restarcie musimy poprzez program "Fdisk" stworzyć partycje na nowo powstałym dysku, następnie je sformatować i to praktycznie wszystko.
W systemie instalujemy sterowniki do kontrolera i możemy spokojnie delektować się pracą na bardzo szybkim dysku. Ważna uwaga dla posiadaczy systemów Windows 2000 oraz Windows XP: podczas instalacji systemu system zakomunikuje nam iż:
· jeśli posiadasz kontroler SCSI lub podobny proszę wcisnąć F6
wtedy stosujemy się do zaleceń instalatora.
Test wydajności
Testy transferu dysku przeprowadzone za pomocą programów: "Sandra" oraz "HDTach" pokazują jednoznacznie iż nasz dysk uległ metamorfozie… Wyniki są średnio wyższe o 99% względem "zwykłego" kontrolera IDE. Prostszym i moim zdaniem skuteczniejszym testem jest tzw. "test z zegarkiem w ręku": plik, który bez RAID-a kopiował się w 20s, teraz kopiuje się w ciągu 10s.
Wady oraz zalety
Wady:
Jak każde tego typu rozwiązanie i to posiada swoje wady. W tym przypadku jest to możliwość utracenia wszystkich danych na obydwu dyskach skonfigurowanych jako RAID0. Trzeba jednak pamiętać iż system widzi dwa dyski jako jedna całość, dlatego też warto uzmysłowić sobie fakt, iż dysk w macierzy RAID0 w przypadku uszkodzenia zachowa się w taki sam sposób jak zwykły dysk IDE. W obu przypadkach dane zostaną utracone. Tak wiec wada, która wydaje się być tylko i wyłącznie wadą RAID-a 0 tak naprawdę dotyczy również dysków pracujących na zwykłych kontrolerach IDE.
Drugą, powiedzmy w cudzysłowu wadą jest większe obciążenie procesora. Niestety - cudów nie ma – dwa dyski zapisujące lub odczytujące, pracujące jednocześnie muszą nieco obciążyć procesor. Nie jest to jednak obciążenie, które da się zauważyć gołym okiem i nie radziłbym sobie zaprzątać tym głowy.
Następna niedogodność jest niestety warunkiem, który musimy spełnić: dwa identycznej pojemności dyski twarde.
Zalety:
Największą zaletą jest zwiększenie transferu danych na dysku twardym. Zarówno podczas odczytu jak i podczas zapisu efekt przyspieszenia pracy dysku jest ogromny. Szybkość pracy dysku w rybie RAID0 można zauważyć już od startu systemu, który ładuje się znacznie szybciej, kopiowanie oraz zapis dużych plików przebiega niemal ekspresowo.
Druga zaleta to dwa dodatkowe gniazda IDE. Jeśli komuś nie zależy na konfigurowaniu trybu RAID może śmiało wykorzystać gniazda jako miejsce na podłączenie dodatkowych czterech dysków twardych. W tym przypadku należy pamiętać, iż do kontrolera RAID kategorycznie nie należy podłączać napędów CD-ROM, CDR-W, DVD itp.
... czyli jak pewnie i skutecznie zabezpieczyć się przed utratą danych
Tryb ten jest bardzo podobny do trybu RAID0, z tym że drugi dysk wykorzystywany jest jako dysk asekuracyjny – dublujący pierwszy dysk twardy. W tym przypadku główna zaletą jest zabezpieczenie się przed utratą danych na dysku. Pliki zapisywane są podwójnie, przez co gdy dysk nr1 odmówi posłuszeństwa, dysk nr2 przejmuje kontrolę nad plikami.
Niestety RAID1 posiada dwie wady:
· dwa dyski np. 60GB dają nam jeden dysk …60GB – niestety. Taka sytuacja jest oczywiście uzasadniona: macierz potrzebuje te 60GB przestrzeni dyskowej na tworzenie plików –kopii dysku nr1 który ma pojemność 60GB, każdy plik musi zostać zdublowany z dysku mr1 i zapisany na dysku nr2.
· brak przyspieszenia transferu, a nawet jego minimalne zwolnienie.
o Brak przyspieszenia, gdyż dysk nr2 zostaje wykorzystany jako kopia dysku nr1
o Zwolnienie transferu, gdyż wszystkie pliki zostają dublowane – zapisywane dwukrotnie (na dysku nr1 oraz na dysku nr2)
Wady są dwie jednak zaleta to pewność danych w przypadku awarii któregoś z dysków.
Wymagania dotyczące macierzy dyskowej RAID1 są niemal identyczne jak w przypadku RAID0, czyli dwa identycznej pojemności dyski twarde.
Konfiguracja macierzy dyskowej RAID 1
Rożni się tylko wyborem trybu pracy, w tym przypadku będzie to RAID1. Tak samo jak w przypadku RAID0 – partycjonowanie ,formatowanie, nowa instalacja systemu.
Zabezpieczenie, w postaci asekuracji przed utratą danych jest zaletą nie podlegającą dyskusji. Możemy być pewni, iż w przypadku awarii jednego dysku nasze dane nie zostaną utracone. Każdy plik na dysku nr1 posiada tzw. "mirror" czyli swoje lustrzane odbicie na dysku nr2, dlatego też wykluczając iż obydwa dyski równocześnie ulegną uszkodzeniu możemy o swoje dane być spokojni.
Minimalny spadek transferu, który jest przyczyną podwójnego zapisu pliku jest minimalną wadą w takiej konfiguracji. Niestety, tracimy połowę przestrzeni dyskowej (np. 2X60GB=60GB dostępnej przestrzeni) to już jest cena za którą musimy zapłacić za bezpieczeństwo. Tego niestety ominąć się nie da – jeśli każdy plik zapisywany jest dwukrotnie na dysku to chyba łatwo zdać sobie sprawę z takiej sytuacji.
Tak jak w przypadku RAID0 musimy posiadać dwa identycznej pojemności dyski twarde.
... czyli dwa w jednym
Na pewno zadajecie sobie pytanie czy można połączyć szybkość, którą dysponuje RAID0 z zabezpieczeniem przed utratą danych czyli RAID1 ?
Oczywiście że tak. Do tego celu służy właśnie praca w trybie "RAID 0+1".
Wymogi tego trybu są jednak dosyć duże, w przypadku „RAID0” czy też „RAID1” musieliśmy posiadać dwa dyski twarde – tutaj potrzeba ich aż cztery.
Konfiguracja macierzy dyskowej RAID 0+1
Dyski oczywiście łączymy standardowo:
· Primary – master, slave
· Secondary – master, slave
W ten sposób połączone cztery dyski można poddać konfiguracji poprzez bios kontrolera (Create RAID 0+1). Po takim zabiegu mamy szybkość, którą oferuje „RAID0” plus dodatkowo zabezpieczenie przed utratą danych (RAID1).
Takie hybrydowe połączenie czterech dysków twardych jest niewątpliwie ciekawym rozwiązaniem, jednak nie da się ukryć iż szalenie kosztownym.
Wady takiej konfiguracji są analogiczne do wad trybów „RAID0” oraz „RAID1”, dlatego też podaruję sobie ich opis.
To samo jeśli chodzi o zalety – łącząc zalety z trybów „RAID0” oraz „RAID1” otrzymujemy korzyści, które wiążą się z trybem „RAID 0+1”.
... czyli najczęściej zadawane pytania i odpowiedzi
Na wstępie pragnę serdecznie podziękować za wszystkie e-maile, które do tej pory otrzymałem. To właśnie one przyczyniły się do powstania uzupełnienia do artykułu w postaci zbioru pytań i odpowiedzi. Jeśli masz jakikolwiek problem z konfiguracją, użytkowaniem macierzy zapoznaj się poniższymi odpowiedziami. Jednocześnie zaznaczam, iż 99% pytań dotyczyło macierzy „RAID0”, dlatego też większość odpowiedzi porusza problemy właśnie tej odmiany macierzy.
Zdaję sobie sprawę iż pytania, problemy podyktowane mogą być specyficzną konfiguracją, która w odpowiedziach nie została ujęta, dlatego też mój adres pozostawiam do Waszej dyspozycji i w miarę możliwości będę starał się pomóc w rozwiązaniu konkretnych problemów.
Podczas instalacji systemu „Windows XP” dysk(i) podłączone do kontrolera „RAID” przestały działać.
To typowy objaw niewłaściwej (innej) interpretacji kontrolera przez WindowsXP, który kontroler „RAID” interpretuje jako urządzenie SCSI. Aby rozwiązać ten problem musimy bacznie śledzić pierwsze minuty instalacji systemu WindowsXP, w których system zakomunikuje nam polecenie użycia klawisza „F6” w przypadku, gdy w naszym komputerze jest kontroler typu SCSI. Po zastosowaniu się do tego polecenia i po włożeniu dyskietki ze sterownikami kontrolera RAID (dyskietka jest dołączana do kontrolera) dalsza instalacja jak i uruchomienie systemu powinno zakończyć się bez problemu. Warto również sprawdzić czy kontroler posiada opcję „botowania”, wbrew pozorom na rynku dostępne są kontrolery, które tej podstawowej funkcji niestety nie posiadają.
Czy po zmianie płyty głównej (inny model układu, ale ta sama firma kontrolera) utracę dane ?
Będzie problem ... Problem będzie dotyczył biosu kontrolerów na tych płytach. Sam niejednokrotnie przekonałem się iż wczytanie nowego biosu do kontrolera „RAID” często kończy się komunikatem o rekonfiguracji macierzy „RAID”, a co za tym idzie - utratą wszystkich danych na dysku.
W tym miejscu warto dodać iż producenci kontrolerów zalecają aby wersja biosu „RAID”-a nosiła ten sam numer co sterowniki instalowane w systemie.
Mam pytanie odnośnie RAID 0. Czy trzeba podłączać 2 dyski na jedną taśmę czy można na 2 (np. master, master)? Jeśli można, to jaka jest różnica ?
Z testów wynika iż optymalnym pod względem wydajności jest podłączenie dwóch dysków na osobnej taśmie IDE, przy ustawieniu zworek dysków na „cable select”. Różnice względem instalacji dwóch dysków na jednej taśmie IDE nie są zbyt duże – sięgają ok. 6-8%.
Jakimi programami sprawdzić czy moje dyski zostały skonfigurowane optymalnie w „RAID 0” ?
Jak wiadomo większość „benchmark-ów” niesie za sobą pewne przekłamania, jeśli chodzi o końcowe wyniki. W przypadku pomiaru dysków twardych jednoznaczne i pozbawione przekłamań zmierzenie transferu jest praktycznie niemożliwe. Tutaj w grę wchodzą takie czynniki jak:
· wielkość dysku (partycji)
· stopień zaśmiecenia dysku (wskazana defragmentacja)
· system „FAT” itp.
Do takich testów użyć można dwóch programów:
· „HDTach” – który jest szybki, a jego granica błędu to ok. 5-8%
· „SiSoft Sandra 2002 Pro” – wolna, ale za to granica błędu jest minimalna
„Sandra” oferuje ponadto możliwość porównania swojego wyniku z przykładowym wynikiem dysków w różnych konfiguracjach, w tym w konfiguracji z „RAID0”. Jeśli uzyskany wynik znacznie różni się od przykładowego z programu „Sandra”, wtedy niestety musimy przyjrzeć się naszej macierzy bliżej.
Mam cztery dyski twarde, z tym że dwa o pojemności 60GB i dwa o pojemności 30GB, czy można nie tracąc przestrzeni dyskowej skonfigurować macierz „RAID 0” ?
Jak się okazuje - można. Samo podłączenie jest prozaicznie proste i nie powoduje utraty danych na skonfigurowanym już „RAID-zie 0”. Załóżmy, iż nasz system jest już zainstalowany na dwóch dyskach 2x60GB skonfigurowanych w macierz. W tym przypadku wystarczy:
· Dwa dyski 2x 60GB podłączyć na jednej taśmie („slave”, „master”) podpiąć je do pierwszego kontrolera „RAID”
· Następne dyski – 2x 30GB w ten sam sposób podpiąć do drugiego kontrolera „RAID”
· Wejść do biosu kontrolera i stworzyć macierz „RAID0”, na dwóch nowo podłączonych 30GB dyskach
· Ustawić w biosie odpowiedni dysk botujący (w tym przypadku będzie to dysk 60GB)
Po stworzeniu partycji na nowo powstałym dysku 60GB (2x 30GB) i sformatowaniu ich otrzymujemy dodatkową przestrzeń dyskową. W tej konfiguracji dyski pracują niejako osobno – dwie osobne macierze, na każdej parze dysków otrzymujemy tylko ok. 90% przyspieszenia.
Gdyby dyski były równej pojemności (4x 60GB) i z tych dysków stworzylibyśmy z nich jedną 240GB macierz wtedy przyspieszenie byłoby równe x4.
Chcę stworzyć „RAID 0+1”, mam dwa dyski 20GB podłączone jako RAID 0 (w tej chwili to teoria) czyli 40GB do wykorzystania, teraz chcę RAID 1, czyli nabywam dwa następne HDD, pytanie tylko jakiej pojemności ?
Oczywiście muszą być tej samej pojemności. Cztery dyski 20GB pracujące w trybie „RAID 0+1” dadzą nam przestrzeń w wysokości 40GB. Niestety połowa przestrzeni (20GB x 4 = 80GB) zostanie nam bezpowrotnie zabrana przez kontroler na tworzenie kopii plików.
Dysk firmy „Seagate” pracujący w „RAID 0” jest wolniejszy niż w trybie IDE.
Niestety, z tymi dyskami są poważne problemy w „RAID 0”. Na tyle poważne, iż odpowiednia petycja poszła już kilka miesięcy temu do producenta tych dysków. W odpowiedzi producent przyznaje się do popełnienia błędu w biosie (firmware) dysków. Na dodatek nic nie da się z tym fantem zrobić. Jedyna pomyślna wiadomość jest taka: firma „Seagate” obiecuje iż następne modele dysków twardych będą pozbawione tego błędu...
Posiadam kartę muzyczną „SB Live”, która po zainstalowaniu sterowników do kontrolera powoduje konflikt w systemie.
W zależności od modelu płyty głównej trzeba odszukać w biosie sekcji o mniej więcej takiej treści: „read PCI cache” i ustawić na „enabled”.
Innym rozwiązaniem problemu może się okazać (jeśli taka pozycja istnieje w systemie) odszukanie w sekcji „device menager” pozycji „LPT Sparing” i włączenie jej.
Warto również „rozsądnie” obsadzać gniazda PCI na płycie głównej. Jeśli kontroler „RAID” jest zintegrowany z płytą, wówczas warto unikać podłączeń kart PCI w następujące sloty: 3 oraz 5.
Jaki wpływ na wydajność ma wybór wielkości bloków (4kb, 16kb) podczas konfiguracji macierzy ?
Odpowiedni dobór wielkości bloków ma czasem znaczący wpływ na końcową wydajność macierzy dyskowej. W moim przypadku wybór bloku „16kb” znacznie zwiększył wydajność dysków pracujących w macierzy. Znane są jednak przypadki iż w niektórych konfiguracjach to właśnie blok „4kb” ową wydajność zwiększył.
W tym przypadku duże znaczenie ma rodzaj (model) danego dysku. „Bloki” to wielkość jakimi kontroler przesyła dane na dysk twardy (odczyt i zapis) i tutaj wszystko zależy od możliwości danego modelu dysku – niektóre modele lepiej radzą sobie z większymi paczkami (16kb), inne z małymi (4kb).
Z dwóch dysków 60GB stworzyłem macierz, program „fdisk” ma problemy z nowopowstałym dyskiem 120GB.
Niestety, „fdisk” nie radzi sobie czasem z partycjonowaniem dysków większych niż 80GB. Ze strony: http://www.23cc.com/free-fdisk/ można ściągnąć wersję „poprawioną” programu, w której ten błąd został wyeliminowany.
Czy dyski które mają tworzyć macierz muszą być tej samej firmy tzn. wiadomo, że dysk 40 GB firmy „A” i firmy „B” nie ma dokładnie tej samej pojemności (zawsze są jakieś minimalne różnice) ?
Trzeba pamiętać o jednym głównym prawie, które rządzi macierzą: Macierz zawsze wyrówna różnice pojemności dysku do najmniejszego, różnice wydajności do najsłabszego dysku.
Przykład: Mając do dyspozycji dwa równe pojemnościowo dyski, z jedna różnicą iż jeden to 5400obr., drugi 7200obr. możemy być pewni iż po stworzeniu macierzy nasz nowo powstały dysk będzie musiał przyjąć wartość 5400obr. (oczywiście nie dosłownie).
Czy jest różnica w osiągach pomiędzy dyskiem firmy „A” a dyskiem firmy „B” ?
Różnice oczywiście są. Wpływ na to ma niewątpliwie specyfika danego modelu – są dyski które lepiej radzą sobie z zapisem, inne z odczytem, jeszcze inne z dużymi lub małymi plikami.
Pamiętajmy, iż dysk twardy to nie tylko magiczne, często przesadzone transfery. Szybkość dysku zależy od wielu czynników, jednak jeśli szukamy modelu który spełniłby wszystkie wymagania to niestety będziemy szukać na próżno. Dla przeciętnego użytkownika macierzy te różnice będą praktycznie minimalne, czasem defragmentacja może zdziałać znacznie więcej niż wymiana na rzekomo najszybszy model dysku.
Czy kontroler „RAID” może służyć do podłączenie dysków pracujących w ATA100 ?
Oczywiście tak. Kontroler „RAID” można wykorzystać jako zwykły kontroler IDE. Daje on możliwość podłączenia dodatkowo czterech dysków twardych.
Pamiętajmy jednak iż w grę wchodzą tylko dyski. Producenci kontrolerów „RAID” kategorycznie odradzają próby podłączenia napędów CDROM, CD-RW, DVD. Takie podłączenie może zakończyć się nawet ich uszkodzeniem.
...
marioateny