ZFS on Linux >= 0.8
元のデータセットを使用して破棄してsend | recv
既存のデータセット(スナップショットを含む)を暗号化することは可能ですか?
答え1
はい。この簡単な例を参照してください(ZoL 0.8.3でテスト済み)。
パスワードの代わりに元のキーファイルを使用したい場合:
( umask 777
dd if=/dev/urandom of=/path/to/keyfile bs=32 count=1 )
まず、スナップショットを作成します。
zfs snapshot -r tank/home@transfer
その後、アドバイスに従ってsend | recv
(コピーオプションを使用して-R
)受信側に暗号化オプションを提供してください。
zfs send -R tank/home@transfer |
zfs receive \
-o encryption=aes-256-gcm \
-o keyformat=raw \
-o keylocation=file:///path/to/keyfile \
tank/newhome
元のデータセットがインストールされている場合、新しいデータセットはすぐにはインストールされません。
「/tank/home」をマウントできません。ディレクトリが空ではありません。
暗号化されていないデータセットを削除して新しいデータセットに置き換えます。
zfs destroy -r tank/home
zfs rename tank/newhome tank/home
データセットにサブデータセットがない場合は、インストールが簡単です。
zfs mount tank/home
その他
zfs list -rH -o name tank/home | xargs -L 1 zfs mount
(またはzfs mount -a
インストールしない他のデータセットがない場合)
それだけです!
最後に、必要に応じてスナップショットを削除できます。
zfs destroy -r tank/home@transfer