Smartmontools Einrichten

Kategorie: Systemverwaltung


Einführung


Mit dem Paket smartmontools kann der Zustand der Festplatten (HDD und SSD) im System überwacht und automatische Tests konfiguriert und durchgeführt werden.
Die folgende Anleitung führt durch die Installation und Konfiguration.
  • Zur Benachrichtigung per Mail wird das Paket ssmtp genutzt. Möglich ist aber auch jeder andere Mail Transfer Agent.
  • Ein grafisches Interface bietet das Paket gsmartcontrol.
  • Das grafisches Benachrichtigungsprogramm smart-notifier zeigt die Dienst-Nachrichten auf dem Desktop an. Es ist nur für Gtk-Systeme verfügbar.

Installation


Installieren die notwendigen Pakete:
sudo apt install smartmontools gsmartcontrol smart-notifier ssmtp


Konfiguration


Editiere:
sudo nano /etc/default/smartmontools

‘#’ entfernen und Laufwerke eintragen.
Beispiel:

enable_smart="/dev/sda /dev/sdb"

‘#’ entfernen und ‘yes’ eintragen

start_smartd=yes


Smartd-Dienst konfigurieren
Editiere:
sudo nano /etc/smartd.conf

Jedes Laufwerk wird einzeln konfiguriert.
Beispiel:

/dev/sda -a -o on -S on -s (S/../.././09|L/../../7/10) -m vorname.name@gmx.de -M exec /usr/share/smartmontools/smartd-runner

Bedeutung der Optionen:

    [-a] Monitor all attributes,
    [-o on] enable automatic online data collection
    [-S on] automatic Attribute autosave
    [-s (S/../.././09|L/../../7/10)] startet Test nach Optionen (Testtyp/Monat/Tag/Wochentag/Stunde)
    [-M exec /usr/share/smartmontools/smartd-runner] startet das Benachrichtigungsprogramm

Erklärung des Beispiels:
(Short-Test/jeden Monat/jeden Tag/jeden Wochentag/09 Uhr|Long-Test/jeden Monat/jeden Tag/Sonntags/10 Uhr)

siehe auch man smartd.conf

Wichtig: Alle anderen Anweisungen (z.B.: DEVICESCAN) in smartd.conf mit '#'auskommentieren.

Hinweis: Ein Long-Selftest kann insbesondere auf einer HDD sehr viel Zeit in Anspruch nehmen. Eine sinnvolle Planung des Testzeitpunktes ist deshalb notwendig.
Die Testdauer kann mit:

smartctl -c /dev/sdc
ermittelt werden.


Benachrichtigung konfigurieren


Zunächst wird die Datei ssmtp.conf erstellt.
In diese Datei werden alle Konfigurationsparameter für das SMTP-Protokoll eingetragen (SMTP-Server, Port, User, Passwort, Transportsicherheit). Als Beispiel dient GMX-Mail. Andere Mail-Provider (z.B.: GMail) arbeiten mit abweichenden Parametern.

Editiere:

sudo nano /etc/ssmtp/ssmtp.conf

   

    root=vorname.name@gmx.de
    mailhub=mail.gmx.net:465
    rewriteDomain=gmx.net
    hostname=gmx.net
    UseTLS=YES
    AuthUser=vorname.name@gmx.de
    AuthPass=GEHEIM
    FromLineOverride=NO

Anschließend wird der in ssmtp.conf konfigurierte SMTP-Dienst den Benutzern mittels Einträgen in der Datei revaliases zugewiesen.
Editiere:

sudo nano /etc/ssmtp/revaliases

Beispiel:

    root:vorname.name@gmx.de:mail.gmx.net:465
    USER:vorname.name@gmx.de:mail.gmx.net:465

Für USER wird der Name des jeweiligen Benutzers eintragen. Nach dem Beispiel versenden die Benutzer 'root' und 'USER' Mails mit dem ssmtp-Dienst an die konfigurierte Adresse.


Test der Benachrichtigungfunktion


Einmalig
-M test
in
nano /etc/smartd.conf
einfügen.

Beispiel

/dev/sda -a -o on -S on -s (S/../.././09|L/../../7/10) -m vorname.name@gmx.de -M exec /usr/share/smartmontools/smartd-runner -M test

Anschließend mit

sudo systemctl restart smartd.service
den Dienst neu starten.

Jetzt sollte ein Mail an die konfigurierte Adresse gesendet werden und gleichzeitig eine Meldung auf dem Desktop (Gtk) erscheinen.
Danach die eingefügte Option

-M test wieder entfernen.


Short-Selftest mit Systemstart


Die crontab des Administrators editieren mit:
sudo crontab -e

und folgende Zeile einfügen.

@reboot /usr/sbin/smartctl -t short /dev/sda

Jetzt wird mit jedem Systemstart ein kurzer Selbsttest ausgeführt, der nur ein paar Minuten dauert.

Ebenfalls möglich ist es, den Zustand (health status) der HDD/SDD mit:

@reboot /usr/sbin/smartctl -H /dev/sda  > /home/USER/smart-sda.log 2>&1

bei jedem Systemstart auszugeben.
Für USER wird der Name des jeweiligen Benutzers eintragen.