Jak pojedynczy dysk w sprzętowej macierzy SATA RAID-10 może zatrzymać całą macierz?

103

Preludium:

Jestem małpą kodową, która coraz częściej przejmuje obowiązki SysAdmin w mojej małej firmie. Mój kod jest naszym produktem i coraz częściej udostępniamy tę samą aplikację co SaaS.

Około 18 miesięcy temu przeniosłem nasze serwery z centralnego dostawcy hostingu premium na pchacz szafy typu barebone w centrum danych IV poziomu. (Dosłownie po drugiej stronie ulicy.) Ten pomysł robi o wiele więcej sami - na przykład sieci, przechowywania i monitorowania.

W ramach wielkiego posunięcia, aby zastąpić naszą dzierżawioną bezpośrednio podłączoną pamięć masową od firmy hostingowej, zbudowałem dwuwęzłowy NAS o pojemności 9 TB w oparciu o podwozia SuperMicro, 3ware karty RAID, Ubuntu 10.04, dwa tuziny dysków SATA, DRBD i. Wszystko zostało pięknie udokumentowane w trzech postach na blogu: Tworzenie i testowanie nowego NAS 9 TB SATA RAID10 NFSv4 NAS: część I , część II i część III .

Konfigurujemy również system monitorowania Cacit. Ostatnio dodajemy coraz więcej punktów danych, takich jak wartości SMART.

Nie mogłem zrobić to wszystko bez niesamowite boffins w ServerFault . To było zabawne i edukacyjne doświadczenie. Mój szef jest szczęśliwy (zaoszczędziliśmy mnóstwo ładunków $$$) , nasi klienci są zadowoleni (koszty magazynowania spadły) , jestem szczęśliwy (zabawa, zabawa, zabawa) .

Do wczoraj.

Awaria i powrót do zdrowia:

Jakiś czas po obiedzie zaczęliśmy otrzymywać raporty o powolnej wydajności z naszej aplikacji, CMS mediów strumieniowych na żądanie. Mniej więcej w tym samym czasie nasz system monitorowania kaktusów wysłał lawinę e-maili. Jednym z bardziej wymownych alarmów był wykres iostatu.

wprowadź opis zdjęcia tutaj

Wydajność uległa tak znacznemu pogorszeniu, że Pingdom zaczął wysyłać powiadomienia „serwer nie działa”. Całkowite obciążenie było umiarkowane, nie wystąpił wzrost natężenia ruchu.

Po zalogowaniu się na serwerach aplikacji, klientach NFS NAS, potwierdziłem, że prawie wszystko przeżywało bardzo nieregularne i niesamowicie długie czasy oczekiwania na IO. A kiedy wskoczyłem na sam główny węzeł NAS, te same opóźnienia były widoczne podczas próby poruszania się po systemie plików tablicy problemów.

Czas na awarię, poszło dobrze. W ciągu 20 minut wszystko potwierdziło, że wszystko działa poprawnie.

Sekcja zwłok:

Po wszystkich awariach systemu wykonuję sekcję zwłok, aby ustalić przyczynę awarii. Pierwszą rzeczą, którą zrobiłem, było ssh z powrotem do pudełka i zacznij przeglądać logi. To było całkowicie offline. Czas na wycieczkę do centrum danych. Resetowanie sprzętu, tworzenie kopii zapasowych i uruchamianie.

W /var/syslogznalazłem ten przerażająco wyglądający wpis:

Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1  Short offline       Completed: read failure       90%      6576         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2  Short offline       Completed: read failure       90%      6087         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3  Short offline       Completed: read failure       10%      5901         656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4  Short offline       Completed: read failure       90%      5818         651637856
Nov 15 06:49:45 umbilo smartd[2827]:

Poszedłem więc sprawdzić wykresy kaktusów dla dysków w tablicy. Widzimy tutaj, że tak, dysk 7 wymyka się, tak jak mówi syslog. Ale widzimy również, że Err SMART Read ERR dysku 8 zmienia się.

