Jak interpretować te dane smartctl (smartmon)


20

Mamy serwer linux, który był intensywnie używany od 3 lat. Obsługujemy na nim wiele zwirtualizowanych serwerów, niektóre z nich nie były dobrze zachowane i przez znaczny czas pojemność serwera została przekroczona, co spowodowało zły iowait. Ma 4 500 GB dyski SATA Barracuda podłączone do kontrolera RAID 3com. 1 Dysk ma system operacyjny, a pozostałe 3 są skonfigurowane do raid-5.

Teraz prowadzimy debatę na temat stanu dysków i tego, czy aktywnie się psują.

Oto część danych wyjściowych dla 1 z 4 dysków. Wszystkie mają stosunkowo podobne statystyki:

Numer wersji struktury danych atrybutów SMART: 10
Atrybuty SMART specyficzne dla dostawcy z progami:
ID # ATTRIBUTE_NAME FLAG WARTOŚĆ NAJGORSZY TYP PRÓBNY ZAKTUALIZOWANO, GDY WARTOŚĆ RAW_VALUE
  1 Raw_Read_Error_Rate 0x000f 118 099 006 Zawsze przed awarią - 169074425
  3 Spin_Up_Time 0x0003 095 092 000 Przed awarią Zawsze - 0
  4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 26
  5 Reallocated_Sector_Ct 0x0033 100 100 036 Przed awarią Zawsze - 0
  7 Seek_Error_Rate 0x000f 077 060 030 Zawsze po awarii - 200009354607
  9 Power_On_Hours 0x0032 069 069 000 Old_age Always - 27856
 10 Spin_Retry_Count 0x0013 100 100 097 Przed awarią Zawsze - 1
 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 26
184 Nieznany_Atrybut 0x0032 100 100 099 Old_age Zawsze - 0
187 Zgłoszone_nieprawidłowe 0x0032 100 100 000 Old_age Zawsze - 0
188 Nieznany_Atrybut 0x0032 100 100 000 Old_age Zawsze - 1
189 High_Fly_Writes 0x003a 100 100 000 Old_age Zawsze - 0
190 Airflow_Temperature_Cel 0x0022 071 060 045 Old_age Always - 29 (Lifetime Min / Max 26/37)
194 Temperature_Celsius 0x0022 029 040 000 Old_age Always - 29 (0 21 0 0)
195 Hardware_ECC_Recovered 0x001a 046 033 000 Old_age Always - 169074425
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Zawsze - 0
198 Offline_Niekorygowalne 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0

Wersja protokołu błędów SMART: 1
Brak zarejestrowanych błędów

Moją interpretacją tego jest to, że nie mieliśmy żadnych złych sektorów ani innych oznak, że którykolwiek z dysków aktywnie ulega awarii.

Jednak wysokie wartości Raw_Read_Error_Rate i Seek_Error_Rate wskazują na to, że dyski giną.


1
Jest tutaj dobry opis (zbyt długi, aby opublikować ponownie, proszę kliknąć link): lime-technology.com/wiki/Understanding_SMART_Reports W przypadku awarii łącza, kilka ważnych cytatów: „Jest to wskaźnik bieżącego wskaźnika błędów niskopoziomowe operacje odczytu sektora fizycznego. W normalnej pracy ZAWSZE występuje niewielka liczba błędów [...] nie ma problemu z napędem. ” i „PROSZĘ całkowicie zignoruj ​​wartość RAW_VALUE! Tylko firma Seagates zgłasza nieprzetworzoną wartość, która, tak, wydaje się być liczbą nieprzetworzonych błędów odczytu, ale należy ją całkowicie zignorować”.
Konrad Gajewski

Odpowiedzi:


7

Z mojego doświadczenia wynika, że ​​Seagates ma dziwne liczby dla tych dwóch atrybutów SMART. Podczas diagnozowania Seagate staram się je ignorować i przyjrzeć się bliżej innym dziedzinom, takim jak Reallocated Sector Count. Oczywiście w razie wątpliwości wymień dysk, ale nawet zupełnie nowe Seagates będą miały wysokie liczby tych atrybutów.


58

W przypadku dysków Seagate (i prawdopodobnie również starych WD) Seek_Error_Rate i Raw_Read_Error_Rate są liczbami 48-bitowymi, przy czym najbardziej znaczące 16 bitów to liczba błędów, a niskie 32 bity to pewna liczba operacji.

% python
>>> 200009354607 & 0xFFFFFFFF
2440858991
>>> (200009354607 & 0xFFFF00000000) >> 32
46

Twój dysk wykonał 2440858991 prób, z czego 46 zakończyło się niepowodzeniem. Moje doświadczenie z dyskami Seagate polega na tym, że zawodzą one, gdy liczba błędów przekracza 1000. YMMV.


7
Poza tym chciałbym mieć tę informację z powrotem, kiedy pierwotnie zadałem pytanie.
gview

1
To bardzo przydatne. Uratował mnie od paniki.
Halsafar

