LINUX.ORG.RU

Kernel 2.6 and Software RAID autodetection


0

0

Привет всем!

Как гласит первоисточник, для автодетектирования md-устройств во время загрузки ядра нужно три вещи: 1. Чтобы ядро поддерживало эту опцию (ядро 2.6.9 от RHEL 4.2 поддерживает точно); 2. Чтобы тип партиций был fd (выставил); 3. Чтобы загружался соответствующий модуль raid (например, raid1 для зеркала: mkinitird --preload raid1 ...).

md-устройства создал.

Все сделал. Вот так: > md: raid1 personality registered as nr 3

Но! Автодетектирование не срабартывает. Нет строчек типа: > md: Autodetecting RAID arrays. > md: autorun ... > md: ... autorun DONE.

Рядом у меня есть не SMP ядро. Его initrd я не трогал. Там автодетектирование отрабатывает просто на ура. Определяет все 5 устройств.

Вопрос: как создать initrd, чтобы снова заработало автодетектирование?

anonymous

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

Для загрузочного raid-a лучше использовать lilo
boot = /dev/md0
raid-extra-boot = mbr
image = /boot/bzImage
root = /dev/md2
label = linux

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

На самом деле пофиг что использовать.

Я влез в initrd, который создает программа установки (это cpio-архив, зажатый gzip). Там есть файлик init, в котором кроме всего прочего есть строки:

raidautorun /dev/md1

raidautorun /dev/md2

Вот они и стартуют md. Кроме того, там можно посмотреть какие модули и в какой последовательности будут загружаться.

Мимоходом узнал кое-что о работе mkinitrd (RedHat).

Он парсит файл /etc/modprobe.conf (об этом написано в man).

Он парсит /proc/mdstat (а у меня он был пустой, когда я делал chroot в новый корень).

Он парсит fstab.

Ему пофиг конфигурационные файлы загрузчиков.

ДД txb@mail.ru

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

У меня загрузочный raid1 работает без initrd
И поддержка raid1 в ядре , не модулем.

anonymous
()

>Как гласит первоисточник, для автодетектирования md-устройств во время загрузки ядра нужно три вещи: 1. Чтобы ядро поддерживало эту опцию (ядро 2.6.9 от RHEL 4.2 поддерживает точно); 2. Чтобы тип партиций был fd (выставил); 3. Чтобы загружался соответствующий модуль raid (например, raid1 для зеркала: mkinitird --preload raid1 ...)

У меня авто детектирование работает, если к выше сказанному добавить: 4. Поддержка raid в ядре, не модулем. 5. Поддержка железа то же в ядре. Если это собрано модулями, то "автоопределение" приходится делать ручками в initrd, либо в стартовых скриптах(если корневая фс конечно не на raid)

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