ZFS:回滚快照但保留较新的快照

时间:2016-11-17 15:37:30

标签: rollback snapshot zfs

我有以下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..

我知道可以简单地将文件从/data/server/dev1/.zfs/snapshot/snap1复制到/data/server/dev1,但这比

有没有办法进行回滚 AND 保留较新的快照zfs rollback& snap2

2016年11月21日更新

看起来有办法做到这一点。我读过有关使用snap3zfs promote的信息,但我无法弄清楚它是如何运作的。

1 个答案:

答案 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