系统定制安装遇到RAID卡无法安装的解决方案
2014-09-03 11:24
239 查看
场景说明
硬件:华为服务器携带RAID阵列卡系统:RedHat6.5
系统安装到服务器的硬盘上,启动提示无法找到系统盘,中断退出。其实这主要是内核没有添加megaraid驱动的关系,而且光盘上提供的initrd虚拟根文件系统,也没有将megaraid打包进initrd之中。所以在安装的过程中,由于无法识别RAID卡,导致找不到硬盘,无法加载系统进内存,启动失败。
知识储备
Linux内核源码实际上有各大厂商提供的支持的RAID驱动的源码,内核源代码目录linux-2.6.11\drivers\scsi\megaraid下是RAID卡驱动,Kconfig.megaraid记录支持RAID卡的种类详细信息。除了内核源码有RAID卡的驱动源码,在系统的/lib/module/`uname–r`/driver/scsi/目录下还有编译好的megaraid.ko驱动文件,这个时候如果使用dracut指令,通过添加RAID驱动到initrd,重新打包,就能够解决问题。
解决方案
系统环境:CentOS release 6.5 (Final)内核版本:2.6.32-431.el6.x86_64
#dracut --add-driver megaraid.ko /boot/initrd.img
将在/boot目录下创建一个名为initrd.img文件的通用initramfs.这包含了你当前运行内核当前加载的全部内核模块,目前生成的虚拟文件大小是45MB。
详细操作
环境:CentOS release 6.5 (Final)+ 2.6.32-431.23.3.el6.x86_64。服务器上的系统盘,通过raid卡,连接到主板上,现在需要将系统安装到系统盘上,所以必须要先加载raid驱动,然后才能够让系统识别系统盘上的文件系统,挂载真正的根文件系统。方案提供:
方案1:将raid驱动编译进内核
方案2:将raid驱动添加进initrd.img
将通过方案2实现。
步骤一:正常情况下,启动异常提示:
WARNING:at arch/x86/kernel/smp.c 118native_smp_send_reschedule +0x5c10x68c
dracut warning : No root device"Block:/dev/mapper/live -rw"
kernel panic
注明:可以通过在菜单中添加rdshell,获取控制台进行分析问题
步骤二:拷贝其他系统中的megaraid文件中的驱动,然后在init中,手动加载,并且拷贝insmod命令
1)解压initrd.img文件
2)拷贝megaraid文件夹
3)通过ldd insmod搜索需要的动态库
4)编辑init文件,加载驱动
5)重新打包initrd.
错误异常:
insmod: error inserting 'megaraid.ko': -1Required key not available
排查:内核版本不一致:
2.6.32-431.el6.x86_64,导致加载驱动失败,必须匹配上编译内核的版本
步骤三:到相同版本的机器上拷贝/lib/module/'uname -r'/kernel/driver/scsi/megaraid/,重新执行步骤二
出现异常:
dracut warning : No root device"Block:/dev/mapper/live -rw"
kernel panic
总结:通过rdshell获取kernel panic之后的控制台,发现模块已经正确加载,但是无法发现系统盘设备,想起根文件系统需要加载fat驱动。
#cd /dev/disk
can not find /dev/disk directory #说明还是没有检测到磁盘设备
正常情况下会生成如下的目录:
/dev/disk:
by-label by-id by-uuid 对设备进行映射
步骤四:在其他已经安装系统的机器上,执行depmod -a,建立驱动模块之间的依赖表,然后使用dracut指令通过添加raid驱动参数,重新生成一个initrd。替换到原来的initrd。启动成功
#depmod -a
说明:depmod 程序生成/lib/module/'uname -r'/modules.dep文件,记录下驱动模块之间的
依赖关系,同时也会针对当前的PCI等接口,生成map文件。这些文件为hotplug(热拔插)
设备检测程序提供了自动加载驱动的依据。
#dracut --add-driver megaraid.ko -v/initrd.img
相关文章推荐
- 关于Ghost系统无法安装IIS的解决方案
- GHOST等精简版系统无法安装虚拟打印机解决方案
- Windows Linux(Ubuntu)双系统安装后无法引导进Linux的解决方案 及调整启动管理器顺序和等待时间
- Linux中禁用nouveau kernel driver后,导致系统无法进入的解决方案 在安装cuda的时候,由于涉及到NVIDIA驱动的安装,使得nouveau驱动与NVIDIA驱动冲突,为了能够
- 安装Windows7出现:”安装程序无法创建新的系统分区 也无法定位系统分区“ 终极解决方案
- VMware7.10在安装虚拟系统时遇到的Easy Install模式和VMware Tools无法安装的问题
- VMware7.10在安装虚拟系统时遇到的Easy Install模式和VMware Tools无法安装的问题
- 使用U盘安装win7系统,遇到“无法定位现有系统分区”问题
- 在ibm服务器上安装系统遇到的几个问题及解决方案
- 使用U盘重装win7系统出现“安装程序无法定位现有系统分区,也无法创建新的系统分区”问题的解决方案
- 安装系统的时候遇到 stop 0x0000007B的蓝屏无法进行安装 thinkpad
- 安装IIS遇到无法找到文件时的解决方案
- windows server 2003 系统无法安装 PCI Device 驱动 ,无法安装PCI BUS 驱动,无法安装声卡驱动,HD Audio 声卡驱动装不了,解决方案
- 安装系统时出现蓝屏 无法成功安装时的解决方案
- 使用U盘安装win7系统,遇到“无法定位现有系统分区”问题
- 双系统重新安装windows后无法启动linux解决方案
- GHOST等精简版系统无法安装虚拟打印机解决方案
- Apple Mac 安装系统遇到,mac os 和window都无法安装成功的问题解决
- 2013新mac air直接安装windowns系统无法下一步 键盘鼠标失灵 无法新建分区提示gpt分区解决方案
- 重装系统时,遇到的“windows 无法安装到这个磁盘.选中的磁盘采用GPT分区形式”解决办法