zfs でsnapshotを取って、「古いのに戻したい!」が、 直前のsnapshotであるケースがほとんどで、その場合は
zfs rollback FILESYSTEM@latest-snap
で一発OK。これはまあ問題なし。問題は、変更の様子を見ながら
zfs snap FILESYSTEM@snap-0 zfs snap FILESYSTEM@snap-1 zfs snap FILESYSTEM@snap-2 zfs snap FILESYSTEM@snap-3 zfs snap FILESYSTEM@snap-4
と取っていって、しばらくして「snap-2に戻したい!」となったとき。
snap-3, snap-4 を捨てていいならそれぞれ zfs destroy してから zfs rollback すればいいが、「念の為 snap-3, snap-4 も温存したい」のとき。 以下の手順で進める。
これに沿ってやると以下のような感じ。
zfs clone FILESYSTEM@snap-2 FILESYSTEM.new : 確認 zfs list -r -t all -o name,origin,clones FILESYSTEM zfs promote FILESYSTEM.new : ↑これで独立FILESYSTEMになる。確認↓ zfs list -r -t all -o name,origin,clones FILESYSTEM zfs rename FILESYSTEM FILESYSTEM.orig zfs rename FILESYSTEM.new FILESYSTEM
zap でreplicationを取っている場合などは zap:rep 属性の確認が必要。
取っておいた FILESYSTEM.orig が要らなくなったら
zfs destroy -vr FILESYSTEM.orig
で中間の snap-3, snap-4 を含めて削除。