wprowadź opis zdjęcia tutaj

Brak wiadomości o dysku 8 w syslog. Bardziej interesujące jest to, że zmienne wartości dla dysku 8 bezpośrednio korelują z wysokimi czasami oczekiwania na IO! Moja interpretacja jest taka:

  • Na dysku 8 występuje dziwny błąd sprzętowy, który powoduje nieregularne długie czasy działania.
  • W jakiś sposób ten stan błędu na dysku blokuje całą macierz

Być może istnieje bardziej dokładny lub poprawny opis, ale wynik netto jest taki, że jeden dysk wpływa na wydajność całej macierzy.

Pytania)

  • Jak pojedynczy dysk w sprzętowej macierzy SATA RAID-10 może zatrzymać całą macierz?
  • Czy naiwnie myślę, że karta RAID powinna sobie z tym poradzić?
  • Jak mogę zapobiec wpływowi pojedynczego źle działającego dysku na całą macierz?
  • Czy coś brakuje?
Stu Thompson
źródło
11
Kolejne dobrze napisane pytanie od Ciebie +1. Zawsze przyjemnie czytam (ale niestety powyżej mojej tablicy nawet mam pomysł).
tombull89
1
@daff: Kupując bieżący budżet na tej konfiguracji, zaoszczędziliśmy solidne 66% od porównywalnego HP. Na tym pudełku kładziemy żywotność na cały rok, nie musi to trwać dłużej. Pamiętaj, że jest to pudełko do przechowywania, które kosztuje śliwkę rok do roku.
Stu Thompson,
2
3Ware nie jest złe samo w sobie. Miałem dziwne zachowanie z karty PERC w systemie Dell, który ma być przyzwoitym sprzętem serwerowym. Karta 3Ware powinna mieć wbudowaną baterię i tak, więc nie czułbym się źle z powodu tej decyzji. OK, możesz zostać obrzucony decyzją SAS vs. SATA, ale nie tracisz danych, a z twojego pytania brzmisz jakbyś miał kopie zapasowe i monitorowanie, więc radzisz sobie całkiem nieźle :-)
Bart Silverstrim
1
@StuThompson: oczywiście taniej jest przeznaczyć budżet i korzystać ze sprzętu konsumenckiego, i najczęściej będzie działał dobrze, zwłaszcza gdy, jak w twoim przypadku, stoi za tym dobra koncepcja HA. Ale są przypadki, jak wykazałeś, w których sprzęt konsumencki po prostu nie wycina go, gdy zdarzają się złe rzeczy. Mogę w zasadzie zagwarantować, że pojedynczy wadliwy dysk SAS na dobrym kontrolerze PERC (Dell) lub SmartArray (HP) nie spowodowałby żadnych problemów poza wezwaniem pomocy technicznej w celu uzyskania dysku zastępczego. Przez wiele lat produkowaliśmy wiele martwych dysków SAS, ale nigdy nie spowodowaliśmy awarii serwera.
daff
5
Większość dysków SATA nie obsługuje TLER (Time Limited Error Recovery). Kiedy typowy dysk SATA napotyka problem fizyczny, wysyła „wstrzymanie się podczas pracy nad tym” do podsystemu dyskowego (co zwykle robi tak, jak mu powiedziano). Dysk będzie następnie spędzał 10-30 sekund (zwykle) na każdym wykrytym błędzie, dopóki nie osiągnie progu „Jestem martwy”. Dyski SAS i SATA, które obsługują TLER, są skonfigurowane przez ich kartę HBA, aby poinformować podsystem dyskowy „Mam problem, co mam zrobić?” więc HBA może natychmiast podjąć decyzję o właściwym działaniu. (Uproszczone ze względu na zwięzłość)
Chris S

Odpowiedzi:

48

