Vin*_*nce 6 zfs snapshot rollback
我有以下 ZFS 快照:
data/server/dev1@snap1
data/server/dev1@snap2
data/server/dev1@snap3
Run Code Online (Sandbox Code Playgroud)
如果我想回滚到snap1,我会执行以下操作:
zfs rollback data/server/dev1@snap1
Run Code Online (Sandbox Code Playgroud)
但 ZFS 返回:
more recent snapshots or bookmarks exist
use '-r' to force deletion..
Run Code Online (Sandbox Code Playgroud)
我知道有是简单地将文件复制出来的可能性/data/server/dev1/.zfs/snapshot/snap1为/data/server/dev1但那要花费更长的时间比zfs rollback。
有没有办法进行回滚并保留较新的快照snap2& snap3?
21/11/2016 更新
看起来有一种方法可以做到这一点。我阅读了有关与zfs promote和一起工作的信息,zfs clone但我无法弄清楚它究竟是如何工作的。
我认为你的评论很接近让你得到你想要的。但是,您可以在克隆之前重命名文件系统,然后克隆到原始文件系统的名称。例如:
zfs rename data/server/dev1 data/server/dev2
zfs clone data/server/dev2@snap1 data/server/dev1
Run Code Online (Sandbox Code Playgroud)
不用担心升级,直到需要删除data/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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3273 次 |
| 最近记录: |