LINUX.ORG.RU
решено ФорумAdmin

Программный RAID 1: система не грузится, если заменить первый диск в массиве

 , , , ,


1

1

RAID 1 создаю во время установки Debian.

Разметка выглядит следующим образом: http://i.imgur.com/wSJZ8rX.png.

GRUB ставится на первый диск: http://i.imgur.com/ODNPfWc.png. Затем ставлю GRUB на второй диск:

# grub-install /dev/sdb
Installation finished. No error reported.

При удалении любого диска система продолжает загружаться, однако, если заменить первый диск новым, система перестаёт загружаться: http://i.imgur.com/U5lb4nT.png.

В QEMU тоже самое.

На реальном железе ситуация иная: если на новом диске есть разметка, то система не грузится. Если разметку снести:

dd if=/dev/zero of=/dev/sdb bs=512 count=1

, грузится.

Я что-то делаю неправильно? Или так и должно быть? Или такое поведение характерно для Debian?

При удалении любого диска система продолжает загружаться, однако, если заменить первый диск новым, система перестаёт загружаться:

это поведение прошивки матери. Биоса, в смысле. Если выбран только один диск для загрузки, то только с одного и будет грузиться. Если выключено «retry», то пробовать снова не будет. Ковыряй биос.

targitaj ★★★★★ ()

Зависит от BIOS. Он должен догадаться, что грузиться нужно не с диска 0x80, а с диска 0x81. По отсутствию 0x55aa в нужном месте реальное железо понимает, что носитель можно пропустить.

AITap ★★★★★ ()

если на новом диске есть разметка, то система не грузится.
Если разметку снести:

BIOS ничего не знает про RAID. Если на диске обнаруживается MBR, управление передаётся на него, и привет (дальше всё уже от кода MBR завит - х его з, какой он, и что может). Если на диске MBR не обнаруживается, BIOS переходит к следующему устройству, а там - правильный загрузчик.

AS ★★★★★ ()

да не там все проще, просто граб ставится с конфигами с указанием на первый диск. Фишка у него такая. Люди на западе советуют такой финт ушами сделать в конфиге граба: подменить запись с какого винта грузить на sdb после этого установить граб на sdb и вернуть настройки на sda. Сам с такой же проблемой вожусь.

У меня к вам другой вопрос, а вы уверены что вам граб нужен ? Я так понимаю он не поддерживает разделы больше 2Т иначе нужен GPT

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

это поведение прошивки матери. Биоса, в смысле. Если выбран только один диск для загрузки, то только с одного и будет грузиться. Если выключено «retry», то пробовать снова не будет. Ковыряй биос.

retry включил: http://i.imgur.com/DlYHd15.png — всё равно не грузится.

Вот так выглядит загрузочное меню: http://i.imgur.com/J1f3c1N.png. При переходе в «Hard Disk Drives»: http://i.imgur.com/FEGrV5t.png.

Кстати, модель матери: Supermicro X9DBU.

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

Зависит от BIOS. Он должен догадаться, что грузиться нужно не с диска 0x80, а с диска 0x81. По отсутствию 0x55aa в нужном месте реальное железо понимает, что носитель можно пропустить.

А в этом плане между BIOS и EFI есть разница? На МП можно включить EFI. Модель МП: Supermicro X9DBU.

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

Т.е. у тебя /boot не в рейде? ССЗБ. А пофакту просто менять надо диск в BIOS и всё

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

Так и должно быть. Выбери другой диск и грузись. Накроется загрузочный диск - в биосе выбираешь другой и снова грузишься. Как-то так, да.

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

В EFI вместо MBR используется EFI System Partition (FAT32 раздел типа 0xef/C12A7328-F81F-11D2-BA4B-00A0C93EC93B), так что диск с разметкой, но без ESP система должна проигнорировать. Кроме того, пути к загружаемым EFI-файлам на ESP хранятся в специальном списке в памяти EFI; списком можно управлять при помощи efibootmgr. Если EFI может пропустить неверную запись в списке boot entries и самостоятельно перейти к следующей, смена одного диска не должна ничего сломать, но потребует последующего запуска efibootmgr, чтобы внести ESP нового диска в список.

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

больно надо, английским владею, разберусь уж как нить. А кроме тролинга тут особо делать нечего.

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

просто граб ставится с конфигами с указанием на первый диск. Фишка у него такая.

Нет такой фишки, он ставится с указанием на /boot, который в raid

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

Граб прописывает диск. Этот диск первый. Собственно это можно посмотреть в конфигах граба. Для того чтобы он на втором диске брал бут со второго диска, ребята предложили сделать подмену в конфиге граба, с указанием на второй диск, и после этого установить граб на второй диск. Затем в конфиге первого диска вернуть все на место. Как то так.

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

если у вас grub2 то попробуйте grep '/dev/disk/' /boot/grub2/grub.cfg

увидите что-то вроде /dev/disk/by-id/ata-Hitachi_HDT725032VLA380_VFJ201R23XUEXW-part1

это и есть указание на диск.

luk911 ()

Вообще засада какая то. у меня получается так sda1 boot sdb1 boot sda2 swap sdb2 swap sda3 / raid1 sdb3 / raid1

fstab который находится на рейде /etc/fstab указывает на монтирование первых дисков sda. Естественно когда отвалится sda то ничего и монтироваться не будет. И переписать его не можем так как это raid 1

Как это обойти не понимаю. Выкурил уже весь интернет. Рабочий конфиг все никак не найду.

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

Это какие-то предания старины глубокой, повторяю еще раз - ничего такого нет

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

Посмотрел, такого нет, адреса только на /dev/mapper и uuid-ы. Может хватит уже нести бред и начать читать документацию, чтобы убедиться в собственной неправоте?

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

я уже раз 5 устанавливал Centos7 в разных вариантах бут в рейд и не в рейд - история одна и та же вытаскиваешь диск sda грузится только граб и ругается что не видит диска.

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

значит выкинь центось - она не использует стандартные возможности grub2 сделать систему более надежной.

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