Getty Images
Dump und Restore: Hilfreiche Backup-Programme für Linux-Nutzer
Dump und Restore sind zwei Linux-Programme für zuverlässige Backups. Von der Programminstallation bis zum Restore von Dateisystemen: der Artikel richtet sich an alle Linux-Nutzer.
Das Dienstprogramm dump ist ein einfaches, leistungsfähiges Backup-Tool aus den frühen Tagen von Linux. Während die meisten Sicherungsprogramme auf Dateibasis arbeiten, sichert dump spezifische Dateisysteme.
Ein Tool wie Tape Archiver oder tar kann auf ein Dateiverzeichnis verweisen und angewiesen werden, ein Archiv dieser Ressource zu erstellen. Diese Funktion hat ihre Berechtigung, aber dump arbeitet in einem breiteren Rahmen. Welches Werkzeug am besten geeignet ist, hängt vom Ziel der Sicherung und letztlich von den Anforderungen an das Restore ab.
Dump bietet einen großen Vorteil gegenüber cpio, tar und anderen ähnlichen Dienstprogrammen, da es inkrementelle Backups handhabt. Nach einer vollständigen Sicherung werden bei inkrementellen Sicherungen nur die Dateien kopiert, die seit der vollständigen Sicherung geändert oder neu erstellt wurden. Dadurch können nachfolgende Backup-Aufträge schneller ausgeführt werden – ein Vorteil insbesondere für langsamere Rechner mit großen Dateisystemen.
Dump verfügt über einige spezielle Funktionen, die es von anderen unterscheidet, sowie über einige wichtige Systemanforderungen, die zu beachten sind. Dump benötigt ext2, ext3 oder ext4 Dateisysteme. Dies könnte bei einigen modernen Distributionen, die das XFS-Dateisystem verwenden, ein Kompatibilitätsproblem darstellen.
Im Folgenden erfahren Linux-Nutzer mehr über das dump-Dienstprogramm, einschließlich der Installation, der verschiedenen Möglichkeiten, es für Backups zu verwenden, und der Verwendung des Restore-Tools zur Wiederherstellung eines gesicherten Dateisystems.
Entscheiden, was gesichert werden soll
Auf die Frage: Was sollten Sie sichern? werden viele Anwender antworten: Alles. Das stimmt jedoch nicht unbedingt – vor allem bei großen Systemen und bei den schnellen, automatisierten Systembereitstellungen von heute.
In vielen Fällen müssen nur die Benutzerdaten gesichert werden, zum Beispiel der Inhalt von /home. Die Dateien des Betriebssystems müssen nicht immer gesichert werden. Möglicherweise müssen Sie jedoch benutzerdefinierte Konfigurationsdateien für bestimmte Dienste, wie Apache, DNS oder DHCP, sichern.
Installation von dump und restore
Das dump-Dienstprogramm ist möglicherweise nicht auf Ihrer aktuellen Distribution installiert. Verwenden Sie den Paketmanager Ihrer Distribution, um es hinzuzufügen.
Geben Sie zum Beispiel bei Red Hat und ähnlichen Distributionen Folgendes ein.
$ sudo dnf install dump
Unter Debian und ähnlichen Distributionen verwenden Sie Folgendes.
$ sudo apt install dump
Denken Sie daran, dass dump nur ext*-Dateisysteme erkennt. Verwenden Sie einen der folgenden Befehle, um zu bestätigen, dass das System ext4, ext3 oder ext2 verwendet.
$ df -Th
$ lsblk -f
Backup-Optionen auswählen
Wie andere Linux-Befehle unterstützt auch dump Parameter, ein Endziel (destination-taget) und ein Quellziel (source-target).
Die grundlegende Syntax von dump lautet wie folgt.
dump parameters destination-target source-target
Das destination-target ist der Ort, an dem der Backup-Auftrag gespeichert werden soll. Das source-target ist das Dateisystem, das Sie sichern.
Bevor wir die einzelnen Schritte zur Durchführung einer Sicherung mit dump erläutern, sollten Sie die folgenden Parameter und andere Einstellungen beachten.
Dump erwartet einen Level-Wert als Teil des Befehls. Diese Level geben den Typ und die Reihenfolge der zugehörigen vollständigen und inkrementellen Backups an. Ein Leve-0-Backup ist ein Vollbackup, das heißt es wird das gesamte Dateisystem gesichert, unabhängig von Änderungen. Dies ist der erste Backup-Auftrag.
Die Stufen 1-9 kennzeichnen bestimmte Backups. Dump verwendet diese Stufen, um zu entscheiden, welche neuen oder geänderten Dateien gesichert werden sollen. Dies geschieht durch den Vergleich von Sicherungsstufen mit Aufträgen mit einer niedrigeren Stufe.
Eine dump-Sicherung auf Stufe 3 erfasst alle neuen oder geänderten Dateien seit der Sicherung auf Stufe 2. Ein Level-4-Backup erfasst die Dateiveränderungen seit Level 3. Je nach Sicherungshäufigkeit könnte ein Administrator montags eine Sicherung der Stufe 0, dienstags eine Sicherung der Stufe 1, mittwochs eine Sicherung der Stufe 2 und so weiter durchführen. Dieser Ansatz bietet eine inkrementelle Sicherungsstruktur.
Dump-Parameter
Dump erwartet zusätzliche Parameter. Diese sind in der entsprechenden Linux-Handbuchseite (manual page) beschrieben. Es gibt zwei Hauptparameter, mit denen Sie arbeiten können: Der erste ist level und der zweite ist die Option -f, die den Zielspeicherort für den Sicherungsauftrag angibt.
Da es sich bei dump um ein älteres Dienstprogramm handelt, akzeptiert es viele Optionen, die sich an den Einsatz von ausgelagerten Magnetbändern orientieren. Es kann Sicherungsaufträge erstellen, die sich über mehrere Medien erstrecken, zum Beispiel mehrere Bänder.
Dump kann dabei helfen, festzustellen, ob eine Sicherung notwendig ist. Mit einer Kombination aus /etc/fstab und /etc/dumpdates zeigt es Dateisysteme an, die sich geändert haben und daher ein Backup benötigen. Verwenden Sie die Option -W, um diese Informationen zu generieren.
$ sudo dump -W
Markieren Sie in /etc/fstab die Dateisysteme, die dump erkennen und auf Änderungen überprüfen soll. Setzen Sie die fünfte Spalte auf 1 für jeden Dateisystemeintrag in /etc/fstab, den dump verwalten soll. Dies geschieht in Verbindung mit der Datei /etc/dumpdates.
Ausführen eines Backups
Angenommen, Sie setzen einen Linux-Dateiserver ein, um die Home-Verzeichnisse der Benutzer zu hosten. Alle Home-Verzeichnisse befinden sich im Standardspeicherort /home, was sie zu einem perfekten Ziel für die Sicherung mit dump macht. Vergewissern Sie sich, dass alle Verzeichnisse auf der Zielfestplatte bereits vorhanden sind, da dump sie nicht erstellen wird.
Nachdem Sie den Befehl dump -W ausgeführt haben, um zu prüfen, ob sich eine Sicherung lohnt, führen Sie einen einfachen Level-0-Dump aus.
$ dump 0f /dev/sdb1 /dev/sda1
Warten Sie, bis der Sicherungsauftrag abgeschlossen ist. Dump zeigt regelmäßige Statusaktualisierungen und eine Meldung an, wenn das Backup abgeschlossen ist.
Sichern an einem Netzwerkspeicherort mit rdump
In diesem Beispiel ist der Speicherort für das Backup ein lokal gemountetes Dateisystem. Verwenden Sie das Dienstprogramm rdump, um Sicherungsaufträge an die im Netzwerk eingebundenen Speichergeräte zu senden. Dies ist eine gängige Option in modernen Netzwerken.
Die Syntax für die Auswahl eines Netzwerkspeichers für das Backup ist ähnlich wie bei anderen Diensten. Geben Sie das entfernte System und einen absoluten Pfad zu dem Speicherort an. Stellen Sie sicher, dass alle erforderlichen Verzeichnisse vorhanden sind, bevor Sie das Backup starten.
Um /home in einem Verzeichnis namens /recovery/backups auf einem Server namens fileserver09 zu sichern, geben Sie Folgendes ein.
$ rdump 0uf fileserver09:/recovery/backups /home
Sichern auf einem Disk-Image
Ein weiterer alternativer Speicherort ist die Sicherung auf einem mit dem Befehl dd erstellten Disk-Image. Dieses Dienstprogramm hat viele Einsatzmöglichkeiten. In diesem Fall verwenden Sie den folgenden Befehl, um einen 2 GBytegroßen Speicherort für einen dump-Backup-Auftrag zu erstellen, der ein separates Laufwerk emuliert, aber eigentlich nur eine Datei ist.
$ dd if=/dev/zero of=backup.img bs=1 count=0 seek 2G
Verwenden Sie die Datei backup.img als Ziel für das dump-Backup-Archiv.
$ dump 0f /media/backup.img /dev/sda1
Was ist ein Restore?
Ein Hardwarefehler oder ein beschädigtes Dateisystem kann dazu führen, dass Sie ein Dateisystem wiederherstellen müssen. Im vorherigen Szenario haben Sie das Dateisystem /home auf einem Dateiserver gesichert. Führen Sie die folgenden Schritte aus, um diese Informationen wiederherzustellen.
Die grundlegende Wiederherstellungssyntax lautet wie folgt.
restore rf backup-source
Der angegebene Pfad ist das Storage für das Backup. Mit anderen Worten: Sie haben das Archiv mit dem Befehl dump auf/dev/sdb1 geschrieben und müssen es nun von diesem Speicherort wiederherstellen. Das Restore wird an den aktuellen Speicherort des Benutzers geschrieben.
Entscheiden Sie, was wiederhergestellt werden soll, und wählen Sie die Restore-Optionen
Mit dump wird ein ganzes Dateisystem wiederhergestellt. Der restore-Befehl enthält jedoch Optionen zur Angabe einzelner Dateien, die wiederhergestellt werden sollen. Verwenden Sie die Parameter des Befehls, um die wiederherzustellenden Dateien zu bestimmen. Bei dump und restore wird jedoch davon ausgegangen, dass Sie auf Dateisystemebene und nicht auf Dateiebene arbeiten.
Der Befehl restore bietet Flexibilität beim Anzeigen und Extrahieren von Archivinhalten oder beim Wiederherstellen von Dateien.
Option | Beschreibung |
r | Extrahiert das gesamte Archiv in das aktuelle Verzeichnis. |
f | Das nächste Objekt ist der Speicherort des Backup-Auftrags. |
t | Auflisten der im Archiv gefundenen Namen. |
C | Vergleich des Archivs mit dem aktuellen Verzeichnis. |
x | Extrahiert nur die angegebenen Dateien anstelle des gesamten Archivs. |
v | Ausführliche Ausgabe anzeigen. |
Der Wiederherstellungsprozess besteht aus den folgenden Schritten:
- Installieren und konfigurieren Sie Linux gegebenenfalls auf einem neuen System.
- Mounten Sie einen formatierten Datenträger ein und wechseln Sie zu diesem Mount-Punkt.
- Verwenden Sie das Restore-Tool, um das Dateisystem wiederherzustellen.
Der Wiederherstellungsbefehl könnte zum Beispiel wie folgt aussehen.
$ restore rf /dev/sdb1
Es ist kein Ziel definiert, da die Wiederherstellung im aktuellen Speicherort des Benutzers erfolgt. Verwenden Sie pwd, um sicherzustellen, dass die Wiederherstellung in das gewünschte Verzeichnis erfolgt.
Wiederherstellung von einem Netzwerkstandort mit rrestore
Benutzer müssen den Befehl rrestore verwenden, wenn sich der Sicherungsauftrag auf einer Netzwerkfreigabe (File Share) befindet, die mitttels des obigen Befehls rdump dort gespeichert wurde.
Die rrestore-Syntax sieht wie folgt aus, wobei derselbe Speicherort wie im rdump-Beispiel oben angenommen wird.
$ rrestore rf fileserver09:/recovery/backups
Dump und restore heute verwenden
Moderne Linux-Benutzer werden wahrscheinlich mit tar und vielleicht cpio für Backups vertraut sein. Diese Dienstprogramme können bestimmte Dateien und Verzeichnisse für die Sicherung anvisieren. Downloads mehrerer Dateien werden in der Regel in Tarballs gebündelt, wodurch sie noch häufiger verwendet werden.
Das Dienstprogramm dump arbeitet in einem anderen Bereich. Es archiviert das gesamte oder einen Teil des Dateisystems als eine einzige Ressource, was es für große Speichergeräte wie Dateiserver effizient macht. Dump wird mit dem Wiederherstellungstool Restore kombiniert, das einzelne Dateien aus dem Sicherungsauftrag extrahieren oder das gesamte Dateisystem wiederherstellen kann. Die Verwaltung von Backups und Wiederherstellungen über das Netzwerk ist ebenfalls äußerst vorteilhaft.
Die Fähigkeit von Dump, vollständige, inkrementelle und differenzielle Backups zu erstellen, hilft bei der effizienten Wiederherstellung und der wirtschaftlichen Nutzung der Speicherkapazität von Backup-Medien.
Viele Linux-, Unix- und BSD-Systeme verwenden immer noch das ext4-Dateisystem und profitieren von der Flexibilität und Anpassungsfähigkeit von Dump.