Nienawidzę mówić „nie używaj SATA” w krytycznych środowiskach produkcyjnych, ale dość często widziałem tę sytuację. Dyski SATA nie są generalnie przeznaczone do opisanego cyklu pracy, chociaż w konfiguracji skonfigurowano dyski o parametrach specjalnie przeznaczonych do pracy 24x7 . Z mojego doświadczenia wynika, że ​​dyski SATA mogą ulec awarii w nieprzewidywalny sposób, często wpływając na całą macierz pamięci, nawet jeśli korzystasz z RAID 1 + 0, tak jak to zrobiłeś. Czasami dyski ulegają awarii w sposób, który może zablokować całą magistralę. Należy zwrócić uwagę na to, czy w konfiguracji używasz ekspanderów SAS. Może to mieć wpływ na wpływ pozostałych dysków na awarię napędu.

Jednak bardziej sensowne może być zastosowanie dysków SAS z linii środkowej / bliskiej (7200 obr./min) w porównaniu do SATA. Istnieje niewielka przewaga cenowa nad SATA, ale dyski będą działać / ulegać awarii w bardziej przewidywalny sposób. Korekcja błędów i raportowanie w interfejsie / protokole SAS jest bardziej niezawodne niż zestaw SATA. Tak więc nawet w przypadku dysków, których mechanika jest taka sama , różnica w protokole SAS mogła zapobiec bólowi występującemu podczas awarii dysku.

ewwhite
źródło
Kiedy pisałem pytanie, wiedziałem, że mój wybór SAS się pojawi. : / IOPS i przepustowość mieszczą się w możliwościach mojej konfiguracji. Ale nie do końca zrozumiałem niektóre z bardziej subtelnych różnic. Na tym pudełku zapewniamy 3-letnią żywotność. Następnym razem skorzystaj z SAS.
Stu Thompson
1
Tak, należy wziąć pod uwagę następnym razem. Wspomniane dyski SAS nearline niekoniecznie działają lepiej niż SATA, ale takie rzeczy, jak odzyskiwanie błędów i awarie dysków, w których SAS jest łatwiejszy do zarządzania. Mam 48-dyskowy system pamięci masowej SATA Sun Fire x4540 z 6 kontrolerami, a awarie pojedynczych dysków zwykle blokowały serwer. Ciężka lekcja.
ewwhite
10
Mój dobry kumpel jest w świecie przechowywania danych dla przedsiębiorstw. Przeczytał to wszystko i powiedział: „ten facet ma rację. SATA zaprojektowano tak, aby oznaczać całkowitą awarię, a przerywana będzie wymagała przełączania awaryjnego bez włączania magistrali. Zwykle tego nie widać, ponieważ większość konfiguracji SATA to jeden dysk. „
Stu Thompson,
@StuThompson Czy od tego czasu zbudowałeś nowe urządzenie z technologią SAS w linii? Chciałbym przeczytać o twoich doświadczeniach. Twoje pytanie bardzo mi już pomogło, prawdopodobnie w najbliższej przyszłości zbuduję podobne pudełko.
chrishiestand
1
@chrishiestand Nie, nie mam. Opuściłem firmę w dniu 13 stycznia; gdybym został, zbudowalibyśmy pudełko zastępcze o linii bliskiej. Niestety, istnienie NAS było zbyt ściśle powiązane z moim własnym, a dane zostały przeniesione do SAN usługodawcy.
Stu Thompson,
17

Jak pojedynczy dysk może sprowadzić macierz? Odpowiedź brzmi: nie powinno, ale w pewnym sensie zależy to od przyczyny awarii. Jeśli dysk miałby umrzeć w sposób, który się zachowywał, nie powinien go zdejmować. Ale możliwe, że zawodzi w „przypadku krawędzi”, którego kontroler nie jest w stanie obsłużyć.

Czy naiwnie myślisz, że to nie powinno się zdarzyć? Nie, nie sądzę. Taka sprzętowa karta RAID powinna była obsłużyć większość problemów.

