Cum se interpretează aceste date smartctl (smartmon) (Administrarea sistemului, Linux, Smartctl)

gview a intrebat.

Avem un server linux care a fost folosit intens timp de 3 ani. Pe el rulăm o serie de servere virtualizate, unele care nu s-au comportat bine, iar pentru o perioadă semnificativă de timp capacitatea io a serverului a fost depășită, ceea ce a dus la un iowait prost. Are 4 unități Barracuda sata de 500gb conectate la un controler raid 3com. 1 unitate are sistemul de operare, iar celelalte 3 sunt configurate raid-5.

Acum avem o dezbatere cu privire la starea unităților și dacă acestea eșuează în mod activ.

Iată o parte din ieșirea pentru 1 dintre cele 4 discuri. Toate au statistici relativ similare:

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   118   099   006    Pre-fail  Always       -       169074425
  3 Spin_Up_Time            0x0003   095   092   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       26
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   077   060   030    Pre-fail  Always       -       200009354607
  9 Power_On_Hours          0x0032   069   069   000    Old_age   Always       -       27856
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       1
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       26
184 Unknown_Attribute       0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       1
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       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   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

Interpretarea mea este că nu am avut sectoare defecte sau alte indicii că vreunul dintre discuri se defectează în mod activ.

Cu toate acestea, rata ridicată a Raw_Read_Error_Rate și Seek_Error_Rate este indicată ca fiind un indiciu că unitățile sunt pe moarte.

Comentarii

  • Există o descriere bună aici (prea lungă pentru a fi postată, vă rugăm să urmați linkul): lime-technology.com/wiki/Understanding_SMART_Reports (în engleză) În cazul în care link-ul cade, câteva citate importante: „Acesta este un indicator al ratei actuale de erori ale operațiilor de citire a sectorului fizic de nivel scăzut. În timpul funcționării normale, există ÎNTOTDEAUNA un număr mic de erori […] NU există nicio problemă cu unitatea.” și „Vă rugăm să ignorați complet numărul RAW_VALUE! Numai Seagates raportează valoarea brută, care, da, pare a fi numărul de erori de citire brută, dar trebuie ignorată complet.” –  > Por Konrad Gajewski.
7 răspunsuri
hwilbanks

Din experiența mea, Seagates are numere ciudate pentru aceste două atribute SMART. Când diagnostichez un Seagate, tind să le ignor și să mă uit mai atent la alte câmpuri, cum ar fi Reallocated Sector Count. Desigur, atunci când aveți dubii, înlocuiți unitatea, dar chiar și Seagates nou-nouț va avea numere mari pentru aceste atribute.

tsuna

În cazul discurilor Seagate (și, eventual, și al unor discuri vechi de la WD), Seek_Error_Rate și Raw_Read_Error_Rate sunt numere de 48 de biți, în care cei mai semnificativi 16 biți reprezintă un număr de erori, iar cei 32 de biți inferiori reprezintă un număr de operații.

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

Așadar, discul dvs. a efectuat 2440858991 căutări, dintre care 46 au eșuat. Experiența mea cu unitățile Seagate este că acestea tind să se defecteze atunci când numărul de erori depășește 1000. YMMV.

Comentarii

  • Mulțumesc pentru asta, aș fi vrut să am aceste informații atunci când am pus inițial întrebarea. –  > Por gview.
  • Acest lucru, foarte util. M-a salvat de la panică. –  > Por Halsafar.
  • Poate cineva să furnizeze vreun link care să confirme că sunt numere de 48 de biți cu această separare? Vreau să confirm aceste numere –  > Por iuridiniz.
the-wabbit

Valorile RAW_VALUES „seek error rate” și „raw read error rate” sunt practic lipsite de sens pentru oricine, cu excepția celor de la Seagate. După cum au subliniat și alții, valorile brute ale parametrilor precum „realocarea numărului de sectoare realocate” sau intrările din jurnalul de erori al unității sunt mai susceptibile de a indica o probabilitate mai mare de eșec.

Dar puteți arunca o privire la datele interpretate în coloanele VALUE, WORST și THRESH, care sunt menite să fie citite ca indicatori:

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

