Scriptbasiertes Backupsystem incl. SMART-Test

  • Ich möchte hier mein Backupsystem vorstellen, über das ich scriptgesteuert nächtliche Backups und SMART-Tests von meinem QNAP NAS TS-419P+ auf einen eSATA Harddiskvebund durchführe.


    Die Scripts stelle ich der Allgemeinheit zur freien Benutzung bzw. Modifikation zur Verfügung.
    Für Verbesserungsvorschläge bin ich dankbar.


    Das System besteht aus einem QNAP NAS TS-419P+ mit 4 HDs, mit jeweils einem Spiegelsatz RAID1 für HD1&2 sowie HD3&4. Auf HD1&2 befindet sich das OS.
    Als Sicherungsmedium dient eine SHARKOON 5-Bay RAIDBOX, die über eine eSATA-Verbindung an das NAS angeschlossen ist.
    Die Raidbox wird über eine programmierbare Steckdosenleiste (Gembird Energenie eg-pms2-lan) über Scriptbefehl ein- und ausgeschaltet.
    Vormals hatte ich ein NETIO 230C Schaltgerät von KOUKAAM, welches zur Kommunikation jedoch das Programm <netcat> benötigt. Die Steckdosenleiste ist imho einfacher ansprechbar und zuverlässiger.
    Ich habe diese Methode gewählt, da ich meine Backup-HDs nicht unnötig laufen lassen möchte.


    Die zu sichernden Daten werden jeweils nachts über ein Skript auf die 5 HDs der Raidbox mit dem Tool rsync übertragen, wobei nur Dateien mit neuerem Zeitstempel kopiert werden. Nicht mehr auf dem NAS vorhandene Dateien werden auf dem Backupmedium gelöscht. Damit verliert man zwar gelöschte Dateien auf dem NAS, das versuche ich jedoch über die Nutzung des Netzwerkpapierkorbs auszugleichen. Allerdings wird dieser bei mir aus Kapazitätsgründen nicht gebackupt. Die LOG-Dateien des Backups und des SMART-Tests werden gespeichert. Am Ende des Backupvorgangs wird für jede HD der Raidbox ein SMART-Kurztest ausgeführt. Über den Erfolg des Backups und des SMART-Tests informiert eine Email.
    Einmal pro Woche wird statt des Backups ein ausführlicher SMART-Test durchgeführt. So können Festplattenfehler der Raidbox schon im Vorfeld erkannt werden und die betr. HDs schon frühzeitig ersetzt werden. Das erscheint mir sehr wichtig, da im Falle eines Datenverlusts Festplattenfehler erst beim Rückkopieren der Daten erkannt werden. Dann leider zu spät.
    Leider ist es dabei aufgrund eines Fehlers nicht möglich, die Festplatte des obersten Schachtes per SMART auszulesen. Warum das so ist habe ich bisher nicht herausfinden können. Man vermutet, dass dies eine Beschränkung von eSATA ist. Mich würde interessieren, ob es dazu Lösungen gibt. So sollte man auf die HD des 1. Schachts entwerder nur unwichtige Daten kopieren oder diesen Schacht gar nicht benutzen.


    Folgende Linux-Tools werden benötigt:
    rsync - das Backuptool
    wget - zum kommunizieren mit der Steckdosenleiste
    smartctl - enthalten in smartmontools für die HD-SMART-Tests
    ssmtp - zum Versenden von emails (sollte in Linux enthalten sein). SMTP muss auf dem QNAP-Webif konfiguriert sein
    ferner das Crontab Webinterface (optional), mit dem man komfortabel über den Browser CRON-Einträge verwalten kann


    Ich habe ein Verzeichnis auf dem NAS angelegt, in welchem alle Scriptdateien liegen (share/MD0_DATA/.qpkg/MyScripts/)


    Folgende Dateien sind dort hinterlegt:
    Backup_SHARKOON.sh - Das Backupscript
    SMART_SHARKOON.sh - Script für den SMART-Longtest
    backupmail.txt - Matrix für den Mailheader


    Die zugehörigen CRONTAB-Einträge dazu:

    Code
    1. 15 0 * * 1,2,3,4,5,6 /share/MD0_DATA/.qpkg/MyScripts/Backup_SHARKOON.sh
    2. 15 0 * * 0 /share/MD0_DATA/.qpkg/MyScripts/SMART_SHARKOON.sh

    Das Backup incl. SMART-Kurztest beginnt bei mir täglich außer Sonntags um 0:15, der SMART-Langtest Sonntags um 0:15


    Die beiden Scripts dazu findet man als Dateianhang. Bitte bei Backup_SHARKOON.txt und SMART_SHARKOON.txt .txt durch .sh ersetzen, in das Scriptverzeichnis auf dem QNAP kopieren und chmod 777 nicht vergessen. Beispiel Emails über das erfolgte Backup bzw. den SMART-Test sind ebenfalls im Anhang.


    Viel Spaß beim Backup
    Norbert