Jak temu zapobiec? Nie możesz przewidzieć takich dziwnych przypadków na krawędzi. Jest to częścią bycia sysadminem ... ale możesz pracować nad procedurami odzyskiwania, aby nie wpływały na twoją firmę. Jedynym sposobem, aby teraz to naprawić, jest wypróbowanie innej karty sprzętowej (prawdopodobnie nie to, co chcesz zrobić) lub zmiana dysków na dyski SAS zamiast SATA, aby sprawdzić, czy SAS jest bardziej wytrzymały. Możesz także skontaktować się ze sprzedawcą karty RAID i powiedzieć mu, co się stało, i zobaczyć, co mówią; w końcu to firma, która ma się specjalizować w poznawaniu tajników elektroniki napędowej. Mogą mieć więcej porad technicznych na temat działania napędów, a także niezawodności ... jeśli możesz dotrzeć do właściwych osób, z którymi możesz porozmawiać.

Coś przegapiłeś? Jeśli chcesz sprawdzić, czy na dysku występuje awaria krawędzi, wyciągnij go z macierzy. Tablica zostanie zdegradowana, ale nie powinieneś mieć więcej dziwnych spowolnień i błędów (oprócz statusu zdegradowanej tablicy). Mówisz, że teraz wydaje się, że działa dobrze, ale jeśli występują błędy odczytu dysku, należy wymienić dysk, póki to możliwe. Dyski o dużej pojemności mogą czasami zawierać błędy URE (najlepszy powód, aby nie uruchamiać RAID 5, uwaga dodatkowa), które nie pojawiają się, dopóki inny dysk nie ulegnie awarii. A jeśli zachowuje się przypadkowe zachowanie z tego jednego dysku, nie chcesz, aby uszkodzone dane były migrowane na inne dyski w macierzy.

Bart Silverstrim
źródło
1
Tak ... wprowadziliśmy już nową zasadę zastępowania, na przykład „jeśli błędy odczytu się zmieniają, to zrób to” . Teraz, gdy o tym myślę, mieliśmy dość wysoką awaryjność na tych dyskach. 4 z 22 w ciągu 18 miesięcy. Hmmm ....
Stu Thompson
2
4 dyski w 18 miesięcy? jest to dość częste tempo ... chociaż może to oznaczać, że dyski nie są w specyfikacji, może też wystąpić problem z chłodzeniem / przepływem powietrza. A może coś dziwnego z kontrolerem. Tylko kilka myśli ... miej oko na kłody. Jeśli jesteś w stanie skontaktować się z kimkolwiek w 3Ware z rzeczywistą pracą nad kartami, a nie tylko ze skryptem, możesz go uruchomić i zobaczyć, co mówią.
Bart Silverstrim
1
W zależności od zestawu, w którym widzisz błędy, możesz również sprawdzić, czy nie ma czegoś złego lub marginalnego z kablami. Jeśli błędy wydają się być skoncentrowane na tym samym porcie, być może wystąpił mniej niż przypadkowy zestaw awarii.
Bart Silverstrim,
4
Właśnie widziałem, że wartości SMART dla tego napędu bum działały w ~ 31 ° C, czyli o 4 ° C wyżej niż we wszystkich innych napędach. Rzeczy, które sprawiają, że idziesz hmmmm ....
Stu Thompson
2
@ DanNeely: Spośród 14 dysków (11 danych, 3 systemy) był to jedyny z wyższą temperaturą. Jestem całkiem pewien, że przepływ powietrza był dobry, ale wyraźnie sprawdzę jutro.
Stu Thompson
10

Nie jestem ekspertem, ale zamierzam zrobić niesamowite zdjęcie w ciemności na podstawie moich doświadczeń z kontrolerami RAID i macierzami pamięci.

Dyski ulegają awarii na wiele różnych sposobów. Niestety, dyski mogą ulegać awarii lub być wadliwe w sposób, który poważnie wpływa na ich wydajność, ale kontroler RAID nie widzi awarii.

