Назад | Перейти на главную страницу

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

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

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

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

Есть специальное свойство под названием 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  -

Зависит от вывода вашего списка 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 ".@."