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!