Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

RAIDers of the lost drive

Większość czytelników blogów Dobrych Programów wie, co oznacza akronim RAID, albo przynajmniej ma skojarzenia, że to coś związanego z dyskami twardymi. Nie będę się rozwodzić za bardzo nad rodzajami macierzy RAID (Wikipedia podaje bardzo dobre przykłady, więc nie ma co ich tutaj przeklejać). Dla przypomnienia cytując przypomne dwa najważniejsze aspekty:

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 jak i kilku dysków podłączonych jako oddzielne

Dla wbicia do głowy, że RAID to nie backup (RAID5, 6, 1+0 i pochodne):

RAID używa się w następujących celach:
  • zwiększenie niezawodności (odporność na awarie),
  • zwiększenie wydajności transmisji danych,
  • powiększenie przestrzeni dostępnej jako jedna całość.

Warto jeszcze dodać przypomnienie o standardowych "poziomach" RAID:

Domyślam się także, że część czytelników nie ma dostępu do serwerów średniej i wysokiej klasy: z tego też powodu wrzucę kilka przydatnych informacji.

Dopóty dysk dane nosi, póki mu bootsector nie padnie

W 'labie' mam HP ProLiant DL380 G7:
Dostępna jest już generacja ósma z nowym 'designem' dysków SAS, ale o tym może później. Sam sprzęt oferuje już całkiem ciekawe możliwości do nawer ciężkich zastosowań:
  • obsługa Intel® Xeon® 5600/5500,
  • do 384GB DDR3 (po 9 slotów na procesor),
  • maksimum 16 dysków.
Więcej informacji można uzyskać na stronie producenta.

Ogólnie bardzo lubię serię DL380 G7 ze względu na niską awaryjność, relatywnie dobrą cenę i dobrą współpracę z VMware i Hyper-V.

Na twardzielu dioda gore

Najczęściej stosowanymi dyskami w serwerach są dyski SAS 2.5 cala, czyli następca SCSI:
Stosuje się oczywiście także dyski 3.5-calowe, karty rozszerzeń SSD, czy w tanich rozwiązaniach standardowe napędy SATA. W przypadku SASów ceny mogą przestraszyć: HP 146GB 10K RPM Dual Port 2.5" za kosztuje €215, 300GB 6G SAS 15K €420, oraz coraz częściej stosowane są dyski 2.5 cala 600GB (cena spadła poniżej €400), natomiast ostatnio kupowałem HP M6612 600GB 6G SAS 15Krpm (dual port) za €1650 (około 7000zł).

Jak ktoś pewnie zwróci uwagę: pojemności tych dysków mogą zdziwić, szczególnie w stosunku do ceny/MB. Nie o to do końca chodzi. Co dają dyski SAS:

  • najważniejsze, hot-swap: w przypadku awarii jednego napędu (lub więcej, zależne od konfiguracji) istnieje możliwość wymiany dysku przy włączonym serwerze w ciągu 10 sekund - wystarczy nacisnąć zaślepkę (w nowych dyskach generacji G8 przycisk) i wymienić uszkodzony dysk. Przebudowa RAID nastąpi automatycznie. W tym przypadku o tyle ważne jest mieć gwarancję na dyski, lub wykupiony 'care pack' - nawet przy standardowej gwaracji NBD (Next Business Day), zgłoszenie do HP awarii skutkuje dostarczeniem w następny dzień roboczy sprawnego dysku, lub w razie potrzeby wizytę inżyniera (on-site support),
  • szybkość działania: 15K i w przypadku RAID0 bardzo dobra wydajność,
  • całkiem wysoka niezawodność (chociaż kilka rzutów dysków Hitachi instalowanych w HP w ostatnich 2 latach padają jak muchy).
Ważne jest także, że dyski są podłączone do tzw. sprzętowego kontrolera RAID, w tym przypadku Smart Array P410i. Jego przewaga na programowami konfiguracjami 'fake RAID' głównie polega na wsparciu obliczeniowym: np. w starych macierzach HP Eva przebudowa (czyli przeliczenie sum kontrolnych) RAID5 po wymianie dysku potrafiła trwać 2 dni, lub dłużej. Najprościej: system operacyjny nie zobaczy fizycznego dysku, ale np. dwa dyski 300 GB w konfiguracji RAID0 jako 600GB. W przypadku 'fake raid' (obecnie obsługuje go większość płyt głównych w domowych komputerach) jest to tylko wskazówka dla OS, co użytkownik zamierza zrobić, nie obędzie się jednak bez odpowiednich sterowników i rozwiązań programowych.