Jeśli dysk ulegnie awarii w oczywisty sposób, każde oprogramowanie kontrolera RAID powinno być całkiem dobre w wykrywaniu braku odpowiedzi z dysku, usuwaniu go z puli i wysyłaniu powiadomień. Jednak przypuszczam, że dzieje się tutaj to, że dysk cierpi na niezwykłą awarię, która z jakiegoś powodu nie powoduje awarii po stronie kontrolera. Dlatego, gdy kontroler dokonuje operacji zapisu lub odczytu z uszkodzonego dysku, powrót zajmuje dużo czasu, a to z kolei powoduje zawieszenie całego operacji we / wy, a tym samym macierzy. Z jakiegokolwiek powodu to nie wystarczy, aby kontroler RAID przejął „ah, uszkodzony dysk”, prawdopodobnie dlatego, że dane w końcu wracają.

Radzę natychmiast wymienić wadliwy dysk. Następnie przyjrzę się konfiguracji twojej karty RAID (to 3ware, myślałem, że są całkiem dobre) i dowiedzę się, co uważa za uszkodzony dysk.

PS fajny pomysł na import SMART do kaktusów.

rosnąć
źródło
Po połączeniu kropek, pierwszą myślą, którą zrobiłem, było usunięcie dysku z tablicy; wypełniony zapasowy zapas. To była zeszłej nocy. Dzisiaj wyciągnąłem dysk i RMA go. Obraźliwy dysk: geekomatic.ch/images/wd-re4-flux-read-error.jpg
Stu Thompson
Jednym z powodów, dla których uważam, że każdy system o znaczeniu krytycznym musi mieć kartę do czyszczenia danych. Widziałem to zbyt wiele razy, aby liczyć, szczególnie na macierzach SATA, jednak wiadomo, że nawet dyski SAS wyższej klasy są znane z awarii bez uruchamiania kontrolera.
Jens Ehrich,
7

Potrzebujesz funkcji urządzeń pamięci masowej klasy korporacyjnej. W szczególności dyski korporacyjne WD RE 4 mają dwie funkcje potrzebne do zapobiegania takiemu działaniu macierzy RAID. Pierwsza z wymienionych poniżej technologii zapobiega niepotrzebnemu zużyciu wibracyjnych harmonicznych obrotowych na mechanicznych elementach dysku twardego. Druga technologia spowodowała problem, protokół SATA nie ma tej funkcji. Aby uzyskać te funkcje, potrzebujesz SAS, a jeśli nalegasz na dyski SATA, możesz kupić SAS na karty SATA Interposer, takie jak LSISS9252.

Udoskonalona technologia RAFF Zaawansowana elektronika monitoruje napęd i koryguje drgania liniowe i obrotowe w czasie rzeczywistym. Rezultatem jest znaczna poprawa wydajności w środowiskach o wysokiej wibracji w porównaniu do poprzedniej generacji napędów.

Ograniczone czasowo odzyskiwanie po błędzie (TLER) specyficzne dla macierzy RAID Zapobiega awarii dysku spowodowanej przez rozszerzone procesy odzyskiwania po błędzie dysku twardego wspólne dla dysków stacjonarnych.

http://en.wikipedia.org/wiki/Error_recovery_control#Overview

Zobacz także poniższy link:

http://en.wikipedia.org/wiki/Error_recovery_control#Raid_Controllers

Zobacz także: dokument Western Digital TLER szczegółowo wyjaśniający proces odzyskiwania po błędzie. Odzyskiwanie po awarii Zapobieganie opadaniu w dyskach twardych WD Caviar RAID Edition Serial ATA:

http://www.3dfxzone.it/public/files/2579-001098.pdf

Postrzeleniec
źródło
6

Tylko zgadnij: dyski twarde są skonfigurowane tak, aby próbowały powtarzać się po błędach odczytu, a nie zgłaszać błąd. Chociaż jest to pożądane zachowanie w ustawieniach pulpitu, przynosi efekt przeciwny do zamierzonego w macierzy RAID (gdzie kontroler powinien przepisać każdy sektor, który nie może odczytać z innych dysków, aby dysk mógł go odwzorować).

