PERC5i阵列卡驱动顺序调整修复Linux系统启动故障案例

需积分: 48 13 下载量 90 浏览量 更新于2024-09-12 收藏 14KB DOCX 举报
本文档详细描述了一次在Linux系统中由于阵列卡加载硬盘顺序错误引发的问题及其解决方案。该案例发生在一套包含两台Red Hat Linux AS4.7服务器的环境中,每台服务器配置有2个146GB SAS硬盘组成的RAID1,由PERC5i阵列卡控制,同时,还有1台Dell MD3000 SCSI磁盘阵列,其上的SAS硬盘通过SAS5E阵列卡组成RAID5,并存储Oracle 10g RAC的数据文件。 故障现象表现为系统在非正常重启后,当尝试加载根文件系统时失败,进入单用户模式后发现原本的硬盘盘符(如sda、sbd等)已被占用,实际设备对应的盘符发生改变。问题的关键在于,SCSI控制器驱动的加载顺序中,SAS5E阵列卡的驱动被优先加载,导致原本属于服务器的磁盘被MD3000上的LUN占用,使得服务器的设备号发生了混淆。 解决这个问题的方法包括: 1. 检查并修改/etc/modprobe.conf(在Red Hat Linux AS3中是/etc/modules.conf)文件,确保SCSI控制器的加载顺序正确。原始配置中,mptbase和mptscsih驱动被放在了PERC5i驱动megaraid_sas之前,这可能导致了问题。正确的顺序应是先加载megaraid_sas,再加载其他驱动。 调整后的文件内容如下: ``` aliaseth0bnx2 aliaseth1bnx2 aliasscsi_hostadaptermegaraid_sas aliasscsi_hostadapter1mptbase aliasscsi_hostadapter2mptscsih aliasusb-controllerehci-hcd aliasusb-controller1uhci-hcd ``` 2. 为了确保更改生效,建议先备份原始的/boot/initrd-`uname-r`.img启动映像文件,然后使用`mkinitrd –f`命令重新创建启动映像文件。这个步骤是为了更新内核启动时所需的驱动加载顺序,以便系统能正确识别和使用服务器的硬盘。 通过调整阵列卡驱动的加载顺序并重新生成启动映像,可以确保Linux系统根据正确的硬件配置进行启动,避免因设备号冲突导致的无法启动问题。此案例对IT管理员处理类似RAID配置与系统启动关联问题提供了实用的参考。