Z próżnego i recover nie odzyska

Nowy serwer dostarczany jest najczęściej bez dysków (lub z jedną sztuką), jednym modułem modułem RAM i procesorem.

Reszta gratów, czyli dodatkowa pamięć, dyski, zasilacz(-e), procesory dostarczane są w osobnych, sporych pudełach. Mistrzem w tym jest IBM, który pakuje kable zasilające w opakowaniach, których można przewieźć średniej wielkości żyrafę - ot, ekologia.
Po wyciągnięciu maskownic, wypada wsadzić odpakowane wcześniej dyski na swoje docelowe miejsce:
Gotowe, można przystąpić do konfiguracji.

Z próżnego i recover nie odzyska

Pierwsza myśl co do ustawień dysków to w czasie startu komputera i wyświetlania komunikatów POST, przejście do ustawień BIOSu płyty głównej (HP: klawisz F9), lub bezpośrednio kontrolera RAID (klawisz: F8). Konfiguracja jest oczywiście możliwa, jednak do 'dobrych praktyk' w przypadku sprzętu HP należy uruchomienie serwera z dołączonej płytki 'SmartCD':
Oprogramowanie to, poza narzędziami diagnostycznymi, pomocą przy instalacji OS ('wstrzykiwanie' sterowników), posiada właśnie całkiem pomocny moduł konfiguracji RAID.

W najnowszej generacji (G8) 'Intelligent Provisioning' jest wbudowany w serwer. Jest to o tyle wygodne, że nie trzeba uruchamiać go z zewnętrznych nośników - nie zawsze sprzęt wyposażony jest w napęd optyczny, czy wolne porty USB:

Po wybraniu odpowiedniego kontrolera RAID (może ich być w serwerze kilka), wyświetlą się fizyczne napędy dysków twardych:

Wcześniej już wspomniałem o niebieskiej diodzie na jednym z dysków: zaświeca się ona po podświetleniu 'fizycznego' dysku w konfiguratorze - dzięki temu w niektórych warunkach (dziesiątki serwerów, setki dysków) łatwiej zlokalizować napęd, np. gdy należy go wskazać zdalnie serwisantowi nie znającego naszego środowiska serwerowego:

Gdzie dysków sześć tam dużo formatowania

Napędów fizycznie jest szcześć, każdy po 300GB. Dla fascynatów backupowania internetu i ściągania odcinków 'Game of Thrones' w HD teoretyczna pojemność rzędu 1.8TB (6x300GB) wyda się komiczna a jeszcze większe oczy zrobią, że za sprawą przykładu i 'RAIDowego marnotrastwa' zrobi się z tego 1.2TB. Przejdźmy więc do utworzenia pierwszej macierzy:

Użyjemy do tego dwóch fizycznych dysków, należy je więc w konfiguratorze zaznaczyć:
Druga metoda, to przypisanie 'zadań' danym dyskom:
Dyski są już ze sobą "powiązane", ale my chcemy na nich RAID1: czyli pojemność użyteczną zbliżoną do 300GB i w przypadku awarii jednego brak utraty danych:
Domyślnie StripSize (odpowiednik znanego nam klastra, czyli jednej "porcji" danych zapisanych na dysku) jest ustawiony na 256KB. Warto się zastanowić, co dyski będą musiały "mielić" na danej macierzy - w przypadku np. SQL ustawiam na 64KB, wszystko jednak zależne od kilku czynników!
Ostatnią opcją jest włączenie, lub wyłączenia akceleratora (Array Accelerator), czyli "battery-backed cache". Główną jego rolą (jak sama nazwa wskazuje) jest przyspieszenie operacji dyskowych a szczególnie zapisu za pomocą 'keszowania' porcji danych za pośrednictwem szybkiej pamięci DRAM i jest to rzeczywiście widoczne w użyciu. Dodatkowo może być też użyteczny przy migracji RAIDów (np. zapis konfiguracji - od kilku lat konfiguracja jest zapisywana na dyskach). W celu zapewnienia jednak bezpieczeństwa tych danych (DRAM to pamięć ulotna), do kontrolera powinien być podłączony akumulator, który np. w przypadku przerwy w zasilaniu podtrzyma dane:

