SMART (et akronym til selvovervågning, analyse og rapporteringsteknologi) findes i moderne harddiske, og det muliggør et drev til at registrere og rapportere om forskellige forhold, som kan indikere forestående fejl. Smartmontools er en gratis softwarepakke, der er tilgængelig til flere platforme, der kan udnytte SMART-attributterne på en harddisk for at høre om dens tilstand. Med smartmontools bliver en teknologisk savnet administrator / bruger tilstrækkeligt advaret og forberedt på en harddiskfejl og kan lave sikkerhedskopier, før harddisken bliver kritisk.

Installation

På Debian- eller Ubuntu-systemer er smartmontools tilgængelig via standardregistrene.

 sudo apt-get installer smartmontools 

På Fedora:

 sudo yum installere smartmontools 

Installering af smartmontools-pakken leverer to programmer til dit system: smartctl, som skal bruges interaktivt og smartd, som, som navnet antyder, er et daemon-program designet til at køre i baggrunden.

smartctl

Smartctl kræver root tilladelser til at køre, og så skal køres af rodbrugeren eller en bruger med sudo privilegier. Smartctl overvåger en hel harddisk (ikke partitioner), så når den kører, skal den have den nødvendige harddisk som det sidste argument. I denne artikel bruger vi "/ dev / sda" som harddiskenhedsfilen. Sørg for at erstatte det med harddiskens fil.

For at få oplysninger om et drev skal du bruge -i indstillingen.

 sudo smartctl -i / dev / sda 

Ovenstående billede viser nogle oplysninger om drevet, og vi kan fra de fremhævede linjer se, at SMART-understøttelse er både tilgængelig og aktiveret til drevet. Fremragende. Men hvis SMART-understøttelse er tilgængelig, men ikke aktiveret, kan den tændes med følgende kommando:

 sudo smartctl -s på / dev / sda 

For at kontrollere enhedens helbred skal du bruge -H indstillingen:

 sudo smartctl -H / dev / sda 

Hvis output for ovenstående ikke er PASSED, har harddisken enten mislykkedes eller det forudsiger det forestående undergang. Sikkerhedskopier dine data omgående.

For at se drevets SMART-funktioner skal du bruge -c kontakten:

 sudo smartctl-c / dev / sda 

Fra ovenstående screenshot understøtter drevet selvtest, og tiden for korte og forlængede selvtest er estimeret til henholdsvis 2 minutter og 95 minutter. For at køre den korte test skal du bruge -t short knappen og tilsvarende den -t long mulighed for den udvidede (og mere grundige) test.

 sudo smartctl -t kort / dev / sda 

Testen kører i baggrunden, så du kan udføre andre opgaver, mens den kører. For at kontrollere resultaterne af testen, kør følgende kommando:

 sudo smartctl -l selftest / dev / sda 

Dette viser resultaterne af de sidste tyve selvtest og giver ingen indikation af en løbende løbestest. Kør også en udvidet test.

 sudo smartctl -t lang / dev / sda 

Hvis enten testen mislykkes, skal du straks sikkerhedskopiere dine data.

Smartd

Mens smartctl er et godt værktøj, skal det køres regelmæssigt og ofte. Smartd er en dæmon, der er designet til at køre i baggrunden og med jævne mellemrum anmode om SMART-diagnostik fra udvalgte harddiske. På denne måde, straks når en fejl er modtaget eller en test mislykkes, kan administratoren få besked om passende handling.

Konfigurationsfilen er normalt placeret på "/etc/smartd.conf." Åbn denne fil og tjek efter en linje, der begynder med "DEVICESCAN" og kommentere det ved at tilføje "#" i starten. Angiv derefter de drev, der skal overvåges, ved at tilføje følgende for hvert drev:

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

Ovennævnte indstillinger angiver følgende situationer:

  • /dev/sda : Harddiskenhedens fil
  • -a : Dette muliggør nogle almindelige muligheder. Du vil næsten helt sikkert bruge den.
  • -d sat : På mit system gætter smartctl rigtigt på, at jeg har et serielt ATA-drev. smartd på den anden side gør det ikke. Hvis du skulle tilføje en -d TYPE parameter til smartctl-kommandoerne, skal du næsten helt sikkert gøre det samme her. Hvis du ikke gjorde det, så prøv først at lade det ud. Du kan tilføje det senere, hvis smartd ikke starter.
  • -o on : Aktiverer SMART Automatisk offline test
  • -S on : Aktiverer SMART-autosave
  • -s (S/../.././02|L/../../6/03) : Kør begge korte (S /../.././ 02) og lange (L /. ./../6/03) selvtest på planlagte tidspunkter. Denne prøve angiver en kort test hver dag kl. 14:00 hver dag og kl. 2:00 hver dag
  • -m root : Send en mail til den angivne adresse (root her). Kan adskilles med kommaer. Bemærk, at dette kræver en arbejds-e-mail, der er oprettet på systemet
  • -M exec /usr/share/smartmontools/smartd-runner : Dette ændrer opførelsen af -m flag. På Debian- og Ubuntu-systemer udfører smartd-runner andre handlinger ud over mail (-m).

For mere information, se Smartd.conf man siderne.

Når vi har konfigureret smartd, skal vi sikre, at den starter med systemstart. For at gøre dette skal du åbne konfigurationsfilen "/ etc / default / smartmontools" og uncomment linjen #start_smartd=yes (fjern #). Du kan så starte smartd ved at køre:

 sudo /etc/init.d/smartmontools start 

Diagnostikken ville blive logget til syslog, men fejl vil udløse en e-mail-alarm. For at teste, at e-mailen fungerer, tilføj -M test til linjen i "/etc/smartd.conf" og genstart.

 sudo /etc/init.d/smartmontools genstart 

Dette ville sende en test anmeldelse.

Konklusion

Det er overraskende svært at estimere levetiden for harddiske (en meget god artikel er tilgængelig på dette). Brug af SMART-funktionerne på din harddisk, med smartmontools, kan give vigtige timer til en dataoverførsel, før drevet oplever katastrofale fejl. Selvom der virkelig ikke er nogen erstatning for en god backup plan, kan smartmontools hjælpe med at advare en systemejer / admin til mulig fejl.