Я переустанавливаю узлы кластера с SLES11-SP1. Узлы загружаются по SAN и после установки будут использовать официальный драйвер RDAC. Но во время установки (загрузка из сети с использованием PXE) драйвер с несколькими путями отсутствует, поэтому некоторые действия, такие как поиск дисков и разделов, выполняются очень медленно.
Я хотел бы изменить initrd для сетевой установки, поставляемый SuSE, для использования dm-multipath во время установки. Работа с несколькими путями с dm-multipaht работает, и у меня есть файл multipath.conf. Я могу добавить их в initrd. Но я застрял в том, как загрузить модуль и запустить демон multipathd автоматически во время процесса установки. Существует программа под названием «init», которая является установщиком SuSE.
Как я могу запустить мои modprobe dm-multipathd и multipathd, прежде чем передать управление программе установки с именем init?
Это немного предположение, но я недавно изменил initrd для установщика Ubuntu 10.04, чтобы добавить новую версию драйвера Intel e1000e.
Я был бы очень удивлен, если бы вы не смогли сделать что-то подобное (с точки зрения модификации initrd), чтобы добавить поддержку многопутевого режима в установщик SLES.
Полные инструкции / пошаговое руководство Вот, но в основном это сводится к использованию
zcat initrd.gz | (while true; do cpio -i -d -H newc --no-absolute-filenames || exit; done)
чтобы распаковать initrd, а затем изменить его и повторно сжать с помощью
find . | cpio -H newc -o > ../initrd.cpio
cd ..
gzip initrd.cpio
Я полагаю, стоит попробовать ..
Теоретически, когда модуль находится в initrd, вы должны иметь возможность дать ядру команду загрузить его в качестве аргумента ядра в GRUB. GRUB может передать модуль ядру с помощью директивы модуля, как таковой:
module /boot/module_to_load
это может быть вам интересно.