系统定制安装遇到RAID卡无法安装的解决方案

简介:

场景说明

硬件:华为服务器携带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





     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1548238,如需转载请自行联系原作者


相关文章
|
数据可视化 大数据 物联网
【专访蓝景科技】5G+实时云渲染赋能数字孪生,共建元宇宙
而同时,近年来,数字孪生技术被认为是具有战略性、颠覆性、先导性的技术,其应用场景已深入到城市治理、智慧园区、工业制造、医疗健康等新型智慧城市建设的方方面面,随着“探索建设数字孪生城市”被写入“十四五”规划纲要中,数字孪生技术已成为是构建新型智慧城市的重要技术手段。元宇宙和数字孪生都是信息化发展到一定程度的必然结果,二者之间既有不同之处,又深度融合。
【专访蓝景科技】5G+实时云渲染赋能数字孪生,共建元宇宙
|
11月前
|
并行计算 数据可视化
ECCV 2024:JHU上交等提出首个可渲染X光3DGS!推理速度73倍NeRF,性能提升6.5dB
【10月更文挑战第8天】近日,约翰斯•霍普金斯大学和上海交通大学等机构的研究人员提出了一种名为X-Gaussian的新型3D Gaussian Splatting框架,用于X光新视角合成。该框架通过优化辐射性Gaussian点云模型和可微分辐射光栅化技术,显著提升了X光成像的渲染质量,同时大幅减少了训练时间和推理时间。实验结果显示,X-Gaussian在性能上比现有方法提升了6.5dB,训练时间减少了85%,推理速度提高了73倍。此外,该框架在稀疏视角CT重建中也展现出巨大潜力。
239 4
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
252794 0
|
1月前
office卸载工具o15-ctrremove.diagcab下载,如何将office2016卸载干净?
o15-ctrremove.diagcab是微软官方推出的Office卸载工具,可彻底清除Office残留文件和注册表项,解决安装或启动异常问题。无需安装,双击运行即可。使用时按提示操作,卸载完成后重启电脑,确保办公软件干净重装。绿色便携,适合需要深度清理Office的用户。
251 0
|
7月前
|
存储 NoSQL 关系型数据库
PolarDB开源数据库进阶课17 集成数据湖功能
本文介绍了如何在PolarDB数据库中接入pg_duckdb、pg_mooncake插件以支持数据湖功能, 可以读写对象存储的远程数据, 支持csv, parquet等格式, 支持delta等框架, 并显著提升OLAP性能。
435 2
|
10月前
|
Linux 数据库
Linux内核中的锁机制:保障并发操作的数据一致性####
【10月更文挑战第29天】 在多线程编程中,确保数据一致性和防止竞争条件是至关重要的。本文将深入探讨Linux操作系统中实现的几种关键锁机制,包括自旋锁、互斥锁和读写锁等。通过分析这些锁的设计原理和使用场景,帮助读者理解如何在实际应用中选择合适的锁机制以优化系统性能和稳定性。 ####
213 6
|
SQL Java 关系型数据库
JDBC详解
Java Database Connectivity(JDBC)是Java语言中用于访问关系型数据库的标准接口,定义了一组API,使Java程序能以统一方式连接、访问和操作不同关系型数据库,简化数据库操作,提高Java应用程序的可移植性和可维护性。使用JDBC进行数据库操作主要包括创建数据源对象、建立连接、构造和执行SQL语句及释放资源等步骤。此外,还可以使用Set系列方法设置值,并使用get系列方法获取查询结果。
908 2
JDBC详解
|
网络协议 API 网络安全
探讨TCP传输视频流并利用FFmpeg进行播放的过程
探讨TCP传输视频流并利用FFmpeg进行播放的过程
1099 0
|
网络安全
解决访问项目时发生SSL 接收到一个超出最大准许长度的记录。 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG的错误~
解决访问项目时发生SSL 接收到一个超出最大准许长度的记录。 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG的错误~
2369 0
|
存储 并行计算 PyTorch
社区供稿 | 10G显存,通义千问-7B-int4消费级显卡最佳实践
在魔搭社区,通义千问团队发布了Qwen-7B-Chat的Int4量化模型,Qwen-7B-Chat-Int4。该方案的优势在于,它能够实现几乎无损的性能表现,模型大小仅为5.5GB,内存消耗低,速度甚至超过BF16。