ZFS remote replication

Author: | Posted in Solaris 1 Comment

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
Comments
  1. Posted by Lukas Beeler

Add Your Comment