Сервер Debian не загружается после деградации программного массива RAID-1

Итак, у меня есть сервер Debian 7 с 3 жесткими дисками. Его RAID-1 в основном настроен так:

md0: sda1, sdb1 -> / (root) md1: sda5, sdc1 + sdb5 (резервный) -> /data (sdc1 находится на твердотельном накопителе, а sda5 помечен как "наиболее доступный для записи").

на sda и sdb установлен grub.

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

Таким образом, система загрузилась нормально после этого. Я заметил свою ошибку, выключил машину и снова подключил sdc (пока mdadm перестраивал md1 на запасной).

Теперь система выдала мне страшную оболочку GRUB или просто черный экран с мигающим курсором. в зависимости от того, какие жесткие диски я отключил. Но ни одна комбинация жестких дисков не дала мне успешной загрузки. Я также попробовал сделать это с подключением всех 3 дисков и указанием BIOS загрузиться с любого из загрузочных дисков вручную.

В итоге я запустил установку Debian в режиме восстановления, собрал устройства RAID и позволил им восстановить.

Это не привело к успешной загрузке.

Поэтому я снова загрузил режим восстановления и вручную переустановил GRUB на sda и sdb. Это исправило мою проблему.

Мой вопрос: что здесь произошло? а) sdc никак не должен влиять на загрузку, AFAIK? б) даже если что-то из процесса восстановления RAID, который я прервал, повлияет на загрузку, почему система не загрузилась после того, как я перестроил RAID-массивы в режиме восстановления? Почему мне пришлось переустанавливать GRUB на sda и sdb вручную, если, насколько я понимаю, сектора на дисках, на которых установлен GRUB, не имеют ничего общего с RAID-массивами?

1 ответ

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

Такт, который я бы предложил:

Работайте на одном диске одновременно. dd полный диск в резервную копию (если есть) перед записью каких-либо изменений.

С каждым диском попытайтесь смонтировать каждый раздел отдельно без RAID. Я считаю, что вам нужно mdadm --stop /dev/mdX отсоединить его от RAID, а затем вы можете смонтировать его как обычно.

Найдите чистую (или наименее испорченную) копию каждого раздела и перенесите их на диски не RAID. Как только вы восстановите загрузочную систему без RAID, вы сможете восстановить ваши RAID-устройства. Так как у вас есть три диска и только два раздела, вы сможете сделать это без дополнительных дисков (за исключением dd резервное копирование - что не обязательно, но отлично, чтобы не копать глубже).

Другие вопросы по тегам