Solaris 資料一覧

ZFSスナップショットを別ストレージプールに保存する

2008/12/8更新

対応バージョン: 10

ZFSのスナップショットは自身と同じストレージプール内に保存されるが、send/receiveコマンドを使うことによって保存済のスナップショットを別のストレージプールや別のホストに送信することができる。

sendで書き出し、receiveで読み込みを行う。

スナップショット作成

# zfs snapshot rz2/foo@snapshot1

# zfs list -t snapshot
NAME                USED  AVAIL  REFER  MOUNTPOINT
rz2/foo@snapshot1      0      -  35.4K  -

スナップショットをファイルに保存し、そのファイルを別のストレージプールに送信する

# zfs send rz2/foo@snapshot1 > /var/tmp/foo.img

# zfs receive bkup/foo < /var/tmp/foo.img

# zfs list -t snapshot
NAME                 USED  AVAIL  REFER  MOUNTPOINT
bkup/foo@snapshot1      0      -  35.5K  -
rz2/foo@snapshot1   33.4K      -  35.4K  -

保存先のbkup/fooが既に存在している場合は保存できない。

スナップショットを同一ホストの別ストレージプールに送信する

# zfs send rz2/foo@snapshot1 | zfs receive bkup/foo

スナップショットを別ホストのストレージプールに送信する

# zfs send rz2/foo@snapshot1 | ssh host2 zfs receive bkup/foo

スナップショット間の差分データを送信する

sendの-iオプションを使ってスナップショット間の差分データを取り扱うことができる。

# zfs snapshot rz2/foo@snapshot2

# zfs send -i rz2/foo@snapshot1 rz2/foo@snapshot2 | ssh host2 zfs receive bkup/foo

関連資料・記事