如何找到zfs克隆的父快照?


10

我克隆了具有多个快照的zfs文件系统。我也有文件系统的几个复制副本。

如何找到克隆附加到的文件系统/快照?

(似乎应该在docs / googlable中出现,但我还没有找到任何东西)

Answers:


14

有一个特殊的属性origin,可以容纳您所需的内容。假设我们有一个zpool tank和一个文件系统,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  -

3

取决于您的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

0

另一个简单的方法:

zfs list -o name,origin | egrep ".@."

并且没有rpool:

zfs list -o name,origin | egrep -v "^rpool" | egrep ".@."
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.