Pozostały nam 4 dyski, ale do utworzenia kolejnej macierzy (RAID5) wykorzystamy tylko 3, co da dostępną pojemność poniżej 600GB. W tym momencie wychodzi przewaga "sprzętowych" rozwiązań: przeliczanie sum konktrolnych jest wydajne i nie obciąża CPU (odsyłam do zapoznania się z różnicami między RAID1 i RAID5):

Uzyskaliśmy więc sytuację, gdy w każdej macierzy może uszkodzić się jeden dysk a serwer nadal będzie działał. Pozostał nam jednak dysk: zwiększmy więc redundancję, ustawiając go jako tzw. "shared spare". W rozwiązaniach składających się z dziesiątek dysków jest całkiem prawdopodobna kolejna awaria, szczególnie że wspomagają ten proces prawa Murphy'ego. Zasada jest prosta: im więcej dysków, tym awaryjność serwera wzrasta drastycznie.
"Dysk zapasowy", który do czasu awarii nudził się, jest praktycznie uśpiony: przypisałem go osobno do obu utworzonych macierzy (część zdjęć z procesu konfiguracji utraciłem po uszkodzeniu pamięci SD w moim telefonie):

Jak to działa: uszkadza się dysk np. w macierzy pierwszej (RAID5). Z racji zasady działania, dane są nadal dostępne, jednak następny uszkodzony dysk spowoduje utratę zawartości. Rolę uszkodzonego zastępuje "spare disk" - przebudowywane są sumy kontrolne i macierz odzyskuje redundancję. W przypadku, gdy technik wymieni uszkodzony napęd "spare disk" wróci na swoje miejsce a jego rolę odzyska nowy dysk. Na tej zasadzie dysków zapasowych może być kilka*

* (w powyższym akapicie użyłem słowa "dysk" kilka razy, ale nie mam pomysłów na synonimy i jakieś Szekspirowskie opisy dysku, którym jest dyskiem...).

Nie chwal systemu przed pierwszym padem

Podsumowując przypomnę, że jest to bardzo luźny przykład: możliwości konfiguracji są dziesiątki, poszczególne dyski w macierzy wypada rozbić na 'klatki' - chociaż nie spotkałem się z uszkodzeniem jednego "cage". "Storage" jest dość złożonym zagadnieniem: odporność na awarie, fakty i mity dotyczące fragmentacji, NAS i SAN (oraz powiązane z nim iSCSI i pochodne), monitoring, różni producenci - o tym może napiszę przy najbliżej okazji...
 

sprzęt serwery

Komentarze

0 nowych
andrzej3393   3 #1 03.05.2013 21:33

"do 384MB DDR3"
Czy aby na pewno?;>

Over   9 #2 03.05.2013 21:41

Serwery jak ja to lubię ;)
Szkoda że nie opisałeś zasilaczy awaryjnych (przemysłowych) przy okazji :) bo to nie odłączny element serwerowni ale pewnie brakło ci czasu na to ;)

bachus   20 #3 03.05.2013 21:59

@andrzej3393: tak, 12 x 32GB = 384GB, jak w mordę strzelił ;-)

@Over: mój wpis był tylko o RAID a i tak wyszedł przudługi i nudny... Jak kogoś interesuje, mogę podać infomracje o zasilaczaczach, CPU itd. zarówno w tym serwerze, jak i przy większych maszynach, które potrafią mieć tyle RAMu co pojemność spore dysku twarego :>
http://s3.postimg.org/jll11d8gz/ZASILACZ.jpg
http://s11.postimg.org/nqazhrmpf/INSTALACJACPU.jpg

Autor edytował komentarz.
  #4 03.05.2013 23:49

Bardzo interesuje!
Chętnie przeczytam następny wpis.

mktos   10 #5 04.05.2013 16:30

@bachus: Popatrz na literkę - napisałeś MB, nie GB :>

bachus   20 #6 04.05.2013 17:01

@mktos: lol, poprawonie, dzięki andrzej3393 i @mktos za czujność :>

Shaki81 MODERATOR BLOGA  38 #7 05.05.2013 18:52

A ja mam pytanie z innej beczki - Ile czasu zajęło Ci poskładanie i skonfigurowanie tego razem?

bachus   20 #8 05.05.2013 19:50

