カテゴリー: FreeBSDとLinux
参照数: 3780

普通のファイルシステムならddなどしてダンプイメージを使ってコピー等しますが、zfsは、柔軟な方法でコピーする術を提供しています。

もしもの為に、イメージを取っておいたり、他のzfsボリュームにコピーしておくと安心できます。

以下は、ローカルPC内でコピーしていますが、パイプをssh経由で通せば、リモートPCに転送することも可能です。

当然、ファイルに出力することも可能です。

 

1.コピー元のスナップショット作成
zfs snapshot [ボリューム名]/[ZFSパス名]@[スナップショット名]

確認方法
zfs list -t snapshot

2.コピー先のzfsを作成しておく
zpool create [ボリューム名] /dev/[デバイス]
zfs create [ボリューム名]/[ZFSパス名]

3.コピーします(上書きする場合、-F オプションを付けます。)
zfs send [ボリューム名]/[ZFSパス名]@[スナップショット名] | zfs receive -F [送信先ボリューム名]/[送信先ZFSパス名]

凡例
[ボリューム名]..zpoolにて作成したボリューム名です
[ZFSパス名]..zfs createにて作成したパス名です
[スナップショット名]..スナップショットとして適当な名称です

 

マウントポイント

コピーした後、適当にファイルシステムにマウントされていますが、指定することもできます。

zfs set mountpoint=[ボリューム名]/[ZFSパス名] [ファイルシステム位置]

 

Swapの作成

ZFSにSwap領域を作成して、swapとして使うこともできます。

zfs create -V 8G [ボリューム名]/[ZFSパス名]         <- 8Gは、8ギガ確保するという意味です。
zfs set org.freebsd:swap=on [ボリューム名]/[ZFSパス名]
zfs set checksum=off [ボリューム名]/[ZFSパス名]

これで、リブートすれば使えます。

もし、リブートできない場合、

swapon /dev/zvol/[ボリューム名]/[ZFSパス名]

で、swapを追加することができます。

逆にswapから削除する場合、

swapoff /dev/zvol/[ボリューム名]/[ZFSパス名]

で、削除できます。