Сбой mdadm RAID 5 с двумя дисками во время восстановления
У меня массив RAID 5 с 3 дисками (sdb sdc sdd
)
В прошлые выходные мне сказали, что sdd
потерпел неудачу. поэтому заменили диск, добавили его обратно в массив и дайте восстановить (1,5 ТБ)
Остановился примерно на 64% с ошибкой, обнаружил, что sdb
тоже терпит неудачу.
Я представил себе sdd
на новый диск (ddrescue
) а также sdb
на новый диск (ddrescue
).
Копия sdb
прошло хорошо только как 3MB, который не мог скопировать. sdb
было много проблем (обратите внимание, что я не смог получить НОВЫЙ диск, так что мои образные диски на самом деле физически больше 1,5 ТБ)
Попытка собрать диск, как это было раньше с:
mdadm -A /dev/md0 /dev/sdb /dev/sdc /dev/sdd
Дал ошибку:
mdadm: no recogniseable superblock on /dev/sdb
Я тоже пробовал --force
тот же результат
я также немного читал о восстановлении массива, полностью перестроив его, поэтому я попытался:
mdadm --verbose --create /dev/md0 --level=5 --raid-devices=3 /dev/sdc missing missing
(sdc
это единственный диск, который не вышел из строя, я собирался запустить массив и добавить два других диска)
Это привело к:
mdadm: RUN_ARRAY failed: Input/output error
Я действительно в плохом месте слышу. У меня есть много данных, которые мне нужны, около 1,2 ТБ, это худший вариант!
3 ответа
There is no backup.. This is the problem.
Хранение важных данных (в ЛЮБОЙ системе, независимо от того, насколько надежно) без резервного копирования - действительно проблема!
Не имея резервных копий и испытав режим сбоя для RAID 5, для которого нет правильного пути восстановления, вы теперь то, что наши британские друзья назвали бы "Правильно королевским роумингом" (фактически они, вероятно, использовали бы более красочный язык).
На данный момент у вас есть два варианта:
- Плач.
- Свяжитесь с компанией, занимающейся восстановлением данных, объясните, что произошло, и предоставьте им выкуп, чтобы попытаться провести магический ритуал по извлечению ваших данных из лап неисправных дисков.
(1 и 2 не являются взаимоисключающими - фактически, когда вы увидите цену (2), вы, вероятно, сделаете (1)...)
Вы можете считать это опытом обучения и дорогостоящим предметным уроком о важности регулярного резервного копирования и тестирования восстановления...
Я просто хотел сообщить всем о решении.
Конечный результат я получил все свои данные за исключением 2 файлов, и вот что я сделал
- Установлен хороший диск и диск, который вышел из строя во время восстановления
- Вынудил mdadm создать массив с отсутствующим 1 диском и установить флаг, чтобы все диски были чистыми
- использовал MC (Midnight Commander), чтобы начать копирование файлов папка за папкой. Как только mdadm обнаружит ошибку в массиве, он выдаст некоторые ошибки, mdadm удалит диск из массива, что сделает массив невозможным. MC тогда дал бы мне ошибку чтения (Прекрасно, потому что я не хотел, чтобы это продолжало копировать поврежденные данные). Обратите внимание на файл, на котором он завис
- Размонтируйте массив, остановите mdadm, а затем перезапустите его с двумя дисками, отметьте их как чистые
- Пропустил файл, на котором он застрял.
В любом случае мне удалось восстановить все данные, кроме 2 файлов. Я надеюсь, что это помогает любому, кто попадает в эту ситуацию. Я также вернулся к RAID-1. По крайней мере, с RAID-1, если на 1 диске есть поврежденные сектора, я все равно могу восстановить данные без использования mdadm.
PS - я усвоил урок, а также добавил резервные копии на другой диск.
Спасибо всем.
Никогда не используйте raid 5 на медленных дисках и никогда не используйте его на программном рейде. Также никогда не используйте его, если у вас нет приличной рейд-карты с собственным кешем и анализом перед сбоем.