controlul hard disk-urilor folosind SMART
Unul dintre hard-discurile dvs. vrea probabil să vă spună că va merge în curând într-o altă lume. Instalați software-ul care vă va informa când să îl înlocuiți.
Mulți utilizatori și administratorii de sistem nu știu ce auto-monitorizare, analiză și raportare Tehnologie (SMART), precum și faptul că această tehnologie este folosită în aproape toate hard disk-uri ATA si SCSI moderne. Discurile care susțin această tehnologie, monitorizează independent "sănătatea" și performanța lor. În cele mai multe cazuri, discul este capabil să avertizeze administratorul că ceva nu este în regulă și acest lucru va evita scenariul de mai sus. Majoritatea implementărilor SMART permit utilizatorilor de disc să testeze un disc și să monitorizeze un număr de parametri referitori la fiabilitatea și performanța acestuia.
Prin profesie, sunt fizician. Echipa mea de cercetare utilizează un grup de stații de lucru pentru computerele distribuite, care include aproximativ 600 de unități de hard disk care stochează aproximativ 50 terabyte de date. Am început să mă interesează tehnologia SMART acum câțiva ani, presupunând că aceasta va contribui la reducerea timpilor de întrerupere și la îmbunătățirea fiabilității clusterului nostru. În cursul anului, am folosit software-ul open-source smartmontools, care a fost o continuare a dezvoltării pachetului UCSC smartsuit.
În acest articol vă voi explica cum să folosiți utilitarul smartctl inclus în pachetul smartmontools, precum și daemonul smartd pentru a monitoriza starea unităților hard disk. Acest pachet poate fi descărcat de la smartmontools.sourceforge.net. Acolo puteți găsi un ghid pentru instalarea sa. Documente suplimentare pot fi găsite în manualele corespunzătoare:
om inteligent și om inteligent
Clădiri de smartmontools sunt disponibile pentru Slackware, Debian, SuSE, Mandrake, Gentoo, Conectiva și alte distribuții Linux. RedHat include versiuni de smartctl și smartd din pachetul inteligent UCSC, iar smartmontools vor fi incluse în versiunile viitoare.
Începând cu standardul ATA-4, cerința privind utilizarea hardcard-urilor a fost anulată. În schimb, discurile au returnat pur și simplu starea "OK" sau "NU OK" când au primit o solicitare pentru statutul lor. Un răspuns negativ la interogare a însemnat că discul ar putea eșua. În standardul ATA-5, au fost adăugate întreținerea jurnalului de erori și comenzile pentru pornirea unității de auto-testare.
Pentru a utiliza toate posibilitățile de mai sus de unități, și anume valorile indicatorilor de starea discului (cele mai multe drive-uri sunt compatibile cu SFF-8035i), interoga starea de sănătate a unui disc, executați un auto-test, monitoriza jurnalul de erori, monitorizarea log testare (include rezultatele 21 de auto-test), trebuie să Aflați cum să utilizați pachetul smartmontools.
smartctl -a / dev / hda
Dacă SMART nu este activat pentru această unitate, trebuie mai întâi să o activați cu opțiunea -s pe. Dacă funcția SMART este activată, veți vedea toate informațiile despre disc:
Modelul dispozitivului: IC35L120AVV207-0
Număr de ordine: VNVD02G4G3R72G
Versiune firmware: V24OA63A
Dispozitivul este: În baza de date smartctl [pentru detalii folosiți: -P show]
Versiunea ATA este: 6
Standardul ATA este: revizuirea ATA / ATAPI-6 T13 1410D 3a
Suportul SMART este: Disponibil - dispozitivul are capacitate SMART.
Suportul SMART este: Enabled (Activat)
Fragmentul de ieșire al acestei comenzi conține informații despre sistem despre unitate. Apoi urmează fragmentul care conține raportul despre starea discului.
Rezultatul testului SMART de auto-evaluare a sănătății globale: TRATAT
Valori generale SMART:
Starea de colectare a datelor offline: (0x82) Activitatea de colectare a datelor offline a fost finalizată fără eroare.
Colectarea automată a datelor offline: activată.
Starea de execuție a testului auto-test: (0) Rutina de auto-testare anterioară a fost finalizată fără eroare sau fără auto-test.
Ora totală pentru colectarea datelor offline: (2855) secunde.
Funcțiile offline de colectare a datelor: (0x1b) SMART execută offline imediat.
Suport automat ON / OFF al temporizatorului.
Suspendați colecția offline pe comanda nouă.
Este acceptată scanarea de suprafață offline.
Testul auto-testat este acceptat.
Nu a fost acceptat niciun test de transport auto-testat.
Nu este acceptat un test de auto-selecție selectiv.
Funcțiile SMART: (0x0003) Salvează datele SMART înainte de modul de economisire a energiei.
Suporta cronometrul SMART auto save.
Capacitatea de înregistrare a erorilor: (0x01) Eroare logare acceptată.
Scopul logistic general este acceptat.
Timp de sosire rapidă de auto-testare: (1) minute.
Extindere automată a timpului de sondare de rutină: (48) minute.
Dacă rezultatul testului din prima linie a acestui fragment este indicat ca FAILED, faceți imediat o copie de rezervă a datelor - discul poate eșua. Restul fragmentului dat conține informații despre capacitățile tehnice ale unității și timpul aproximativ necesar pentru un auto-test scurt și complet.
Al treilea fragment al ieșirii comenzii "smartctl -a / dev / hda" conține valori de aproximativ 30 de indicatori ai stării discului:
Atribute SMART specifice furnizorului cu praguri:
ID # ATTRIBUTE_NAME FLAG VALUE Cea mai mare parte a versiunii UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 060 Pre-eșec întotdeauna - 0
2 Throughput_Performance 0x0005 155 155 050 Pre-eșec Offline - 225
3 Spin_Up_Time 0x0007 097 097 024 Pre-eșec întotdeauna - 293 (în medie 270)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Întotdeauna - 10
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-eșec Întotdeauna - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-eșec întotdeauna - 0
8 Seek_Time_Performance 0x0005 125 125 020 Pre-esec Offline - 36
9 Power_On_Hours 0x0012 100 100 000 Old_age Întotdeauna - 3548
10 Spin_Retry_Count 0x0013 100 100 060 Pre-eșec Întotdeauna - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Întotdeauna - 10
192 Power-Off_Retract_Count 0x0032 100 100 050 Old_age Întotdeauna - 158
193 Load_Cycle_Count 0x0012 100 100 050 Old_age Întotdeauna - 158
194 Temperature_Celsius 0x0002 189 189 000 Old_age Întotdeauna - 29 (durată de viață min / max 23/33)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Întotdeauna - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Întotdeauna - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Întotdeauna - 0
Permiteți-mi să vă reamintesc că stocarea valorilor acestor indicatori nu este cerută de standardul ATA, însă majoritatea producătorilor de unități suportă compatibilitatea cu SFF-8035i.
De exemplu, cifra cu ID 194 este temperatura unității. Practica arată că reducerea temperaturii unității cu 5 ° C reduce numărul de erori, astfel că una dintre modalitățile de a spori fiabilitatea discului este să o răciți cu un răcitor special.
Fiecare indicator are o valoare brută (brut) de 6 octeți (RAW-VALUE) și o valoare normalizată de un octet. În acest exemplu, valoarea inițială include trei cifre: temperatura în grade Celsius (29) și valoarea minimă (23) și maxim (33) pentru momentul valorii funcționării unității. Formatul în care sunt stocate valorile primare ale indicatorilor este determinat de producătorul discului și nu face parte din nici un standard. Pentru a evalua fiabilitatea discului, software-ul traduce valoarea sa inițială a unui indice normalizat care variază de la 1 la 253. Dacă valoarea normalizată este mai mică sau egală cu un prag (treieră), indicatorul este marcat în coloana WHEN_FAILED ESUAT marcat. În acest exemplu, această coloană este goală, deoarece nici unul dintre indicatori nu este mai mic decât pragul stabilit pentru aceasta. Valoarea cea mai scăzută de la includerea valorii SMART a indicatorului poate fi văzută în coloana LUMINĂ. Coloana TIP conține informații care este valoarea slabă a indicelui: discul este pur și simplu uzat (old_age) sau discul este pe punctul de eșec (pre-eșuează). De exemplu, dacă valoarea timpului de rotire a discului (ID # 3) nu este satisfăcătoare, este posibilă o defecțiune a discului în următoarele 24 de ore.
Valorile și denumirile indicatorilor, precum și modul de transformare a valorilor primare în cele normalizate, nu sunt incluse în nici un standard. Producătorii diferiți pot utiliza aceleași nume metrice în scopuri diferite. Prin urmare, este posibil să se controleze modul în care diferiții indicatori sunt interpretați utilizând opțiunea -v. De exemplu, unele discuri stochează în indicator 9 durata de funcționare a discului în câteva minute. Opțiunea "-v 9, minute" indică faptul că valorile acestui indicator trebuie afișate în câteva minute. Dacă modelul de disc este inclus în baza de date smartmontools, atunci smartctl va folosi automat căile corecte de interpretare a valorilor.
Următorul fragment de ieșire al comenzii "smartctl -a" este un jurnal de erori pe disc. De obicei, astfel de erori lipsesc, prin urmare jurnalul este gol. Cauza îngrijorării este apariția unui număr mare de erori. Cel mai adesea, erorile care apar aici din timp în timp nu sunt semne de probleme serioase. Site-ul smartmontools conține un număr mare de exemple de jurnale de eroare. Afișează timpul total de rulare a discului, comanda ATA, care a dus la o eroare și la momentul în care a apărut din momentul în care discul a fost activat în milisecunde. De asemenea, puteți afla dacă a existat o greșeală pentru o perioadă lungă de timp sau a fost destul de proaspătă.
Versiunea de eroare SMART Versiune: 1
Nu s-au înregistrat erori
Ultima, a cincea parte a ieșirii smartctl -a este un raport de auto-testare care a fost rulat pe această unitate. Iată două opțiuni pentru auto-testare - scurte și pline. Aceste auto-teste pot fi inițiate de echipe
smartctl -t scurt / dev / hda
și
smartctl -t lung / dev / hda
Auto-testul nu corupe datele de pe disc. O verificare scurtă durează de obicei câteva minute, una plină - aproximativ o oră. Testarea nu afectează funcționarea discului, astfel încât să îl puteți iniția atunci când sistemul rulează atunci când este montat discul. Pe nodurile grupului nostru, de exemplu, versiunea completă a cecului este efectuată în dimineața zilei de duminică de către programator. Următoarele sunt exemple de rezultate ale testelor care nu conțin erori. Coloana LifeTime indică timpul de la momentul în care discul a fost pornit până când testul este rulat. Dacă în timpul testului sunt detectate erori, adresa blocului logic (LBA) indică exact unde a apărut eroarea. Coloana rămasă indică care parte a testului (în procente) a rămas până la finalizarea acestuia în momentul detectării erorii. Dacă bănuiți că ceva nu este în regulă cu discul, aș recomanda cu fermitate efectuarea unui test auto-test complet pentru a identifica problema.
Jurnal de auto-testare SMART, versiunea 1
Numar Stare_dezvoltare Stare Remaining LifeTime (ore) LBA_of_first_error
# 1 extins off-line finalizat 00% 3525 -
# 2 extins off-line finalizat 00% 3357 -
# 3 Scurt off-line Finalizat 00% 3059 -
echipă
smartctl-t offline
vă permite să efectuați teste offline. Aceste teste nu fac înregistrări în jurnalul de auto-testare. Acestea sunt folosite pentru a actualiza valorile acelor indicatori de stare ai discului care nu pot fi actualizați în timpul funcționării normale. Unele unități acceptă teste automate off-line la fiecare câteva ore. Această funcție poate fi activată de comandă
smartctl -o pornit
SMART oferă un mecanism pentru efectuarea unui autotest pentru a monitoriza performanța acestuia. Dar nu oferă posibilitatea de notificare automată a problemelor apărute și, de multe ori, starea SMART a discurilor nu este verificată destul de des, multe probleme se pot manifesta numai atunci când duc la eșecul discului. Desigur, puteți monitoriza în mod regulat discurile, așa cum am descris, dar nu este întotdeauna convenabil.
Prin urmare, pachetul smartmontools include un daemon inteligent care poate efectua monitorizarea continuă. Acesta poate fi configurat pentru a trimite un e-mail administratorului sau pentru a rula script-ul în cazul în care sunt detectate probleme. În mod implicit, acesta verifică toate discurile de sistem la fiecare 30 de minute și face înregistrări despre problemele cu SYSLOG în / var / log / messages.
dacă se întâlnesc probleme.
Bruce Allen este profesor de fizică la Universitatea din Wisconsin, Milwaukee. Traducere de Yuri Levin, [email protected].