Product SiteDocumentation Site

9.10. Datensicherung

Das Erstellen von Sicherheitskopien ist eine der Hauptaufgaben eines Administrators, aber es ist ein kompliziertes Thema mit mächtigen Werkzeugen, die häufig schwierig zu bedienen sind.
Es gibt viele Programme, wie zum Beispiel amanda, ein Client/Server-System mit zahlreichen Optionen, deren Konfigurierung recht schwierig ist. BackupPC ist auch ein Client/Server-Lösungskonzept, jedoch mit einer Web-Schnittstelle für die Konfigurierung, die es benutzerfreundlicher macht. Dutzende weiterer Debian-Pakete dienen als Lösungskonzepte zur Erstellung von Sicherheitskopien, wie Sie leicht mit dem Befehl apt-cache search backup nachprüfen können.
Anstatt einige von ihnen im Einzelnen zu erklären, werden in diesem Abschnitt die Überlegungen der Administratoren von Falcot Corp. bei der Festlegung ihrer Backup-Strategie vorgestellt.
Bei Falcot Corp. haben Datensicherungen zwei Ziele: versehentlich gelöschte Dateien wiederherzustellen und schnell jeden Rechner (Server oder Arbeitsplatzrechner) wiederherzustellen, dessen Festplatte versagt hat.

9.10.1. Datensicherung mit rsync

Da Bandsicherungen als zu langsam und teuer erachtet wurden, werden die Daten auf den Festplatten eines speziell hierfür bestimmten Servers gesichert, auf dem die Verwendung eines Software-RAIDs (siehe Abschnitt 12.1.1, „Software-RAID“) die Daten vor einem Festplattenausfall schützt. Arbeitsplatzrechner werden nicht individuell gesichert, sondern Benutzer darüber informiert, dass ihr persönliches Konto auf dem Dateiserver ihrer Abteilung gesichert wird. Der Befehl rsync (aus dem gleichnamigen Paket) wird täglich zur Sicherung dieser verschiedenen Server benutzt.
Der verfügbare Festplattenspeicherplatz lässt die Durchführung einer vollständigen täglichen Datensicherung nicht zu. Daher geht dem Befehl rsync eine Duplizierung des Inhalts der vorherigen Datensicherung mittels fester Verknüpfungen voraus, die den Verbrauch von zu viel Festplattenspeicherplatz verhindert. Der rsync-Prozess ersetzt dann nur die Dateien, die seit der vorherigen Datensicherung verändert wurden. Auf diese Weise kann eine große Anzahl von Datensicherungen auf relativ kleinem Raum untergebracht werden. Da alle Datensicherungen unmittelbar verfügbar und zugänglich sind (zum Beispiel in verschiedenen Verzeichnissen eines bestimmten Netzlaufwerks), können Sie schnell Vergleiche zwischen zwei bestimmten Zeitpunkten anstellen.
Dieser Datensicherungsvorgang kann mit dem Programm dirvish leicht umgesetzt werden. Es verwendet einen Sicherungsspeicherplatz („bank“ in seiner Sprache), in den er mit Zeitstempeln versehene Kopien eines Satzes von Sicherungsdateien ablegt (diese Sätze werden in der dirvish-Dokumentation „vaults“ genannt).
Die Hauptkonfiguration befindet sich in der Datei /etc/dirvish/master.conf. Sie legt den Ort des Speicherplatzes für die Dateisicherung fest, die Liste der zu verwaltenden „vaults“ und Standardwerte für den Verfallstermin der Dateisicherungen. Der Rest der Konfiguration befindet sich in den Dateien bank/vault/dirvish/default.conf und enthält die spezifische Konfiguration des jeweiligen Dateisatzes.
Beispiel 9.3. Die Datei /etc/dirvish/master.conf
bank:
    /backup
exclude:
    lost+found/
    core
    *~
Runall:
    root    22:00
expire-default: +15 days
expire-rule:
#   MIN HR    DOM MON       DOW  STRFTIME_FMT
    *   *     *   *         1    +3 months
    *   *     1-7 *         1    +1 year
    *   *     1-7 1,4,7,10  1

Die bank-Einstellung bezeichnet das Verzeichnis, in dem die Dateisicherungen gespeichert werden. Die exclude-Einstellung ermöglicht es, Dateien oder Dateitypen von der Sicherung auszuschließen. Das Runall ist eine Liste von Dateisätzen, die mit einem Zeitstempel für jeden Satz gesichert werden sollen, wodurch es möglich ist, der Kopie das korrekte Datum zuzuordnen für den Fall, dass die Dateisicherung nicht genau zu der vorgesehenen Zeit ausgelöst wird. Sie müssen eine Zeit kurz vor dem tatsächlichen Ausführungszeitpunkt angeben (was in Debian standardmäßig 22:04 h ist in Übereinstimmung mit /etc/cron.d/dirvish). Schließlich bestimmen die Einstellungen expire-default und expire-rule die Verfallsregeln für Dateisicherungen. Das obenstehende Beispiel behält Dateisicherungen unbefristet, die am ersten Sonntag jeden Quartals erstellt worden sind, löscht diejenigen vom ersten Sonntag jeden Monats nach einem Jahr und die von den übrigen Sonntagen nach drei Monaten. Sonstige tägliche Dateisicherungen werden 15 Tage lang aufbewahrt. Die Reihenfolge der Regeln ist wichtig. Dirvish verwendet die letzte passende Regel oder die expire-default-Regel, falls keine andere expire-rule passt.
Beispiel 9.4. Die Datei /backup/root/dirvish/default.conf
client: rivendell.falcot.com
tree: /
xdev: 1
index: gzip
image-default: %Y%m%d
exclude:
    /var/cache/apt/archives/*.deb
    /var/cache/man/**
    /tmp/**
    /var/tmp/**
    *.bak

Das oben stehende Beispiel legt den Satz der zu sichernden Dateien fest: dies sind Dateien auf dem Rechner rivendell.falcot.com (für eine lokale Dateisicherung legen Sie einfach den Namen des örtlichen Rechners fest, wie er von hostname angezeigt wird), genauer gesagt, diejenigen im Wurzelverzeichnis (tree: /) außer denen, die unter exclude aufgelistet sind. Die Dateisicherung ist auf den Inhalt eines Dateisystems (xdev: 1) beschränkt. Sie schließt Dateien von anderen Einhängepunkten nicht ein. Ein Index der gesicherten Dateien wird erzeugt (index: gzip), und das Abbild wird nach Maßgabe des aktuellen Datums benannt (image-default: %Y%m%d).
Es gibt zahlreiche Optionen, die alle auf der Handbuchseite dirvish.conf(5) dokumentiert sind. Sobald die Konfigurationsdateien erstellt sind, müssen Sie jeden Dateisatz mit dem Befehl dirvish --vault vault --init initialisieren. Von da an erstellt der tägliche Aufruf von dirvish-runall selbsttätig eine neue Sicherungskopie, nachdem die verfallenen gelöscht worden sind.