SMART (et akronym for selvmonitoring, analyse og rapporteringsteknologi) finnes i moderne harddisker, og det gjør det mulig å oppdage og rapportere om ulike forhold som kan indikere forestående feil. Smartmontools er en gratis programvarepakke, tilgjengelig for flere plattformer, som kan bruke SMART-egenskapene til en harddisk for å spørre om tilstanden. Med smartmontools, vil en teknisk kunnskapsrik admin / bruker bli tilstrekkelig advart og forberedt på feil på harddisken og kan lage sikkerhetskopier før stasjonen blir kritisk.

Installasjon

På Debian- eller Ubuntu-systemer er smartmontools tilgjengelig via standardregisterene.

 sudo apt-get installer smartmontools 

På Fedora:

 sudo yum installere smartmontools 

Installering av smartmontools-pakken leverer to programmer til systemet ditt: smartctl, som skal brukes interaktivt, og smartd, som, som navnet antyder, er et demonstrasjonsprogram designet for å kjøre i bakgrunnen.

Smartctl

Smartctl krever root-tillatelser å kjøre, og det må derfor drives av roten brukeren eller en bruker med sudo privilegier. Smartctl overvåker en hel harddisk (ikke partisjoner), derfor når den kjøres, bør den gis den nødvendige harddisken som det endelige argumentet. For denne artikkelen bruker vi "/ dev / sda" som harddiskenhetsfilen. Pass på å erstatte det med harddiskens fil.

For å få informasjon om en stasjon, bruk alternativet -i .

 sudo smartctl -i / dev / sda 

Bildet ovenfor viser litt informasjon om stasjonen, og vi kan se, fra de uthevede linjene, at SMART-støtte er både tilgjengelig og aktivert for stasjonen. Utmerket. Men hvis SMART-støtte er tilgjengelig, men ikke aktivert, kan den slås på med følgende kommando:

 sudo smartctl-s på / dev / sda 

For å kontrollere enhetens helse bruker du -H alternativet:

 sudo smartctl -H / dev / sda 

Hvis utgangen for det ovennevnte ikke er PASSED, har harddisken enten mislyktes, eller det forutsier at den kommer ned. Sikkerhetskopier dataene dine umiddelbart.

For å se SMART-egenskapene til stasjonen, bruk -c bryteren:

 sudo smartctl-c / dev / sda 

Fra ovenstående skjermbilde støtter stasjonen selvtester, og tiden for korte og utvidede selvtester er estimert til henholdsvis 2 minutter og 95 minutter. For å kjøre den korte testen, bruk -t short bryteren og tilsvarende, -t long alternativ for den utvidede testen (og grundigere).

 sudo smartctl -t kort / dev / sda 

Testen kjører i bakgrunnen, slik at du kan utføre andre oppgaver mens den kjører. For å sjekke resultatene av testen, kjør følgende kommando:

 sudo smartctl -l selftest / dev / sda 

Dette viser resultatene fra de siste tjue selvtestene og gir ingen indikasjon på en løpende løpstest. Kjør også en utvidet test.

 sudo smartctl -t lang / dev / sda 

Hvis enten testen mislykkes, sikkerhetskopierer du dataene umiddelbart.

smartd

Mens smartctl er et flott verktøy, må det kjøres regelmessig og ofte. Smartd er en demon som er utformet for å kjøre i bakgrunnen og regelmessig krever SMART-diagnostikk fra utvalgte harddisker. På denne måten, umiddelbart når en feil mottas eller en test mislykkes, kan administratoren bli varslet om passende tiltak.

Konfigurasjonsfilen er vanligvis plassert på "/etc/smartd.conf." Åpne denne filen og sjekk etter en linje som begynner med "DEVICESCAN" og kommentere den ved å legge til "#" i starten. Oppgi deretter stasjonene som skal overvåkes, ved å legge til følgende for hver stasjon:

 / dev / sda -a -o på -S på -s (S /../.././ 02 | L /../../ 6/03) -m root -M exec / usr / share / smartmontools / smartd-runner 

Alternativene ovenfor angir følgende situasjoner:

  • /dev/sda : Harddiskenhetsfilen
  • -a : Dette gjør det mulig for noen vanlige alternativer. Du vil nesten helt sikkert bruke den.
  • -d sat : På systemet mitt, gisser jeg på riktig måte at jeg har en seriell ATA-stasjon. smartd på den annen side gjør det ikke. Hvis du måtte legge til en -d TYPE parameter til smartctl-kommandoene, må du absolutt gjøre det samme her. Hvis du ikke gjorde det, prøv å forlate det først. Du kan legge til det senere hvis smartd ikke starter.
  • -o on : Aktiverer SMART Automatisk offline testing
  • -S on : Aktiverer SMART-autosave
  • -s (S/../.././02|L/../../6/03) : Kjør både kort (S /../.././ 02) og lang (L /. ./../6/03) selvtest på planlagte tider. Denne prøven indikerer en kort test klokken 2:00 hver dag og en lang test hver lørdag klokka 3:00
  • -m root : Send en mail til adressen spesifisert (root her). Kan skilles med kommaer. Merk at dette krever en fungerende e-post som er konfigurert på systemet
  • -M exec /usr/share/smartmontools/smartd-runner : Dette endrer oppførselen til -m flagget. På Debian og Ubuntu-systemer utfører Smartd-Runner andre handlinger i tillegg til e-post (-m).

For mer informasjon, sjekk ut smartd.conf man-sidene.

Etter at du har konfigurert smartd, må vi sørge for at den starter opp på systemstarten. For å gjøre dette, åpne konfigurasjonsfilen "/ etc / default / smartmontools" og uncomment linjen #start_smartd=yes (fjern #). Du kan da starte smartd ved å kjøre:

 sudo /etc/init.d/smartmontools start 

Diagnostikken vil bli logget til syslog, men feil vil utløse en e-postvarsling. For å teste at e-posten fungerer, legg til -M test på linjen i "/etc/smartd.conf" og start på nytt.

 sudo /etc/init.d/smartmontools restart 

Dette vil sende en testmelding.

Konklusjon

Det er overraskende vanskelig å estimere levetiden til harddisker (en veldig god artikkel er tilgjengelig på dette). Bruke SMART-funksjonene til harddisken din, med smartmontools, kan gi viktige timer for dataoverføring før stasjonen opplever katastrofale feil. Selv om det egentlig ikke er erstatning for en god sikkerhetskopieringsplan, kan smartmontools bidra til å varsle en systemeier / admin til mulig feil.