Simon Richter
źródło
Bardzo możliwe. Jeśli tak, to zdecydowanie nie jest to fajne, ponieważ są one określane jako „edycja RAID”. : |
Stu Thompson,
Absolutnie nie fajne, ponieważ to ustawienie jest samą definicją „edycji RAID” :)
Simon Richter
6

mój strzał w ciemność:

  • dysk 7 nie działa. ma pewne okna awarii, w których nie jest dostępne.

  • dysk 8 ma również „lżejsze” błędy; poprawione przez ponowienie.

  • RAID10 to zazwyczaj „RAID0 kilku par RAID1”, czy dyski 7 i 8 należą do tej samej pary?

jeśli tak, to wygląda na to, że trafiłeś w przypadek awarii dwóch dysków na tej samej parze. prawie jedyna rzecz, która może zabić RAID10. niestety może się tak zdarzyć, jeśli wszystkie dyski pochodzą z tej samej partii wysyłkowej, więc prawdopodobieństwo śmierci jednocześnie jest większe.

Wydaje mi się, że podczas awarii dysku 7 kontroler przekierował wszystkie odczyty na dysk 8, więc każda ponowna próba spowodowała duże opóźnienia, które spowodowały lawinę zamrożonych zadań, powodując chwilową utratę wydajności.

masz szczęście, że dysk 8 nie wydaje się jeszcze martwy, więc powinieneś być w stanie naprawić bez utraty danych.

Zacznę od zmiany obu dysków i nie zapomnij sprawdzić okablowania. może to powodować luźne połączenie, a jeśli nie zostanie pewnie poprowadzone, bardziej prawdopodobne jest to na sąsiednich dyskach. również niektóre karty wieloportowe mają kilka dwuportowych złączy, jeśli dysk 7 i dysk 8 są na tym samym, może to być przyczyną problemów.

Javier
źródło
3
Dysk 8 jest przyczyną przerwania usługi, już ją wyciągnąłem. Napęd 7, choć stracił niektóre sektory, które były w tym stanie przez pewien czas i nadal ogólnie dobrze się spisuje. Nie, dyski są w różnych parach. (Było to coś, co rozważałem, wraz z możliwym niedopasowaniem moich zapytań Cacti / SNMP.) Karta ma 16 portów, 4 kable, 4 porty na kabel do tylnej szyby. Jeśli problem dotyczy karty, kabla lub tylnej szyby, będę wiedział wkrótce po włożeniu zamiennika napędu 8.
Stu Thompson
3

Karty SATA Interposer Card to kolejne rozwiązanie.

Niedawno doświadczyłem dokładnie tego samego losu i znalazłem ten wątek. Ogólny tenor jest taki, że protokół SAS lepiej nadaje się do RAID niż SATA, ponieważ SATA nie ma funkcji. Dlatego te same dyski fizyczne są wyposażone w kontrolery SAS, a następnie sprzedawane jako Nearline SAS.

Szukając dalej, znalazłem:

http://www.lsi.com/products/storagecomponents/Pages/LSISS9252.aspx

Badam ulepszenie jednego z moich magazynów za pomocą partii. Obecnie różnica w cenie między 3 TB SATA a SAS wynosi 400% (cena waniliowa, ta sama marka, specyfikacje i sklep, Niemcy). Oczywiście nie wiem, czy ta strategia działa dobrze, ale warto spróbować.

Komentarze bardzo mile widziane :-)

Korkman
źródło
1
Dobra teoria. Po zebraniu niektórych informacji tylko producenci półek mogą zintegrować te płyty, a ich dodanie niekoniecznie oznacza lepszą obsługę błędów.
korkman
2

Widziałem dysk SATA z uszkodzoną elektroniką solidnie blokujący inicjację oprogramowania układowego Areca 12, nie było sposobu, aby uzyskać dostęp do BIOS-u, a co dopiero uruchomić komputer z dowolnego nośnika, dopóki nie zostanie znaleziony naruszający dysk twardy poprzez wyciągnięcie dysków w pliku binarnym szukaj mody.

rackandboneman
źródło