Frage zu ZFS Backup auf externem USB Laufwerk

dev0

Rock Hopper
Ich betreibe einen Laptop mit per GELI vollständig verschlüsseltem Laufwerk auf dem der ZFS Pool zroot liegt. Davon möchte ich ein Backup auf einem USB Laufwerk erstellen, das ebenfalls vollständig verschlüsselt sein soll. Auf dieser Platte gibt es mehrere Partitionen und eine davon möchte ich für das Backup vom FreeBSD Laptop verwenden. Das Layout sieht so aus:

Code:
uesr@box:~ $ gpart show da0
=>      2048  7814035087  da0  GPT  (3.6T)
        2048   209715200    1  openbsd-data  (100G)
   209717248   209715200    2  freebsd-zfs  (100G)
   419432448   838860800    3  netbsd-ffs  (400G)
  1258293248  6555743887    4  linux-lvm  (3.1T)

Für das Backup bin ich folgendermaßen vorgegangen:

1. Erstellen einer verschlüsselten Partition mit GELI auf dev/da0p2

2. Entschlüsseln der Partition mit GELI, um das Device /dev/da0p2.eli zu zuhalten

3. Auf dem Device /dev/da0p2.eli einen Pool mit dem Namen zbackup anlegen (per zpool create)

4. Entsprechendes Dateisystem mit zfs create auf dem Pool zbackup anlegen

5. Mit rsnapshot ein Backup darauf anlegen

6. Unmount des Dateisystems durchführen, den Pool zbackup exportieren und das Laufwerk da0 vom Rechner trennen

Das hat soweit alles wunderbar funktioniert. Allerdings ist ein Backup nur so gut, wie die Wiederherstellung desselben. Und das funktioniert nicht.

Ich bin dabei folgendermaßen vorgegangen. Zunächst habe ich das Laufwerk angeschlossen und die Partition per GELI entschlüsselt. Das hat soweit funktioniert. Nun muß der Pool zbackup importiert werden. Und das geht schief. Ich habe es wie folgt versucht:

Code:
zpool import -d /dev/da0p2.eli zbackup

Danach lief mein System nicht mehr, da offensichtlich alle Mountpoints von zroot entfernt wurden. Danach kann ich kein Kommando mehr aufrufen und das System lässt sich nur noch per Power Down zurücksetzen.

Code:
user@box:~ $ ls
sh: ls: not found

Was mache ich falsch? Ist das grundlegende Backup-Verfahren nicht korrekt, oder nur der Pool Import? Für Hinweise erfahrener ZFS Administratoren wäre ich dankbar.
 

mr44er

moderater Moderator
Teammitglied
Danach lief mein System nicht mehr, da offensichtlich alle Mountpoints von zroot entfernt wurden.
Du hast dadurch höchstwahrscheinlich dein aktuell laufendes System mit dem Backup übermounted.

Der Part "Importing a Pool With an Alternate Root Location" sollte dir helfen.

Einen snapshot als backup hernehmen ist die halbe Miete, denke auch an den bootloader.
 

medV2

Well-Known Member
Dennoch sehr komisch, irgendwas passt da nicht. Die Mountpoints vom root-ZFS werden durch rsnapshot ja nicht übertragen. Somit sollte der Backuppool in /zbackup liegen.

Zeig doch mal zpool list und zfs list des Systems, bzw. der ext. Platte.

Allgemein könntest du dir überlegen zfs send/recieve zu verwenden anstatt rsnapshot, das sollte deutlich schneller gehen bei inkrementellen Backups.
 

dev0

Rock Hopper
@mr44er Der Hinweis auf den Import unter Angabe einer altroot war genau richtig. Diese Möglichkeit kannte ich noch nicht. Das hat mein Problem behoben. Vielen Dank dafür.
 
Oben