ZFS Dateisystem mit mehreren Snapshots replizieren
ZFS Dateisysteme können einfach von einem Pool in einen anderen repliziert werden. Möchte man nun ein ZFS Dateisystem mit mehreren Snapshots in einen anderen Pool replizieren, müsste man jeden Snapshot einzeln replizieren:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 2.05G 64.9G 18K /tank
tank/home 2.05G 64.9G 2.05G /usr/home
tank/home@now 19K - 1000M -
tank/home@afterupload 19K - 1.95G -
tank/home@aftermodification 0 - 2.05G -
tank2 116K 66.9G 18K /tank2
Um dies zu vereinfachen, kann zfs-replicate installiert werden. zfs-replicate findet man im FreeBSD Portbaum unter sysutils/zfs-replicate:
# cd /usr/ports/sysutils/zfs-replicate && make install clean
Nun muss nur das ZFS Dateisystem angegeben werden, welches repliziert werden soll, und alle Snapshots werden automatisch mit repliziert. Mit der -v Option wird jeweils angezeigt, welche Schritte notwendig sind, um das Dateisystem zu replizieren:
# zfs-replicate -v tank/home tank2
Sending tank/home@now to tank2.
Sending tank/home@afterupload to tank2.
(incremental to tank/home@now.)
Sending tank/home@aftermodification to tank2.
(incremental to tank/home@afterupload.)
Erstellt man nun einen neuen Snapshot und führt zfs-replicate nochmals aus, wird nur der neue Snapshot übertragen:
# zfs snapshot tank/home@tape
# zfs-replicate -v tank/home tank2
Sending tank/home@tape to tank2.
(incremental to tank/home@aftermodification.)
Mehr Informationen zu zfs-replicate findet man auf folgender Webseite: http://blogs.sun.com/constantin/entry/useful_zfs_snapshot_replicator_script
Comments
In diesem Blog wurde schon oftmals über ZFS berichtet, geschrieben und diskutiert. Aber auch andere Blogs beschäftigen sich ausgiebig mit ZFS unter FreeBSD und bieten dazu gleich noch Beispiele an wie sich was umsetzen lässt. Daher soll das Wort Bea