Hallo Björn,
Björn Abheiden b.abheiden@ba-webdesign.com (Mo 06 Sep 2010 12:07:55 CEST):
Hallo Liste,
derzeit versuche ich die Backup-Funktionen auf einem unserer Server zu optimieren. Bei einem Voll-Backup wird zunächst mittels »find« eine Dateiliste erstellt, welche anschließen über »tar --files-from <DATEILISTE>« eingelesen wird.
Ich würde mich hier auf die Fähigkeit von Tar verlassen (Stichwort Index-File), wenn es darum geht, zu ermitteln, was neu hinzugekommen ist.
Ohne diese Dateiliste springt mich der Prozess irgendwann mit einer Fehlermeldung an, da sich die Daten innerhalb der Ordnerstruktur ändern können (hauptsächlich kommen Dateien hinzu).
Das wird doch auch mit dieser Dateiliste passieren. Solange Leben in den Verzeichnissen ist, wird tar bemerkten, daß während des Sicherns Änderungen passieren. Ob das kritisch ist, kann tar nicht wissen, es wird aber weiterarbeiten.
Welche Möglichkeit habe ich, diese Fehlermeldung zu unterdrücken? Gibt
tar … 2>/dev/null
es ein anderes Archiviersystem, welches ihr mir stattdessen empfehlen würdet? Wie machen es "richtige" Backup-Programme, wenn sie von einem Live-System Daten sichern sollen?
Die sollten die selben Probleme haben. Was das mehrfach erwähnte Bacula hier macht, weiß ich nicht, vielleicht einfach die Meldungen unterdrücken. Amanda zeigt diese Meldungen, wenn es die Sicherung mit tar erstellt. Wenn es dump benutzt, weiß ich gerade nicht, was da passiert, ob dump etwas äußert.
"Warum der Aufwand?" könnte nun eine Frage lauten. Der »find«-Prozess schluckt aufgrund der hohen Anzahl (kleiner) Dateien eine Menge Zeit. Für eine Vollsicherung von knapp 250 GB Daten haben wir mit dieser Methode 56 Stunden berechnet.
Berechnet oder erreicht.
derzeitiger Ablauf: »find« > »tar« > »pbzip2«
Ich würde vielleicht das Dateisystem in ein LVM legen und dann einen Snapshot machen, den ich in aller Ruhe sichern kann. Da ändern sich dann auch keine Files mehr. Ob Du für den Snapshot irgendwelche Dienste anhalten willst, hängt von Deinen Anwendungen ab.
Ich mache gerne sowas:
snapshot
fsck - wenn fehler, dann snapshot wegschmeissen und noch mal snapshot
dump / tar / whatever
snapshot wegschmeissen