LINUX.ORG.RU
ФорумAdmin

Загрузка со второго диска в программном raid


0

0

Добрый день!

Помогите разобраться с такой интересной проблемой:

делаем программный raid на линукс серверах. есть 2 сервера - один под Debian, второй RHEL4. на обоих по 2 винта SATA (sda и sdb, соответственно), сервера одинаковые по железу. При инсталляции ОС, систему сразу ставили на программный raid. Все манипуляции производились исключительно средствами инсталлятора самой ОС.

Разбивка: md0 - raid1 - /boot md1 - raid1 - LVM для логических дисков (/, swap, /home и т.д..)

так вот, а теперь загвоздка: Если сразу, после инсталяции, отключить диск sdb и загрузиться - то система загрузиться с sda нормально, но если отключить sda и попробовать загрузиться с sdb - то всё, даже приглашение GRUB не увидим, черный экран. Я провел ряд экспериментов и выяснил, что:

1) Для debian. после инсталляции ОС НЕОБХОДИМО дать команды: grub-install /dev/sda затем просто grub и уже в меню grub device (hd0) /dev/sdb root (hd0,0) setup (hd0)

2) Для RHEL4. после инсталяции ОС необходимо дать команды: grub device (hd0) /dev/sda root (hd0,0) setup (hd0)

grub device (hd0) /dev/sdb root (hd0,0) setup (hd0)

И вот только после этого, если отцепить диск sda, система загрузиться с sdb (причем в системе диск обозначиться как sda). А после возвращения на место sda пустого нового диска, необходимо при загрузке указать ЯВНУЮ загрузку с sdb. При этом уже sdb будет как sdb и можно будет перебить спокойно зеркало на sda.

Кто-нибудь может объяснить почему сразу после установки ОС grub ведет себя таким непристойным образом? ведь многие думают, что раз они указали при установке зеркало, то у них "всё будет в порядке", а на деле ... :)

Если у кого-то есть свой опыт изучения этой проблемы - поделитесь!

anonymous
Ответ на: комментарий от cyclon

> Ставил руками на оба.

Я тоже в результате ставил руками на оба. Вот только как выяснилось, что в debian и RH (эти дистры я испытывал в своем случае) загрузчики ставятся по разному.

т.е. в debian нужно ставить загрузчик на sda только путем grub-install /dev/sda, если попытаться поставить вот так:
grub
grub (hd0) /dev/sda
root (hd0,0)
setup (hd0)

то сервер с sda НЕ ГРУЗИТЬСЯ. черный экран.

Да, вдогонку, если на sdb установить загрузчик с помощью grub-install /dev/sdb, то при попытке загрузиться с sdb будет GRUB Error на экране...

вот такие пироги... :)

anonymous
()

> Кто-нибудь может объяснить почему сразу после установки ОС grub ведет себя таким непристойным образом?

Потому, что инсталлер ставит его на sda, как ты сам заметил. Поскольку при записи на sda записи на sdb не происходит, надо бы натравливать груб на mdX. Отпиши авторам дистрибутивов :-)

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Пардон то оно пардон, а ты сам попробуй так. я вот толкьо что попробовал

grub-install /dev/md0

команда отрабаотала, НО, получилось так, что с sda грузится нормально, а вот когда отключаем sda и пробуем загрузиться с sdb - черный экран. :)

anonymous
()

> ведь многие думают, что раз они указали при установке зеркало, то у них "всё будет в порядке"

А у них и будет все в порядке. Загрузчик не является жизненно важной частью системы :-)

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Хм... великий гуру, no-dashi, подскажи тогда как загрузиться на сервере на котором умер sda, есть sdb, но при загрузке с него черный экран?

флопа нет, есть только cd. Как вариант это грузиться с инсталяционного - выходить в консоль (если получиться) и вбивать загрузчик руками?

anonymous
()
Ответ на: комментарий от bromantik

Ну вот я взял (опять в качестве теста) убрал sda, загрузился с debian-netinst диска, вышел в консоль и ... нету команды grub :)

может она только на dvd полном диске есть? имеет ли смысл качать?

anonymous
()
Ответ на: комментарий от bromantik

стоп, ты с диска CD грузишься???? или в grub выбираешь "restore mode" ? :)

anonymous
()
Ответ на: комментарий от anonymous

> подскажи тогда как загрузиться на сервере на котором умер sda, есть sdb

Для начала - в таких ситуациях если у тебя зеркало, достаточно сделать dd if=/dev/sda of=/dev/sdb bs=1024 count=1 в кронтабе :-)

no-dashi ★★★★★
()

Не в качестве отмазки, но зачем перезагружаться для смены диска?
У вас нет hot-swap?

sdio ★★★★★
()
Ответ на: комментарий от mky

В качестве загрузчика использую lilo.
Таких проблем c raid1 нет.
Можно загрузиться с sda, затем отключить sda и система загрузиться c sdb.

anonymous
()
Ответ на: комментарий от no-dashi

> Для начала - в таких ситуациях если у тебя зеркало, достаточно сделать dd if=/dev/sda of=/dev/sdb bs=1024 count=1 в кронтабе :-)

ЭТО НЕ РАБОТАЕТ. только что проверил.

при загрузке с sdb - черный экран.

anonymous
()
Ответ на: комментарий от anonymous

У меня так-же в качестве загрузчика используется LILO. При настройке софтверного раида пришлось прописывать LILO-шку последовательно на оба винта, иначе наблюдалась описываемая выше ситуация. Ставил под Slackware.

VitalkaDrug ★★
()
Ответ на: комментарий от VitalkaDrug

>> При настройке софтверного раида пришлось прописывать LILO-шку последовательно на оба винта, иначе наблюдалась описываемая выше ситуация. Ставил под Slackware.

У меня такого не наблюдается,
Скорее всего дело в lilo.conf.
Покажите свой lilo.conf и версию lilo.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.