Автор Тема: Снова о проблеме загрузки Debian Squeeze с раздела RAID1 (зеркала)  (Прочитано 10687 раз)

0 Пользователей и 1 Гость просматривают эту тему.

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
    Проблема загрузки 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" на системнике нажимать по какому-нибудь скрипту, где для человека будут указываться такие параметры как: угол наклона пальца, ход пальца, сила нажима, координаты кнопки и тд.
« Последнее редактирование: Среда, 25 Мая, 2011, 07:00:54 от vovka »
*nix - свобода мысли, свобода творчества!

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
    Созрело ещё одно, более простое решение проблемы. Читаем в статье "Установка Debian Squeeze на программный RAID1-массив" в wiki-разделе.
*nix - свобода мысли, свобода творчества!

Anhel

  • Прохожий
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Снова о проблеме загрузки Debian Squeeze с раздела RAID1 (зеркала)
« Ответ #2 : Суббота, 27 Августа, 2011, 18:53:11 »
Благодарю за статью.

Покопавшись день в гугле, наскрёб простое решение (отдельные благодарности вот этому админу).

После установки Debian Squeeze на RAID-1 нужно установить загрузчик на второй винт.
Делается это так:

dpkg-reconfigure grub-pc
root (hd0,0)
setup (hd0)
Отмечаю звёздочками /dev/sda и /dev/sdb

Далее в /etc/default/grub нужно раскоментировать строку:
”GRUB terminal=console”и для пересоздания конфигурационных файлов в /boot даём команду:
update-grub

Когда грузится графический терминал GRUB–меню, по-умолчанию подгружается файл фонта из /boot. Скорее всего, он не может загрузится.
Поэтому смена на GRUB terminal=console  помогает - так не грузится данный фонт.

Выключаю Debian, вынимаю второй диск.
Включаю - загрузка идёт без проблем :)

Видно, что второго диска нет:
mdadm --detail /dev/md0
После подключения диска обратно,
восстанавливаю RAID-1
mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb5
mdadm -a /dev/md2 /dev/sdb6

Выключаю Debian, вынимаю первый диск.
Включаю - загрузка идёт без проблем :)

Видно, что первого диска нет:
mdadm --detail /dev/md0
После подключения диска обратно,
восстанавливаю RAID-1
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda5
mdadm -a /dev/md2 /dev/sda6

PS: Только что проверил на VirtualBox 4.1.2
« Последнее редактирование: Воскресенье, 28 Августа, 2011, 08:51:44 от Anhel »