Итак, у меня есть сервер Debian 7 с 3 жесткими дисками. Его RAID-1 в основном настроен следующим образом:
md0: sda1, sdb1 -> / (root) md1: sda5, sdc1 + sdb5 (запасной) -> / data (sdc1 находится на SSD, а sda5 помечен как «только для записи»).
и sda, и sdb имеют установленный grub.
При установке дополнительной сетевой карты я испортил и отключил кабель данных sdc (обратите внимание, что sdc не имеет GRUB или / и не должен иметь ничего общего с загрузкой).
Итак, после этого система загрузилась нормально. Я заметил свою ошибку, выключил машину и снова подключил sdc (пока mdadm перестраивал md1 на запасной).
Теперь система либо дала мне ужасную оболочку GRUB, либо просто черный экран с мигающим курсором. в зависимости от того, какие жесткие диски я отключил. Но никакая комбинация жестких дисков не дала мне успешной загрузки. Я также попробовал это с подключением всех трех дисков и указанием BIOS загружаться с любого из загрузочных дисков вручную.
В конце концов, я загрузил установку Debian в режиме восстановления, собрал устройства RAID и позволил им восстановиться.
Это не привело к успешной загрузке.
Поэтому я снова загрузил режим восстановления и вручную переустановил GRUB на sda и sdb. Это устранило мою проблему.
У меня вопрос: что здесь произошло? а) sdc никак не должен влиять на загрузку, AFAIK? б) даже если что-то из прерванного мной процесса восстановления RAID повлияет на загрузку, почему система не загружается после того, как я восстановил массивы RAID в режиме восстановления? Почему мне пришлось переустанавливать GRUB на sda и sdb вручную, если, насколько я понимаю, секторы на дисках, на которых находится GRUB, не имеют ничего общего с RAID-массивами?
Во-первых: больше ничего не делайте. Прервав одно восстановление и протестировав различные комбинации, возможно, что данные были повреждены, уничтожены или потеряны. Обычно лучше полностью завершить одну операцию, прежде чем пытаться выполнить следующий шаг - перерывы вносят неопределенность и путаницу, а потерянное время обычно намного лучше, чем потерянные данные.
Я бы предложил тактичность:
Работайте с одним диском за раз. dd
полный диск в резервную копию (если есть) перед записью любых изменений.
С каждым диском попытайтесь смонтировать каждый раздел отдельно без RAID. Я считаю, что тебе нужно mdadm --stop /dev/mdX
чтобы отсоединить его от RAID, а затем вы можете смонтировать его как обычно.
Найдите чистую (или наименее испорченную) копию каждого раздела и перенесите их на диски без RAID. После того как вы восстановили загрузочную систему без RAID, вы сможете восстановить свои устройства RAID. Поскольку у вас три диска и только два раздела, вы сможете сделать это без дополнительных дисков (за исключением dd
резервное копирование - что не требуется, но здорово, чтобы не копать глубже).