Назад | Перейти на главную страницу

Восстановить RAID-5, который уже работал в деградированном режиме (потерян второй диск)

это глупо, такое случалось раньше, и я понял, как это исправить, и все было нормально.

Я использую 4 диска SATA по 500 ГБ в массиве RAID-5 на сервере Ubuntu 7.10. Один из дисков вышел из строя (на самом деле я думаю, что это один из разъемов в отсеке для горячей замены), и он работал без трех дисков, пока я нахожу жесткий диск на замену или дополнительно диагностирую проблему.

Теперь, прежде чем вы начнете читать дальше, НЕТ, у меня нет резервных копий, и информация не очень важна, просто приятно иметь.

Как бы то ни было, однажды у меня была какая-то икота HW, возможно, отключилось электричество или что-то в этом роде, и у меня были проблемы с восстановлением массива. Дело не в том, что один из дисков вышел из строя, а в другом.

Я смог просто добавить обратно второй «отказавший» диск, и через несколько минут я снова заработал. Может, мне пришлось провести какую-то проверку файловой системы, я не знаю.

Я потратил часы, если не дни, выясняя, как это сделать в прошлый раз, и с тех пор забыл.

Суть проблемы в том, что если я запускаю mdadm --examine на sdb, sdc и sdd, sdd думает, что он все еще является частью массива, но в информации суперблока sdb и sdc он перечисляет sdd как удаленный.

sda - это диск, который вышел из строя задолго до этого, он правильно указан во всех из них как неисправный удаленный.

TIA. Рассматриваемого сервера нет в Интернете, поэтому невозможно C&P вывод различных команд на форум.

Я знаю, сейчас многие из вас, наверное, думают, что я дурак или того хуже. Однако я припоминаю, что как только я выяснил, какие команды нужно запускать, это была довольно простая процедура, и она отлично работала.

Если диски фактически не вышли из строя, а стали временно недоступными или по какой-то другой причине рассинхронизировались, вы можете попытаться принудительно запустить рейд в режиме онлайн, игнорируя номер изменения / метку времени каждого участника.

Поступая так, вы рискуете повредить данные, особенно если вы не знаете, какой из дисков отключился последним, но похоже, что у вас мало выбора.

Прочтите о различных способах использования параметра --force на странице руководства mdadm.

Если один из дисков действительно вышел из строя, а другой не синхронизирован, вы все равно можете вывести рейд в оперативный режим, указав «отсутствует» в качестве идентификатора устройства для отказавшего диска, в сочетании с опцией --force. Это должно начать рейд как деградированный.

Если al else не работает, вы можете использовать raidextract: http://www.chiark.greenend.org.uk/~peterb/linux/raidextract/

Должен ли RAID5 восстанавливаться после двухдисковый неудача? Я думал, что этого не должно было быть. Вероятно, вы ищете команды для горячего удаления и горячего добавления дисков в массив raid.

mdadm --remove /dev/md0 /dev/sdX
mdadm --add /dev/md0 /dev/sdX

ты мог бы попробовать mdadm --create /dev/md0 --level=5 --raid-devices=4 missing /dev/sd{b..d}

который я адаптировал из Тема LinuxQuestions и поток Ubuntu

Вы могли сделать:

mdadm --stop /dev/md0
mdadm --assemble --force /dev/md0 /dev/sdX /dev/sdY...

просто не забудьте указать диски в том же порядке, в котором они были созданы, и с такими же размерами полос и т. д. Также я предлагаю сначала создать образы дисков.

Спасибо за помощь. Я попытался явно указать элементы, с которыми нужно выполнить сборку, и получал такие ошибки, как «отсутствует: устройство не найдено»

Итак, я попытался просто принудительно запустить массив, и это сработало как шарм. Не нужно запоминать, в каком порядке были устройства или что-то в этом роде.