Czy ktoś może podać link, który potwierdzi, że są to liczby 48-bitowe przy takim rozdzieleniu? Chcę potwierdzić te liczby
iuridiniz

9

Wartości „szukaj error error” i „raw read error error” RAW_VALUES są praktycznie bez znaczenia dla kogokolwiek poza wsparciem Seagate. Jak zauważyli inni, surowe wartości parametrów, takich jak „ponownie przydzielona liczba sektorów” lub wpisy w dzienniku błędów napędu, częściej wskazują na większe prawdopodobieństwo awarii.

Możesz jednak spojrzeć na zinterpretowane dane w kolumnach WARTOŚĆ, NAJGORSZA i WARTOŚĆ, które mają być odczytywane jako mierniki:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH
  7 Seek_Error_Rate         0x000f   077   060   030

Oznacza to, że poziom błędu wyszukiwania jest obecnie uważany za „77% dobrego” i jest zgłaszany jako problem przez SMART, gdy osiąga „30% dobrego”. Kiedyś był tak niski, jak „w 60% dobry”, ale od tego czasu wrócił do zdrowia. Należy pamiętać, że interpretowane wartości są obliczane wewnętrznie przez logikę SMART napędu, a dokładne obliczenia mogą być publikowane przez producenta lub nie, i zwykle nie mogą być modyfikowane przez użytkownika.

Osobiście uważam dysk zawierający wpisy dziennika błędów za „niesprawny” i nalegam na wymianę, gdy tylko się pojawią. Podsumowując, dane SMART okazały się raczej słabym wskaźnikiem przewidywania awarii, jak ujawnili artykuł badawczy opublikowany przez Google .


4

Zdałem sobie sprawę, że ta dyskusja jest trochę stara, ale chcę dodać moje 2 centy. Uważam, że inteligentne informacje są dość dobrym wskaźnikiem przedawaryjnej pracy. Po zadziałaniu inteligentnego progu wymień dysk. Po to są te progi.

Zdecydowana większość czasu zaczniesz widzieć złe sektory. To pewny znak, że dysk zaczyna się zawodzić. SMART uratował mnie wiele razy. Korzystam z oprogramowania RAID 1 i jest to bardzo pomocne, ponieważ po prostu wymieniasz uszkodzony dysk i odbudowujesz macierz.

Co tydzień przeprowadzam także krótki i długi autotest.

smartctl -t short /dev/sda
smartctl -t long /dev/sda 

Lub dodaj go /etc/smartd.conf i poproś go o wysłanie e-maila, jeśli wystąpią błędy

/dev/sda -s L/../../3/22 -I 194 -m someemail@somedomain
/dev/sdb -s L/../../7/22 -I 194 -m someemail@somedomain

Upewnij się, że zainstalowałeś Logwatch i przekierowałeś root na adres e-mail i sprawdzasz codzienne e-maile z Logwatch. Pojawią się tam flagi wyzwalane SMARTD, ale nic nie pomoże, jeśli nikt nie monitoruje tego regularnie.


1

Tak, te pola wyglądają źle, ale nie ufam (już) informacjom zgłaszanym przez smarta (moja maszyna testowa ma napęd, który powinien już dawno być martwy, jeśli odczytujesz dane za pomocą smartctrl) Faktem jest, że zgłosiłeś high iowait, a dyski mają 3 lata. To powinno wystarczyć, aby zmienić dyski.


1
Z różnych powodów musimy zmaksymalizować naszą inwestycję w sprzęt. Iowait miał do czynienia z niedorzecznym obciążeniem, a także z niektórymi błędami konfiguracyjnymi, które popełniliśmy podczas konfigurowania urządzenia.
gview

0

Przepraszam za dokonanie nekromancji w tym poście, ale z mojego doświadczenia wynika, że ​​pola „Raw Read Error Rate” i „Hardware ECC Odzyskane” dla dysku Seagate dosłownie rozejdą się wszędzie i stopniowo zwiększają się w zakresie bilionów, w którym to momencie cofnę się do zera, aby kontynuować proces ponownie. Mam Seagate ST9750420AS, który miał ten problem od pierwszego dnia i nadal działa świetnie nawet po kilku latach i ponad 3500 godzin użytkowania.

Myślę, że te pola można bezpiecznie zignorować, jeśli masz jedno w swoim przypadku. Upewnij się tylko, że dwa pola zgłaszają ten sam numer i są w ciągłej synchronizacji. Jeśli nie są ... cóż ... To może oznaczać problem.


0

Aby zautomatyzować obliczenia tej odpowiedzi , użyj internetowego kalkulatora javascript:

https://yksi.ml/

To powie ci:

  • Całkowita liczba operacji
  • Liczba nieudanych operacji

Kalkulator jest ważny dla Seagate:

  • Szukaj wskaźnika błędów
  • Wskaźnik błędu czystego odczytu
  • Odzyskano sprzęt ECC

Więcej informacji na temat obliczania znormalizowanych wartości (od 0 do 100) można znaleźć w tym artykule .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.