Backup- oder Snaphot-Tool für ext4

7

Ich suche nach einem Backup-Tool für ext4, das nach der Wiederherstellung eines solchen Dateisystems eine Kopie von einem laufenden Dateisystem wie / var ohne Kollisionen im System erstellen kann. Ich weiß, dass BSD-Dump eine '-L'-Option hat, die ihn auffordert, an einem Schnappschuss zu arbeiten. Aber weder dump noch dumpe2fs aus Repositorys haben eine solche Option. Ich habe über ein Patchset für ext4 gelesen, das Snapshot-Unterstützung bietet, aber die Antworten darauf sind sehr unterschiedlich. Deshalb bin ich hier, um nach Ihren Erfahrungen mit diesem Patchset zu fragen.

Tijagi
quelle

Antworten:

4

dumpbenötigt keinen Schalter, um an einem Schnappschuss zu arbeiten. Machen Sie einfach den Schnappschuss mit LVM und sichern Sie ihn.

Ich habe einen nächtlichen Cron-Job, der genau das tut, indem ich einen 5-stufigen Turm aus Hannoi-Backup-Muster verwende. Dies bedeutet, dass ich nur alle paar Monate eine vollständige Sicherung durchführen muss, wenn ich das Gefühl habe, dass die Dumps der Ebene 1 zu groß werden. Level 1 Dumps werden am 1. und 17. des Monats gemacht.

#!/bin/bash
set -e
declare -a LEVELMAP=(1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5 1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5)
DATE=`date +%-d`
LEVEL=${LEVELMAP[$DATE-1]}
echo Performing a level $LEVEL dump
/etc/init.d/apache2 stop
sync
lvcreate -s -n snap vg0/root -L 400m
/etc/init.d/apache2 start
dump -$LEVEL -quz9 -b 1024 -f /backup/dump.$LEVEL /dev/mapper/vg0-snap
lvremove -f vg0/snap
psusi
quelle
Ich kann Apache oder einen anderen Daemon nicht stoppen, um einen Schnappschuss zu machen.
Tijagi
2
@ user685107, dann enthält Ihr Backup beschädigte Dateien, wenn diese zum Zeitpunkt der Erstellung des Snapshots geändert wurden. Sie müssen sicherstellen, dass für eine korrekte Sicherung keine Dateien geschrieben werden. Der Zweck von Snapshots besteht darin, dass Sie dies nur für den Moment tun müssen, der für die Erstellung des Snapshots erforderlich ist, anstatt für die gesamte Zeit, die für die Erstellung des Backups erforderlich ist.
Psusi
Das ist hässlich LVM-Weg. Aktuelle Dateisysteme unterstützen Snapshots besser, garantieren jedoch nicht die Stabilität, die ich benötige.
Tijagi
2
@ user685107, im Allgemeinen nein, sie unterstützen keine Snapshots. Btrfs und ZFS tun dies, aber beide werden (noch) nicht als stabil und unterstützt angesehen, und Sie haben speziell nach ext4 gefragt. Unabhängig davon, ob dies in der Blockebene oder im Dateisystem erfolgt, ist es unmöglich, während des Schreibens Ihrer Anwendungen einen konsistenten Snapshot zu erhalten. Daher müssen diese entweder heruntergefahren oder in einen temporären schreibgeschützten Modus versetzt werden, während der Snapshot erstellt wird. Die meisten Datenbankmodule unterstützen zu diesem Zweck einen temporären schreibgeschützten Modus.
Psusi
Update: FreeNAS empfiehlt ZFS, ich denke, es ist ziemlich stabil und heute getestet.
Paolo
1

Versuchen Sie es mit Amanda Backup. Es ist ein vollständiges Backup-Tool und funktioniert auf einer Vielzahl von Plattformen / Architekturen

Mandrappa
quelle
0

Haben Sie RSync für diesen Zweck in Betracht gezogen ? Es gibt hier einen wirklich großartigen Artikel darüber, wie man Backups im Snapshot-Stil mit rsync unter Linux von Grund auf neu einrichtet . Eine andere Alternative, die ebenfalls auf rsync basiert, aber etwas gebackener ist, ist rsnapshot .

λ Jonas Gorauskas
quelle
3
Mit rsync können Sie keinen Schnappschuss erstellen. Ein Snapshot ist eine atomare Operation, bei der zu einem bestimmten Zeitpunkt eine Kopie des Status einer ganzen Reihe von Dateien erstellt wird. rsync erstellt eine Kopie eines Baums, liest jedoch verschiedene Teile des Baums zu unterschiedlichen Zeiten. Wenn beispielsweise eine Datei verschoben wird, während rsync den Baum durchläuft, kann die Datei zweimal oder nie in der Kopie vorhanden sein.
Gilles 'SO - hör auf böse zu sein'
Ich bin mit @Gilles einverstanden, rsync passt in diesem Fall nicht. Ich denke an XFS, es hat native Snapshot-Unterstützung.
Tijagi