你怎么能findzfs克隆的父快照?

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

我怎样才能find克隆附加到哪个文件系统/快照?

(看起来像是应该在文档/ googlable中的东西,但我还没有find任何东西)

有一个特殊的财产称为origin持有你所需要的。 假设我们有一个zpool tank和一个文件系统tank/f1 ,我们创build一个快照和一个克隆:

  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 - 

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

另一个简单的方法

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

没有rpool:

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