Вопрос или проблема
У меня есть массив из 8 дисков в ZFS RAIDZ3. На этой неделе во время планового сканирования произошел внезапный и неожиданный отказ 3 дисков в ходе операции. Это было почти катастрофой, но массив выдержал. Поскольку я сразу потерял защиту данных, я ищу советы о том, как осторожно действовать, чтобы сохранить свои данные. У меня есть вторичный зеркальный RAID1, на который я периодически делаю rsync, но он устарел. Будет ли безопаснее сначала сделать rsync на этот массив? Я хочу оказать минимальное давление на деградированный массив, на случай если выйдет из строя еще один диск. Я думаю, что это правильный выбор, потому что rsync должен будет скопировать только измененные данные, а не весь массив.
$ zpool status
pool: backup
state: DEGRADED
status: Одно или несколько устройств неисправны в ответ на постоянные ошибки.
Достаточное количество реплик существует для функционирования пула в
деградированном состоянии.
action: Замените неисправное устройство или используйте 'zpool clear', чтобы отметить устройство
как исправленное.
scan: сканирование исправило 824K за 23ч0м с 0 ошибками в понедельник 16 сентября 2024 года 02:27:06
config:
NAME STATE READ WRITE CKSUM
backup DEGRADED 0 0 0
raidz3-0 DEGRADED 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E5PKHHE5 FAULTED 15 0 0 слишком много ошибок
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E6TYUX25 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EJXKYYU2 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4EE1YSFVZ ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E2CDE449 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E2CDER66 ONLINE 0 0 0
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E7HT982J FAULTED 6 0 0 слишком много ошибок
ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E0PVT451 FAULTED 10 0 0 слишком много ошибок
errors: Нет известных ошибок данных
Какой из этих двух вариантов будет самым безопасным шагом? rsync или восстановление?
Я также склоняюсь к rsync, так как это дополнительно повысит устойчивость во время последующего восстановления. Поскольку второй массив — RAID1, то для потери всех данных во время восстановления потребуется отказ трех дисков (оба диска в RAID1 и еще один в RAIDZ3), в отличие от одного диска во время восстановления или двух после восстановления (у меня есть только одна запасная, еще две в заказе).
Ответ или решение
Ваша ситуация действительно требует внимательного подхода, учитывая, что три диска в массиве ZFS RAIDZ3 уже вышли из строя, и плотность данных в вашем резервном массиве, судя по всему, также под угрозой.
Шаг 1: Понимание ситуации
Вы находитесь в состоянии «DEGRADED» (деградировано) и, что более важно, у вас уже есть неисправные устройства в вашем массиве. RAIDZ3 предоставляет защиту от выхода из строя трех дисков, но в вашем случае это уже произошло, и риск потери данных существенно возрос.
Шаг 2: Выбор между rsync и восстановлением массива
Исходя из того, что вы описали, rsync в вашем случае выглядит более безопасным и целесообразным вариантом по следующим причинам:
-
Снижение нагрузки на массив: rsync будет работать с изменениями, что минимизирует нагрузку на ваш деградированный массив, снижая вероятность дальнейших сбоев.
-
Увеличение устойчивости: Применив rsync, вы создаете дополнительный уровень защиты, так как ваша резервная копия станет актуальнее, и потеря данных потребует выхода из строя сразу трех дисков: обоих в RAID1 и одного в RAIDZ3.
-
Временные рамки и план действий: Процесс rsync можно запустить в тайм-ауте, чтобы убедиться, что данные передаются корректно и без чрезмерной нагрузки на массив.
Шаг 3: Реализация rsync
-
Проверьте целостность данных: Перед запуском rsync убедитесь, что в вашем массиве RAIDZ3 нет ошибок, используя команду
zpool scrub
. Хотя ошибок нет, лучше удостовериться, что ваш массив в состоянии, позволяющем безопасно производить операции. -
Запустите rsync: Используйте команду rsync для передачи изменений на резервный массив. Например:
rsync -av --progress /path/to/source/ /path/to/backup/
Подставьте актуальные пути к вашим данным. Параметры
-a
обеспечат артивирование, а-v
отобразит статус выполнения.
Шаг 4: Постобработка
После завершения rsync, убедитесь, что резервный массив содержит все необходимые данные и работает корректно. Затем вы можете подумать о восстановлении вашего массива ZFS RAIDZ3:
-
Замена неисправных дисков: После успешного завершения rsync внимательно замените поврежденные диски в RAIDZ3.
-
Реконструкция массива: Когда новые диски установлены, инициируйте процесс восстановления массива с помощью команды:
zpool replace <pool_name> <old_disk> <new_disk>
По завершении восстановления, выполните команду zpool scrub
для проверки целостности данных в массиве.
Заключение
В данной ситуации кажется, что выбор в пользу rsync является более безопасным решением до восстановления массива. Это не только уменьшит риски потери данных, но и обеспечит их сохранность на более актуальном уровне перед следующими активными действиями. Удачи вам, и будьте осторожны при работе с деградированными массивами.