Неполные рекурсивные снимки на zfs

Я получил несколько новых дисков на одной из наших систем и хотел передать им существующий пул, поэтому я сделал следующее:

zfs snapshot -r old-pool@replicaton
zfs send -R old-pool@replication | mbuffer -m 1G  | zfs receive -F -d  new-pool

но затем на полпути через операцию, я получил предупреждение от zfs sendжалуясь, что снимок old-pool/some/fileset@replication не будет существовать...

когда я пошел расследовать, я обнаружил, что zfs snapshot -r забыли создать снимок на old-pool/some/fileset, Итак, я побежал

zfs list -r -o name old-pool | \
xargs -n1 perl -e 'system "zfs","list",$ARGV[0]."\@replication"'

и обнаружил, что было около 10% наборов файлов, в которых отсутствовал этот снимок...

Затем я приступил к созданию отсутствующего снимка по отдельности, и он работал нормально.

С тех пор я повторил эксперимент и снова нашел ту же проблему...

Есть идеи, как это может быть?

Это происходит на OMNIOS R151010

1 ответ

О, МОЙ! Как неловко... Я нашел причину...

Пул (старый-пул), который я пытаюсь скопировать, сам является хранилищем резервных копий, получая регулярные обновления через zfs receive -F

Поэтому, хотя мой рекурсивный снимок был изначально завершен, он был "очищен", поскольку новые снимки были интегрированы в отдельные наборы файлов.

Однажды я остановил скрипт резервного копирования, который отправлял снимки old-poolМир снова работал, как и ожидалось.

Другие вопросы по тегам