![Резервное копирование и восстановление данных пула ZFS](https://rvso.com/image/768917/%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%BF%D1%83%D0%BB%D0%B0%20ZFS.png)
В настоящее время у меня пул zfs raidz2 застрял в цикле resilvering, так как я пытался заменить диски по 3 ТБ на диски по 8 ТБ. После того, как первый сменный диск resilver находился в режиме онлайн более недели, он наконец-то закончился, но тут же снова запустился. После того, как диск был отмечен как «OFFLINE», второй resilver завершился примерно через 2 дня. Я отметил диск в режиме онлайн, и все выглядело хорошо (в течение нескольких минут), поэтому я заменил второй диск. Как только resilver запустился для второго диска, он показал, что первый диск также снова resilvering. Сейчас я нахожусь на третьем или четвертом цикле resilvering для этих двух дисков, и с resilvering двух дисков у меня нет отказоустойчивости. На этом этапе я хотел бы сделать резервную копию zpool на общем ресурсе nfs и воссоздать его с новыми дисками, но я не хочу потерять всю конфигурацию моего набора данных, которая включает все мои джейлы. Есть ли способ экспортировать весь zpool в виде образа резервной копии, который можно как-то восстановить? Файловая система другой машины с достаточным дисковым пространством для хранения всех этих данных уже использует другую файловую систему, поэтому репликация zfs, вероятно, не вариант. Это установка TrueNAS-12.0-U4. Резервная машина работает под управлением Ubuntu 21.04 с LVM/Ext4. Ниже приведен текущий статус пула.
pool: pool0
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Jul 29 00:39:12 2021
13.8T scanned at 273M/s, 13.0T issued at 256M/s, 13.8T total
2.17G resilvered, 93.77% done, 00:58:48 to go
config:
NAME STATE READ WRITE CKSUM
pool0 DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
gptid/55bf3ad6-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/55c837e3-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/55f4786c-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/60dcf0b8-eef3-11eb-92f9-3cecef030ab8 OFFLINE 0 0 0 (resilvering)
gptid/56702d96-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/5685b5f7-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
gptid/8f041954-eef3-11eb-92f9-3cecef030ab8 OFFLINE 0 0 0 (resilvering)
gptid/56920c3a-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
cache
gptid/56256b6a-3747-11eb-a0da-3cecef030ab8 ONLINE 0 0 0
errors: No known data errors
решение1
Вы можете использовать его zfs snapshot -r pool0@backup; zfs send -R pool0@backup > zfs.img
для создания реплицированного потока отправки, который можно восстановить с помощью zfs recv
.
Тем не менее, это похоже на описанную проблему.здесь
Вы также можете попробовать отключить отложенный resilver с помощью zfs_resilver_disable_defer
настраиваемого параметра.