我有以下ZFS快照:
data/server/dev1@snap1
data/server/dev1@snap2
data/server/dev1@snap3
如果我想回滚到snap1
,我会执行以下操作:
zfs rollback data/server/dev1@snap1
但ZFS返回:
more recent snapshots or bookmarks exist
use '-r' to force deletion..
我知道可以简单地将文件从 有没有办法进行回滚 AND 保留较新的快照 2016年11月21日更新 看起来有办法做到这一点。我读过有关使用/data/server/dev1/.zfs/snapshot/snap1
复制到/data/server/dev1
,但这比
zfs rollback
& snap2
?snap3
和zfs promote
的信息,但我无法弄清楚它是如何运作的。
答案 0 :(得分:3)
我认为你的评论非常接近于获得你想要的东西。但是,您可以在克隆之前重命名文件系统,然后克隆到原始文件系统的名称。例如:
zfs rename data/server/dev1 data/server/dev2
zfs clone data/server/dev2@snap1 data/server/dev1
在您需要删除数据/ server / dev2 @ snap1之前,您不必担心提升
zfs手册页有一个更完整的示例,可能会或可能不会更具体地满足您的需求:
以下命令说明了如何测试对文件的更改 系统,然后用更改后的原始文件系统替换 一,使用克隆,克隆促销和重命名:
# zfs create pool/project/production
populate /pool/project/production with data
# zfs snapshot pool/project/production@today
# zfs clone pool/project/production@today pool/project/beta
make changes to /pool/project/beta and test them
# zfs promote pool/project/beta
# zfs rename pool/project/production pool/project/legacy
# zfs rename pool/project/beta pool/project/production
once the legacy version is no longer needed, it can be destroyed
# zfs destroy pool/project/legacy