Восстановление данных и ремонт Synology DS3612xs – Synology Hybrid RAID – 7 дисков ST3000VX000
- Задача: из массива одновременно выпали 3 диска
- Уровень RAID: Synology Hybrid RAID
- Контроллер: NAS Synology DS3612xs
- Диски: 7 дисков Seagate ST3000VX000
- Файловая система: ext4
Описание проблемы заказчиком
В хранилище NAS стоит 11 дисков. Из 7 дисков был создан RAID по технологии Synology Hybrid RAID. В выходные несколько раз отключали питание, UPS не выдержал. В понедельник оказалось, что 3 жестких диска вышли из строя — пробовали подключать их к компьютеру. Два определяются, один не определяется.
Диагностика
Сначала диагностируем проблемыне диски — на двух дисках появились бэд блоки, на одном — неисправен блок магнитных головок. Далее диагностируем состояние RAID массива — 3 диска missing, 4 диска ACTIVE. Файловая система выглядит нормально, повреждений не обнаружено.
Изображение получено с официального сайта Synology
Восстановление — идея решения задачи
На массиве много данных(очень много маленьких файлов — несколько миллионов). Обычный процесс восстановления выглядит так — вычитать проблемные диски, создать виртуальный образ массива из исправных дисков и копий, скопировать данные на исправный носитель. У этого процесса есть плюс — данные восстанавливаются с заранее прогнозируемым качеством и результатом близким к 100%. Но есть и минус — операции по обработке файловых дескрипторов на большом количестве файлов(с учетом работы на виртуальном образе массива, а не оригинальным контроллером) создают очень много накладных расходов (чтение файлового дескриптора, чтение данных, создание дескриптора на диске-приёмнике, запись данных, закрытие дескриптора на приёмнике). Прогнозируемые сроки восстановления этого массива в этих условиях — 7-8 суток.
Есть альтернативный путь решения подобной задачи: создать точно такую же конфигурацию массива и «подсунуть» её контроллеру RAID(в данном случае это внутренняя программа Synology, которая реализует алгоритм Synology Hybrid RAID). В этом случае можно запараллелить процессы считывания проблемных дисков(банально запустив их на 7 разных каналах чтения или даже 7 разных компьютерах) и пропустить процесс переноса файлов — в итоге получить данные сразу же на новых дисках, сразу же «готовыми к употреблению».
Есть у этого способа и минус — заранее невозможно предсказать поведение устройства и его программного обеспечения и есть довольно большая вероятность получить неработоспособную файловую систему, которую невозможно «починить» inplace и таким образом потерять пару дней работы, вернувшись в итоге в первому варианту.
Мы рекомендуем заказчику рискнуть и получить данные быстрее. Заказчик соглашается.
Восстановление данных RAID — процесс
- Берем 7 новых чистых дисков идентичного размера, создаём на них такую же конфигурацию, как была раньше.
- Считываем проблемные диски (2 с бэд блоками, на одном меняем головки и читаем его) на новые носители. Вычитываются только те области, которые частвовали в массиве, вновь созданную конфигурацию не трогаем.
- Параллельно считываем исправные диски.
- Вставляем диски с конфигурацией и данными в NAS. Не работает.
- Разбираемся в проблеме — повреждена файловая система (на дисках же были бэдблоки) и потерялись права на сетевые ресурсы. Чиним файловую систему и копируем настройки прав со старых дисков. Всё заработало, данные доступны.
Заключение
Был применен рискованный метод, который в итоге привёл к положительному результату.
Стоит заметить, что рисковали во время этой операции только временем. Данные не подвергались риску перезаписи или неожиданной реакции устройства, потому что работа велась с копиями.