![如何找到 zfs 克隆的父快照?](https://linux22.com/image/618034/%E5%A6%82%E4%BD%95%E6%89%BE%E5%88%B0%20zfs%20%E5%85%8B%E9%9A%86%E7%9A%84%E7%88%B6%E5%BF%AB%E7%85%A7%EF%BC%9F.png)
我克隆了 zfs 文件系统,其中包含许多快照。我还有该文件系统的多个复制副本。
我如何才能找到克隆附加到哪个文件系统/快照?
(似乎应该在 docs/googleable 中但我没有找到任何东西)
答案1
有一个特殊属性,称为origin
,它保存您需要的内容。假设我们有一个 zpooltank
和一个文件系统tank/f1
,并且我们创建了一个快照和一个克隆:
zfs snapshot tank/f1@s1
zfs clone tank/f1@s1 tank/f2
让我们检查一下该克隆的来源:
zfs get origin tank/f2
输出:
NAME PROPERTY VALUE SOURCE
tank/f2 origin tank/f1@s1 -
答案2
取决于您的 zfs 列表输出...但您也可以查看输出:zpool history
查看命令序列和操作(手动和自动) 在池上执行。这可能有助于刷新您的记忆。clone
如果输出太多,请过滤命令。
[root@GreenLeaf ~]# zpool history
History for 'vol0':
2013-09-14.16:57:19 zpool create -o ashift=12 vol0 fioa
2013-09-14.16:57:26 zfs create vol0/ppro2
2013-09-14.16:57:32 zfs set recordsize=32K vol0/ppro2
2013-09-15.14:52:08 zfs create -s -V 750G vol0/pprovol
2013-09-15.14:55:23 zfs destroy vol0/pprovol
2013-09-15.14:58:06 zfs create -o volblocksize=64K -s -V 750G vol0/pprovol
History for 'vol1':
2012-12-31.16:13:01 zpool create -f vol1 /dev/sdb
2012-12-31.16:13:22 zfs create vol1/ppro
2012-12-31.16:13:47 zfs set atime=off vol1/ppro
2012-12-31.16:13:55 zfs set compress=on vol1/ppro
2012-12-31.16:15:05 zfs set mountpoint=/ppro vol1/ppro
2012-12-31.21:07:37 zfs create vol1/pproold
2012-12-31.21:08:17 zfs set compress=gzip-9 vol1/pproold
2012-12-31.21:08:53 zfs set mountpoint=/ppro/pproold vol1/pproold
2012-12-31.22:20:56 zfs create vol1/ppro1
2012-12-31.22:21:12 zfs set compress=gzip-9 vol1/ppro1
2012-12-31.22:21:32 zfs set mountpoint=/ppro/ppro1 vol1/ppro1
2013-01-01.11:15:07 zpool set autoexpand=on vol1
答案3
另一个简单的方法:
zfs list -o name,origin | egrep ".@."
并且没有 rpool:
zfs list -o name,origin | egrep -v "^rpool" | egrep ".@."