În sensul că rata de eroare de căutare este considerată în prezent ca fiind „77% bună” și este raportată ca o problemă de către SMART atunci când ajunge la „30% bună”. A fost o dată la un nivel de „60% bun”, dar de atunci și-a revenit ca prin magie. Rețineți că valorile interpretate sunt calculate de logica SMART internă a unității, iar calculul exact poate fi sau nu publicat de către producător și, de obicei, nu poate fi modificat de către utilizator.

Personal, consider că o unitate care conține intrări în jurnalul de erori ca fiind „defectă” și recomand insistent înlocuirea acesteia imediat ce apar. Dar, per ansamblu, datele SMART s-au dovedit a fi un indicator destul de slab pentru prezicerea defecțiunilor, ca un articol de cercetare publicat de Google a scos la iveală.

Comentarii

  • lucrarea de cercetare este moartă 🙁 –  > Por Tek.
  • @Tek Am reparat link-ul –  > Por the-wabbit.
Fred Flint

Mi-am dat seama că această discuție este un pic mai veche, dar vreau să adaug și eu 2 cenți. Am constatat că informațiile inteligente sunt un indicator destul de bun al pre-eșecului. Când se declanșează un prag inteligent, atunci înlocuiți unitatea. Pentru asta sunt acele praguri.

În marea majoritate a timpului, veți începe să vedeți sectoare defecte. Acesta este un semn sigur că unitatea începe să se defecteze. SMART m-a salvat de multe ori. Folosesc software-ul RAID 1 și este foarte util, deoarece este suficient să înlocuiți unitatea care nu funcționează și să reconstruiți matricea.

De asemenea, efectuez săptămânal un autotest scurt și unul lung.

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

Sau adăugați /etc/smartd.conf și cereți-i să vă trimită un e-mail dacă există erori.

/dev/sda -s L/../../3/22 -I 194 -m [email protected]
/dev/sdb -s L/../../7/22 -I 194 -m [email protected]

Asigurați-vă că instalați logwatch și redirecționați root către o adresă de e-mail și verificați e-mailurile zilnice de la logwatch. Stegulețele declanșate de SMARTD vor apărea acolo, dar nu este de niciun ajutor dacă nimeni nu monitorizează asta în mod regulat.

Ryan Gandy

Îmi pare rău că comit necromanție pe acest post, dar, din experiența mea, câmpurile „Raw Read Error Rate” și „Hardware ECC Recovered” pentru o unitate Seagate vor merge la propriu peste tot și vor crește în mod constant până la trilioane, moment în care se vor întoarce la zero pentru a continua din nou procesul. Am un Seagate ST9750420AS care a avut această problemă încă din prima zi și încă funcționează foarte bine chiar și după câțiva ani și peste 3500 de ore de utilizare.

Cred că aceste câmpuri pot fi ignorate fără probleme dacă aveți unul în cazul dvs. Asigură-te doar că cele două câmpuri raportează același număr și sunt sincronizate în mod constant. Dacă nu sunt… ei bine… Asta ar putea însemna de fapt o problemă.

migabi

Da, acele câmpuri arată rău, dar nu mai am încredere (mai) în informațiile raportate de smart (mașina mea de test are o unitate care ar trebui să fie moartă de mult timp dacă citești datele cu smartctrl)Faptul este că ai raportat iowait mare și unitățile sunt vechi de 3 ani. Acest lucru ar trebui să fie suficient pentru a schimba unitățile.

Comentarii

  • Din diverse motive, trebuie să ne maximizăm investiția în hardware. Iowait-ul a avut legătură cu încărcătura ridicolă, precum și cu unele greșeli de configurare pe care le-am făcut atunci când am configurat boxa. –  > Por gview.
Tom Hale

Pentru a automatiza calculele acestui răspuns, folosiți calculatorul javascript online:

https://yksi.ml/

Acesta vă va spune:

  • Numărul total de operații
  • Numărul de operațiuni eșuate

Calculatorul este valabil pentru Seagate:

  • Seek Error Rate
  • Rata de eroare de citire brută
  • ECC hardware recuperat

Pentru mai multe informații despre calculul valorilor normalizate (între 0 și 100), consultați acest articol.