Проблема загрузки Debian Squeeze с раздела RAID1 достаточно популярна в сети Интернет на различных форумах и порталах. Напомню суть проблемы: если устанавливать дистрибутив с помощью инсталлятора, причём с разметкой дисков и созданием RAID-массива средствами инсталлятора, то система нормально грузится и работает при исправном RAID-массиве и при физическом извлечении второго диска из массива. Однако, когда извлекается первый диск (на котором по умолчанию инсталлятор разместил загрузчик в MBR) система не загружается.
Читатели, дочитав до этого места конечно же возразят: мол надо было ставить загрузчик и на второй винт тоже. В том то и дело, что даже если загрузчик установлен на второй диск, загрузка с этого диска не идёт, при отсутствующем первом диске. Проявляется это в виде перезагрузки машины, на стадии "Welcome Grub".
Что пробовал?
/dev/sda - первый диск массива, /dev/sdb - второй диск, /dev/md0 - собственно массив, в котором нет деления на разделы - всё находится в корне (/) .
1. Банальный grub-install /dev/sdb на рабочей машине (описано в большинстве советов).
2. Отключение первого винта,
загрузка с компакт-диска,
монтирование /dev/md0 в /mnt ,
монтирование /dev и /proc в соответствующие каталоги /mnt/dev и /mnt/proc ,
chroot в /mnt
grub-install /dev/sd[a|b]
Оба варианта не работают. Сработал достаточно ламерский вариант, который описан в
первом опыте знакомства со Squeeze. Там я вынес разделы /boot из RAID-массива и по отдельности поставил в них загрузчики, при этом сами разделы не монтируются в системе, а пользуются /boot, находящимся в пространстве RAID-массива. Так если загрузка начинается в отдельных разделах, а с "подхватом" raid-раздела, загрузка продолжается с RAID. При каждом обновлении ядра, приходится переносить файлы из /boot , который находится в RAID на остальные загрузочные разделы вне RAID.
Совсем недавно решил всё-таки разобраться в проблеме и на просторах интернета откопал статью авторов Gerald Przybylski и Arthur Jones:
Yet another web page on installing Debian Linux on Software RAID В ней описаны все тонкости установки системы Squeeze на RAID-массив. По сути дела всё упирается к четырём составляющим:
1. Супер-пупер загрузчик GRUB 1.98 + 20100804-14 , применённый в Squeeze либо не доделали в системе, либо он сам по себе такой.
2. Изменение размещения супер-блока в RAID-массиве (по умолчанию, при работе инсталлятора, в этом дистрибутиве Debian используется md (формат метаданных) версии 1.2 - он должен "пониматься" GRUB`ом. Например загрузчик LiLo работает только с md версии 0.9)
3. Переход на UUID.
4. Инсталлятор системы не обрабатывает случай установки на RAID, а без инсталлятора здесь просто никак - это ведь не gentoo.
В общем, почитал статью и какие танцы с бубном придётся делать, и решил перейти на другой дистрибутив. Быть может Squeeze и будет хорошо работать на домашней машине или маленьком серваке, где не требуется надёжность, но применять дистрибутив для более ответственных задач с таким багом для RAID1 я бы не стал, поскольку, когда случится инцидент на рабочем серваке, тут дел будет не до танцев с бубном... Применять аппаратный RAID - это равносильно себе заложить бомбу замедленного действия.
Что касается современного GRUB, мне лично он перестал нравиться по причине нарастающей сложности его настройки. Скоро, блин, будем кнопку "Power" на системнике нажимать по какому-нибудь скрипту, где для человека будут указываться такие параметры как: угол наклона пальца, ход пальца, сила нажима, координаты кнопки и тд.