Shaki81: muszę spojrzeć w czas robienia zdjęć. Najwięcej czasu zawsze zajmuje... wyjęcie z pudełek: serwer jest dość ciężki, każdy dysk osobno zapakowany, pamięci w osobnych pudełkach a do tego jeszcze w dodatkowych opakowaniach. Ogólnie w sprzęcie grzebię się ostatnio rzadko, w większości zajmuję się częścią aplikacyjną a sprzętowców tylko doglądam ;-) Ten serwer wrzucałem do labu, więc sam się grzebałem, dodatkowo z czystej ciekawości zawsze biorę się za najnowsze modele.
Wracając do sprzętu: bardzo nie lubię instalować dodatkowych CPU, jest to proces dość upierdliwy w serwerach i wymaga chwili uwagi. Podsumowując: mając wprawę, samemu odapkowując, CPU, zasilacz dodatkowy, wsadzić dyski,pamięci (prawie zawsze uda mi się źle wsadzić pamięci ze względu na to, że obsadzanie banków jest niejednozacznie opisane): http://s12.postimg.org/zfrdoz871/Zle_RAM1.jpg
pewnie z 2h zejdzie
Mówiąc wprost: poskładanie do kupy serwera, instalacja Windows 2012, aktualizacje do niego i wstępna konfiguracja: trzeba liczyć cały dzień.

Autor edytował komentarz.
chmuri   4 #9 06.05.2013 22:45

Znacznie krócej to zajmuje jak masz pół szafy do zmontowania na wczoraj;)

bachus   20 #10 06.05.2013 23:26

@chmuri: jak masz maszynówkę, to idzie zawsze szybciej, chociaż mam szczególne uczulenie na 'donkey job'.

N4R   3 #11 22.05.2013 07:53

Oczywiście czekamy na więcej.

Co z zapasowym kontrolerem RAID, gdy ten okaże się wadliwy?

Autor edytował komentarz.
bachus   20 #12 28.05.2013 10:01

@N4R: można zawsze zamontować drugi kontroler i rozdzielić na 'klatki', ale i tak najlepiej replikować dane - NAS, lub rozwiązania programowe (Windows 2012 ma wbudowany ciekawą opcję: Scale-Out File Server.
Inaczej: nigdy nie można ufać jednemu fizycznemu serwerowi a na dobrą sprawę szafie/budynkowi/miastu...

marciech   1 #13 25.02.2015 10:35

Bardzo ciekawy artykuł.


Mam problem z RAID 5 (chyba).
Serwer HP Proliant ML350 G6, 6x146GB.
Dyski obsadzone kolejno 1 do 6.
Ostatnio zauważyłem, że dyski 5,6 świecą na pomarańczowo.
HP Array Configuration Utility nie pokazuje żadnych, alertów,
co ciekawe pokazuje ze w RAID5 biorą udział dyski 7,8
(tam są tylko zaślepki)
Prosiłbym o pomoc, sam nie wiem co o tym myśleć.

bachus   20 #14 25.02.2015 18:31

@marciech: obstawiam, że na innej sesji terminalowej serwera jest otwary HP Array configuration utility i podświetla te dyski (logiczne: macierz RAID). Wyłacz program to pewnie zniknie. Co do dysków: pewny jesteś, że sprawdzasz na dobrym serwerze? Teraz jak "amber led" nie wróży nic dobrego... Serwer masz na gwarancji? Czasem software potrafi nie pokazać nic, jednak może to być od SMART 'failure predicted'. Jak masz serwer na gwrancji, z ACU wygeneruj report, zaloguj ticketa do HP i załącz w drugim mailu ten plik (i tak o niego poproszą, jeżeli jest problem z dyskami). 'Predictef failure' w przypadku gwarancji oznacza przysłanie dysku (najczęściej NBD w podstawowych gwarancjach) i możesz wymienić.

marciech   1 #15 27.03.2015 12:26

Niestety to nie podświetlenie HP Array.
Tak jestem pewien, że to właściwy serwer.
Właśnie dziś sprawdziłem fizycznie i "amber led" zamieniło się "blue led"
,cały czas dotyczy to tylko tych 2 dysków.
Co to znaczy ?
Właśnie zostały mi ostatnie 2mce gwarancji na serwer.

bachus   20 #16 27.03.2015 20:03

@marciech: jak masz gwarancję, to zwróc się do HP. Wrzuć case przez stronę (tak najwygodniej) i zaraz po wrzuceniu problemu dołącz do ticketa wygenerowany raport, bo zawsze o to pytają. Gdyby co, pytaj śmiało - jak będę wiedział, to podpowiem ;-)