在SuSE中加载多path为PXE安装initrd

我正在使用SLES11-SP1重新安装群集节点。 节点在SAN上启动,一旦安装,将使用官方的RDAC驱动程序。 但是在安装期间(使用PXE从networking引导)不存在多path驱动程序,因此一些活动(如search磁盘和分区)非常缓慢。

我想在安装过程中修改SuSE提供的networking安装initrd以使用dm-multipath。 使用dm-multipaht多path工作,我有一个multipath.conf文件。 我可以将这些添加到initrd就好了。 但我坚持如何让模块加载,并在安装过程中自动启动multipathd守护进程。 有一个名为“init”的程序,它是SuSE安装程序。

在将控制移交给名为“init”的安装程序之前,如何获得我的“modprobe dm-multipathd”和“multipathd”?

这是一个猜测,但我最近修改了Ubuntu 10.04安装程序的initrd,以添加新版本的Intel e1000e驱动程序。
如果你不能做类似的事情(修改initrd),为SLES安装程序添加多path支持,我会感到非常惊讶。

完整的说明/演练在这里 ,但基本上归结为使用

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 

这可能对你很有意思。