INTRODUZIONE
Scopo di questa guida è quello di sfruttare la tecnologia SMART (di cui oramai praticamente tutti gli hard disk sono dotati) per assicurarsi che il proprio disco non ci stia preparando qualche scherzetto di cattivo gusto...
In poche parole gli hard disk dotati di SMART (Self-Monitoring, Analysis and Reporting Technology) sono in grado di monitorare continuativamente il proprio stato di salute per segnalare all'utente eventuali anomalie, e in molti casi permettono anche di eseguire dei test specifici per meglio rilevare malfunzionamenti e simili.
Prima di proseguire, comunque, mi sento in dovere di dire una cosa, forse scontata ma non per questo meno importante: effettuate sempre e comunque periodici backup! Lo SMART è sì molto efficace, ma non per questo garantisce fornisce sempre una diagnosi corretta dello stato di salute del disco. Non solo: spesso gli hard disk muoiono in modo improvviso, ragion per cui non sempre è possibile cavarsela all'ultimo momento, e questo anche se SMART ci ha avvisato tempestivamente e correttamente di ciò che sarebbe presto accaduto.
CONTROLLARE L'HARD DISK SUBITO
Detto questo, passiamo pure all'azione... per prima cosa occorre assicurarsi che SMART sia abilitato da BIOS. Ad esempio io nella sezione BIOS Features Setup ho S.M.A.R.T. for Hard Disk: Enabled.
Quindi installiamo pure il pacchetto smartmontool:
Code: Select all
# emerge smartmontoolsCode: Select all
# smartctl -i /dev/hdaCode: Select all
# smartctl -H /dev/hdaDando quindi per scontato che abbiamo ottenuto PASSED o comunque messo al sicuro i nostri dati possiamo ora visualizzare lo SMART Error Log, cioè la lista di errori rilevati da SMART durante il funzionamento del disco:
Code: Select all
# smartctl -l error /dev/hdaVisualizzare lo SMART Health Status e lo SMART Error Log di per sè non permette di avere la garanzia che tutto vada e sia andato per il verso giusto. Consiglio invece di eseguire anche una serie di test specifici che, personalmente parlando, aiutano decisamente a dormire sonni più tranquilli in queste calde serate estive...
Ciascuno dei seguenti test può essere eseguito anche mentre si sta lavorando normalmente col proprio computer e non interferisce in alcun modo con il corretto funzionamento dello stesso. Qui mi limito a spiegare operativamente cosa occorra fare per avviarli correttamente e per visualizzare i risultati, per cui a chi vuole approfondire consiglio di andare qui e/o di leggere il manuale di smartctl (man smartctl).
Innanzitutto occorre controllare quali test sono supportati dal disco:
Code: Select all
# smartctl -c /dev/hdaPer prima cosa eseguiamo lo SMART Immediate Offline Test:
Code: Select all
# smartctl -t offline /dev/hdaPlease wait 3120 seconds for test to complete.
Test will complete after Wed Aug 18 23:21:16 2004
Se vengono rilevati errori, essi sono riportati nello SMART Error Log (per chi se lo fosse dimenticato, il modo con cui poterlo visualizzare è riportato poco sopra).
A questo punto eseguiamo a scelta lo SMART Short Self Test *o* lo SMART Extended Self Test. Entrambi controllano le prestazioni elettriche e meccaniche del disco (nonchè le sue prestazioni in lettura) ma il secondo è più approfondito del primo.
Code: Select all
# smartctl -t short /dev/hda
# smartctl -t long /dev/hdaCode: Select all
# smartctl -l selftest /dev/hdaCode: Select all
# smartctl -t conveyance /dev/hdaMONITORARE AUTOMATICAMENTE L'HARD DISK
Una volta presa una certa familiarità con i concetti base fin qui descritti non sarà affatto difficile configurare a dovere il demone smartd, cioè quel tool che si occupa di monitorare e testare periodicamente il nostro hard disk senza il minimo intervento da parte nostra: l'unica cose che dobbiamo necessariamente fare da soli, infatti, sta semplicemente nel configurare il demone prima di eseguirlo.
Il file di configurazione è /etc/smartd.conf (se non esiste dobbiamo ovviamente crearlo noi).
Supponiamo di avere un solo hard disk (/dev/hda) e di voler eseguire tutti i test fin qui elencati ogni venerdì nell'arco di quattro ore (dalle 11:00 alle 15:00); nel caso in cui il demone rilevasse qualche anomalia esso, inoltre, dovrà scrivere in un file di log il problema riscontrato e poi spegnere automaticamente il computer (per evitare che, in nostra assenza, l'hard disk continui stupidamente a lavorare con i nostri preziosissimi dati a rischio). In questo caso il file di configurazione consisterà in una sola linea (occorre spezzarla con delle "\" se è troppo lunga e/o vogliamo che sia più leggibile):
Code: Select all
/dev/hda \
-H \
-l error -l selftest \
-s (O/../../5/11|L/../../5/13|C/../../5/15) \
-m ThisIsNotUsed -M exec /percorso/dello/scriptCode: Select all
#!/bin/bash
FILE="/percorso/del/file/di/log"
echo "$SMARTD_MESSAGE" > "$FILE"
haltUltima cosa: per verificare di non aver commesso errori di sorta consiglio di aggiungere l'opzione -M test alla fine del file di configurazione, in modo tale che lo script venga eseguito all'avvio del demone (eventualmente commentare la linea dello script che contiene l'istruzione per far spegnere il computer).
Per eseguire il demone digitiamo:
Code: Select all
# /etc/init.d/smartd startQuanto tutto sarà a posto digitiamo pure:
Code: Select all
# rc-update add smartd default






