ZFS remote replication
Ein Filesystem komplett auf ein neues System zu kopieren war bis jetzt immer mit Arbeit verbunden und es gab doch einige Stolpersteine. Mit ZFS geht das jetzt ganz einfach.
Als erstes erstellt man einen Snapshot vom Filesystem, dass man auf ein anderes System replizieren möchte.
# zfs snapshot foo/bar1@jetzt
Im ‘zfs list’ sieht dies dann so aus:
# zfs list NAME USED AVAIL REFER MOUNTPOINT foo 3.68G 87.4G 57K /foo2 foo/bar1 3.68G 87.4G 3.68G /foo2/bar1 foo/bar1@jetzt 0 - 3.68G - foo/bar2 98K 4.00G 49K /foo2/bar2 foo/bar2/bla 49K 4.00G 49K /foo2/bar2/bla foo/bar3 49K 87.4G 49K /foo2/bar3
Das Zielsystem:
# zfs list NAME USED AVAIL REFER MOUNTPOINT mirpool 2.40G 5.84G 2.40G /mirpool mirpool/fs2000 24.5K 5.84G 24.5K /mirpool/fs2000 mirpool/home 76.5K 5.84G 27.5K /export/zfs/home/ mirpool/home/user1 24.5K 5.84G 24.5K /export/zfs/home//user1 mirpool/home/user2 24.5K 5.84G 24.5K /export/zfs/home//user rzpool 127K 41.3G 49K /rzpool
Mit ‘zfs send’ kann man anstatt einem Bandlaufwerk auch auf standart output schreiben. Dies kann man dann mittels ssh wieder auf dem entfernten System mit ‘zfs recv’ vom standart input lesen. Im folgenden Beispiel wird der Snapshot foo/bar1@jetzt nach mirpool/new transferiert.
# zfs send foo/bar1@jetzt | ssh 10.120.4.18 zfs recv mirpool/new
Wenn der Vorgang abgeschlossen ist, erscheint das Filesystem auf dem Zielsystem als Snapshot.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mirpool 2.40G 5.84G 1.60G /mirpool mirpool@halbi_zwei 820M - 2.40G - mirpool/fs2000 24.5K 5.84G 24.5K /mirpool/fs2000 mirpool/home 76.5K 5.84G 27.5K /export/zfs/home/ mirpool/home/user1 24.5K 5.84G 24.5K /export/zfs/home//user1 mirpool/home/user2 24.5K 5.84G 24.5K /export/zfs/home//user2 mirpool/new 24.5K 5.84G 24.5K /mirpool/new mirpool/new@jetzt 0 - 24.5K rzpool 127K 41.3G 49K /rzpool
Den Snapshot kann man mit ‘zfs rollback’ zurückspielen.
# zfs rollback mirpool/new@jetzt
Zum Abschluss kann man dann den Snapshot löschen:
# zfs destroy mirpool/new@jetzt
Wenn alles gut verlaufen ist, sollte man das neu importierte Filesystem sehen.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mirpool 2.40G 5.84G 1.60G /mirpool mirpool@halbi_zwei 820M - 2.40G - mirpool/fs2000 24.5K 5.84G 24.5K /mirpool/fs2000 mirpool/home 76.5K 5.84G 27.5K /export/zfs/home/ mirpool/home/user1 24.5K 5.84G 24.5K /export/zfs/home//user1 mirpool/home/user2 24.5K 5.84G 24.5K /export/zfs/home//user2 mirpool/new 24.5K 5.84G 24.5K /mirpool/ne rzpool 127K 41.3G 49K /rzpool
Ich will ZFS für Windows.