我正在使用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
这可能对你很有意思。