LINUX.ORG.RU

RAID-1 на загрузочном разделе


0

2

Создал raid1 и не могу с него загрузится. Когда загрузка доходит до монтирования корневого раздела, то на этом стоп! И так по порядку. Разбиваем разделы на sda1 и делаем его активным(тут будет корневой раздел) sda2 отведем для своп. Копируем таблицу разделов на второй ХДД

sfdisk -d /dev/sda | sfdisk /dev/sdb
Создаем RAID1
mdadm --create /dev/md0 --level 1 --raid-devices 2 /dev/sda1 /dev/sdb1 --metadata=0.90
mdadm --create /dev/md1 --level 1 --raid-devices 2 /dev/sda2 /dev/sdb2
Посмотрели процесс создания
cat /proc/mdstat
Вроде всё идет нормально, дождались завершения. Проверяем
cat /proc/partitions
видим что md0 и md1 созданы. На всякий случай смотрим корневой
mdadm -D /dev/md0
Всё без сомнений. Ставим систему как обычно. Правим fstab
/dev/md0  /   ext4   defaults   1   1
/dev/md1      swap   defaults   0   0
Теперь lilo
boot = /dev/md0
raid-extra-boot = mbr-only
root=/dev/md0
Передергиваем lilo и перегружаемся. Сначала процесс загрузки идет нормально. Но в самом конце вылетает. Если указать в fstab и lilo загрузку и монтирование с одного раздела sda1 или sdb1,
/dev/sda1  /   ext4   defaults   1   1
/dev/md1       swap   defaults   0   0
В lilo
boot = /dev/sda
####raid-extra-boot = mbr-only
root=/dev/sda1
то грузится нормально. Что же он с md0 грузится то не хочет?

Если поддержка рейда и корневой ФС вкомпилена в ядро, то достаточно указать доп. параметры при загрузке ядра (в dmesg будет видно, как оно автоматически собирает рейд), иначе только через initrd.

vel ★★★★★ ()

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

update-initramfs -u -k all

Umberto ★☆ ()

Еще тип раздела надо указать «fd Linux raid auto»

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

Если поддержка рейда и корневой ФС вкомпилена в ядро, то достаточно указать доп. параметры при загрузке ядра

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

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Это делал, в mdadm.conf прописалось.

Еще тип раздела надо указать «fd Linux raid auto»

Так оно и есть. Еще на этапе разбивки сделано.

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

стандартное ядро - абстракция. В каждом дистре оно собрано со своим конфигом.

Если ты не видишь при загрузке с рейда сообщение об автосборке рейда это значит, что либо ядру указан параметр raid=noautodetect, либо поддержка рейдов в ядре сделана в виде модулей (соответственно требуется initrd).

lilo - не лучшый выбор, grub знает про raid0/1.

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

Уфф...наконецто разобрался. Vel спасибо за помощь! Ты был прав. Поддержка рейда была собрана модулями. Не стал пересобирать ядро, а задействовал initrd и дженерик ядро. Хотя наверное если на совесть делать, то лучше перекомпилировать ядро.

lilo - не лучшый выбор, grub знает про raid0/1

У слаки нет GRUBa, только лило. Груб там только в исходниках. Лень было собирать и так кучу времени убил. Но лило тоже нормально работает, если как положенно настроить. Еще раз всем спасибо.

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

слаководам религия позволяет собирать пакеты из исходников :)

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

слаководам религия позволяет собирать пакеты из исходников :)

Ну так не заставляет же... долгое время использовал Slackware (с 7.1 до 11) - там все просто: хочешь - собирай, не хочешь - не собирай... да и в пакеты заворачивается элементарно... без всяких спеков и рулесов

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

В первом нет поддержки RAID, там ты указываешь раздел вместо массива. В LILO есть поддержка MD, но она не доделана. Вернее, когда-то всё было относительно нормально, но в последней версии появились проблемы даже с форматом метаданных 0.90, не говоря уже о том, что поддержки более актуальных форматов просто нет.

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

SlackBuild

почти всегда было достаточно

./configure && make && make install (в отдельный каталог)

а затем

tar -cf - foo/ | gzip -9 -c - > foo.tgz

или сейчас

tar -cf - foo/ | xz -9 -c - > foo.txz

Belen ★★ ()
Последнее исправление: Belen (всего исправлений: 3)
Ответ на: комментарий от Belen

Ну все эти слакбилды, сборка из исходников, это уже отдельная тема. Поэтому и не обсуждали её.

Не верю - в extra лежит ftp://ftp.slackware.com/pub/slackware/slackware-14.0/extra/grub/grub-0.97-i48...

Я имел в виду что на дистре 64 версии его нет. Только исходники с готовым слакбилдом. Хотя для 32 наверняка в дистр положили. Вчера наэсперементировался вдоволь. «ломал» raid, менял на горячую диски, убивал разделы, копировал. Всё работает должным образом. Что для счастья еще надо? Одно плохо, что светодиод на корзине hdd не кажет «failed», как это былобы с хардверным raidом

В LILO есть поддержка MD, но она не доделана. Вернее, когда-то всё было относительно нормально, но в последней версии появились проблемы даже с форматом метаданных 0.90

Не заметил. У меня загрузочный метадата=0.90 лило его находит и грузит нормально. Хоть в составе массива, хоть по отдельности каждый.

Humaxoid ()
Последнее исправление: Humaxoid (всего исправлений: 1)

Первый раз за последние 5 лет вижу человека, который пользуется lilo

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

Первый раз за последние 5 лет вижу человека, который пользуется lilo

Так слакварьщики в большинстве своем с лило и не слазили )))))

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