web-dev-qa-db-ja.com

どのようにしてzfsクローンの親スナップショットを見つけることができますか?

いくつかのスナップショットを持つzfsファイルシステムのクローンを作成しました。また、ファイルシステムの複製されたコピーがいくつかあります。

クローンがアタッチされているファイルシステム/スナップショットを見つけるにはどうすればよいですか?

(docs/googlableにあるはずのようですが、何も見つかりません)

10
JamesRyan

必要なものを保持する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  -
14
dsmsk80

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
ewwhite

別の簡単な方法:

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

そしてrpoolなし:

zfs list -o name,Origin | egrep -v "^rpool" | egrep ".@."
0
Mark