Неполные рекурсивные снимки на 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
Мир снова работал, как и ожидалось.