Как найти родительский снимок клона zfs?

10

Я сделал клон файловой системы zfs, у которого есть несколько снимков. У меня также есть несколько копий файловой системы.

Как узнать, к какой файловой системе / снимку прикреплен клон?

(Похоже, что-то, что должно быть в docs / googlable, но я ничего не нашел)

JamesRyan
источник

Ответы:

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  -
dsmsk80
источник
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
ewwhite
источник
0

Еще один простой метод:

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

и без rpool:

zfs list -o name,origin | egrep -v "^rpool" | egrep ".@."
отметка
источник