當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,可以正常啟動了。