OpenSolaris – ZFS – Snapshot auf einen anderen Rechner kopieren

ZFS hat viele gute Eigenschaften, die einen Blog-Eintrag wert wären. Eine herausragende Eigenschaft von ZFS ist die Möglichkeit ZFS-Dateisysteme bzw. eine ganze Hierarchie von Dateisystemen, endiannormalisiert, auf einen anderen Rechner übertragen zu können.

Stellen wir uns zwei Rechner anton und berta vor.

Auf Anton gibt es ein ZFS-Pool namnes rpool, typisch für Opensolaris. Dort haben wir ein Dateisystem rpool/export sowie ein Dateisystem rpool/export/zfs1 inklusive eines Unterdateisystems rpool/export/zfs1/subzfs1.

zfs list

liefert etwa Folgendes:

NAME                            USED  AVAIL  REFER  MOUNTPOINT
rpool/export/zfs1                60K  2,83G  21,5K  /export/zfs1
rpool/export/zfs1/subzfs1        21K  2,83G    21K  /export/zfs1/subzfs1
Auf Berta haben wir einen ZFS-Pool names syspool, typisch für das OpenSolaris/Debian-Derivat Nexenta.

zfs list

liefert etwa Folgendes:

NAME                          USED  AVAIL  REFER  MOUNTPOINT
syspool

Um nun rpool/export/zfs1 inklusive subzfs1 auf Bertha zu übertragen, geht man wie folgt vor:

Zuerst erstellen wir einen Snapshot des zu übertragenden Dateisystems auf Anton:

zfs snapshot -r rpool/export/zfs1@snap02

Der -r Schalter stellt sicher, dass auch Unterdateisysteme, in diesem Fall subzfs1, mit in den Snapshot aufgenommen werden.

Anschließend kann mittels zfs send der Snapshot per SSH auf den entfernten Rechner Berta übertragen werden:

zfs send -R rpool/export/zfs1@snap02 | ssh root@berta zfs receive -d syspool

Man beachte auch hier die Schalter -R bei zfs send und -d bei zfs receive. Beide sorgen dafür, dass auch Unterdateisysteme korrekt übertragen bzw. angelegt werden.

Die Ausgabe von zfs list sollte auf Berta dann etwa folgendes enthalten:

NAME                          USED  AVAIL  REFER  MOUNTPOINT
syspool                      1.45G  5.81G    24K  none
syspool/export                116K  5.81G    19K  none
syspool/export/zfs1            97K  5.81G  23.5K  /export/zfs1
syspool/export/zfs1/subzfs1    39K  5.81G    22K  /export/zfs1/subzfs1

Wie man sieht, wurde das Dateisystem zfs1 sowie dessen Unterdateisystem subzfs1 korrekt angelegt. Sogar das übergeordnete Dateisystem export wurde automatisch erzeugt.

So einfach kann die Welt sein!

Kommentarfunktion ist deaktiviert