LINUX.ORG.RU

Программный RAID1 и загрузка со второго винта


0

1

Прошлый админ лет 5 назад собрал гейт с рейдом на mdadm. Собрано зеркало из двух дисков, sda и sdb. Пришла тут пора дискам умирать, и вывалился из рейда sda1. Сервер грузится при этом. Дальше начал пляски с бубном. Купили пару новых дисков, втыкаю один новый вместо вылетевшего sda. Не грузится вообще, кричит нет бут девайса. Понял, на sdb не поставили grub. Подключаю обратно старый диск, делаю grub-install hd1 (ну и hd0 на всякий случай) - все проходит без ошибок. Снова подключаю новый диск. Меню выбора ядра появляется, но при попытке загрузки вылетает ошибка: root (hd1,0) Error5: Partition table invalid or corrupt. Если вообще отключить новый диск и оставить рабочий sdb, то после меню ошибка об отсутствующем диске. Что делаю не так ?


/ включая /boot был на новом винче? надо обновить system.map, емнип.
Включи систему с обоими винтами, сделай grub-update, проинсталь груб на оба винча.

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

Нет, он же новый совсем, пустой. Я не могу добиться загрузки со старого sdb при отключенном старом sda. Даже повесил его на первый канал, где sda висел. grub-update делал.

Yaku ()

Для начала надо новый диск разметить так же как и второй. Затем поменять тип раздела,чтобы sda1 был Linux raid auto detect. А потом добавить его в рейд. Все это конечно надо из под live-cd/USB делать.

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

facepalm
и в чём смысл зеркала тогда?

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

Да, уже возникла такая мысль. Но предположил, что все-таки должна быть возможность загрузки с обоих старых винтов независимо. Да и мануалы из сети это подтверждают. Шаманил с devices.map, устанавливал hd0 для обоих дисков одновременно, или только для sdb - никакого толку.

Yaku ()

Да, в fstab свопы прописаны для каждого диска отдельно, как sda2 и sdb2. sda2 закомментировал, диск отключил - та же ошибка 5.

Yaku ()

В работающей системе (со старым sda и sdb) где находится ядро и initrd? То есть где каталог boot — на md0 или на /dev/sdaX?

Меню выбора ядра появляется, но при попытке загрузки вылетает ошибка: root (hd1,0) Error5: Partition table invalid or corrupt.

Изучайте комады grub'а, там можно посмотреть содержимое разных дисков и понять, может у вас bios делает из старого sdb первый диск — hd0, а новый диск делает hd1. Если так, то можно руками прописать всю строку загрузки ядра с hd0, а не с hd1.

mky ★★★★★ ()

mdadm зеркалирует диск целиком или разделы? Если диск целиком, то никаких шаманств с grub не надо было делать, он бы перенёс и загрузчик и таблицу разделов.

gfh ★★ ()

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

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

У меня в grub нет команды ls вообще. В menu.lst прописана загрузка root (hd1,0), со старыми дисками все грузится. Но при отключении диска sda и возникает ошибка root (hd1,0) Error5:...Чудеса. Есть подозрение на биос, т.к. при подключении нового диска система вообще не грузится, и приходится менять приоритет загрузки в биосе, чтобы грузился сначала со второго диска. Может тут и засада происходит... Вечером попробую прописать загрузку в меню с 0 диска.

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

У меня в grub нет команды ls вообще.

Дак её там и не должно быть, она появилась в grub 2. Там есть find и cat (который позволяет нажимая TAB) получать список файлов.

Есть подозрение на биос, т.к. при подключении нового диска система вообще не грузится,

Да, BIOS ведь не знает, что новый диск пустой и пытается загрузиться с него (пустой загрузчик). Тот диск, с которого грузится BIOS во время загрузки становится hd0. Раз вы в BIOS меняете порядко дисков, то sdb у вас будет hd0.

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

Загрузился. Действительно, проделки биоса. Поправил в меню на hd0,0 и сразу загрузился. При этом в системе он так и остался sdb, а новый диск стал sda

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