天天看點

linux修改磁盤驅動加載順序,更改Raid卡和HBA卡在Linux下的啟動順序

當server安裝好RHEL3系統以後,如果又添加了HBA卡,準備連接配接光纖存儲的時候,通常系統就無法啟動了,去掉HBA卡恢複正常。

原理分析:

Linux系統啟動的時候,除了加載核心檔案之外,還要加載一個初始化映像,用來加載一些必要的驅動,比如scsi卡,raid卡,ext3檔案系統等等。

通常對于儲存設備,誰先加到記憶體,誰就是第一個硬碟,如sda 後面的就是sdb,以此類推。

因為有的時候如果安裝HBA卡連接配接了存儲櫃,而加載驅動的時候先加載了HBA的驅動,而後才加載主機闆scsi或者raid的驅動,這樣就導緻磁盤櫃認到的是sda了,影響的系統啟動。

解決方法:

重新生成初始化檔案,更改驅動加載順序,讓本地硬碟或者raid卡上的硬碟成為sda,磁盤櫃上的認成sdb。

具體步驟如下:

以x366 添加8i卡,和HBA卡,連接配接ds400為例子,系統安裝在8i卡控制的本地硬碟作業系統為redhat as2.1 update 6 ,8i卡的驅動和HBA卡的驅動系統都可以自己認到,如果直接啟動系統,系統就會把HBA卡上的盤認成sda,是以,安裝系統的時候不連接配接盤櫃,可以正常安裝系統,安裝好之後用root登陸系統。

觀察預設的 /etc/modules.conf 通常如下:

alias scsi_hostadapter qla2300

alias scsi_hostadapter1 aacraid

alias scsi_hostadapter2 aacraid

更改成如下:

alias scsi_hostadapter0 aacraid

alias scsi_hostadapter1 aacraid

alias scsi_hostadapter2 qla2300

alias scsi_hostadapter3 qla2300

options scsi_mod max_scsi_lunx=128

儲存退出

運作如下指令重新生成初始化檔案

#cd /boot

#mv initrd-2.4.9-e.57.img initrd-2.4.9-e.57bak.img

#mkinitrd initrd-2.4.9-e.57.img 2.4.9-e.57

#mv initrd-2.4.9-e.57smp.img initrd-2.4.9-e.57smpbak.img

#mkinitrd initrd-2.4.9-e.57smp.img 2.4.9-e.57smp

#mv initrd-2.4.9-e.57summit.img initrd-2.4.9-e.57summitbak.img

#mkinitrd initrd-2.4.9-e.57summit.img 2.4.9-e.57summit

#init 6

連接配接ds400,可以正常啟動了。