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.
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.