核心问题是安装镜像缺少RAID卡驱动(如megaraid_sas),需在启动阶段加载:一、开机进RAID卡BIOS配置并创建逻辑盘;二、用driver disk(dd)方式加载驱动ISO;三、UEFI下编辑启动项加rd.driver.blacklist参数;四、定制集成驱动的ISO镜像。

安装 Linux 系统时若 RAID 阵列卡不被识别,核心问题不是系统“不支持 RAID”,而是安装镜像内缺少对应硬件的驱动模块(如 megaraid_sas、hpsa、aacraid 等)。解决的关键是在安装启动阶段让内核加载这些驱动,使安装程序能看见 RAID 逻辑盘。
安装前确认阵列卡是否已配置好逻辑盘
这一步常被跳过,但至关重要:Linux 安装程序只负责识别已存在的块设备(如 /dev/cciss/c0d0、/dev/sda),它不参与硬件 RAID 的创建。必须先在服务器开机自检阶段(通常按 Ctrl+R、Ctrl+H、F10 或 Del,依厂商而定)进入 RAID 卡 BIOS/UEFI 配置界面,完成以下操作:
- 检查物理硬盘状态是否全部“Online”或“In Good State”
- 创建 Virtual Drive(VD),选择 RAID 级别(如 RAID5)、条带大小、缓存策略
- 为逻辑盘命名(如 “OS_VD”),并执行 Fast Initialization(非 Full)
- 保存退出,确保重启后 BIOS 能识别该逻辑盘(部分卡会在 POST 时显示 “Logical Drive: OK”)
用 driver disk(dd)方式在安装启动时加载驱动
这是最通用、无需重制 ISO 的方法,适用于 CentOS/RHEL/Oracle Linux 等基于 Anaconda 的发行版。你需要:
- 从阵列卡官网(如 Broadcom/LSI、HPE、Dell)下载对应型号和系统版本的驱动 disk ISO(如
megaraid_sas-7.720-1.el7.iso) - 将该 ISO 文件拷贝到 U 盘根目录(U 盘需 FAT32 格式)
- 安装时同时接入系统安装介质(光盘或 U 盘)和驱动 U 盘
操作流程(以 Legacy BIOS 模式为例):
- 在安装启动菜单界面,选中 “Install CentOS Linux 7” 后按 Tab 键编辑启动参数
- 在命令行末尾添加空格 + linux dd(注意不是 “dd=...”),回车启动
- 系统会提示 “Do you have a driver disk?” → 选 Yes
- 选择驱动所在存储设备(通常是
/dev/sdb或/dev/sdc,即你的驱动 U 盘) - 进入分区列表后,选中那个
.iso文件(如megaraid_sas-*.iso)并加载 - 加载成功后,安装程序即可识别 RAID 逻辑盘,后续分区、格式化等步骤与普通硬盘一致
UEFI 模式下加载驱动的快捷操作
UEFI 启动流程略有不同,但更直观:
- 在 GRUB 启动菜单高亮 “Install CentOS Linux 7” 后,按 e 编辑启动项
- 找到以
linuxefi开头的行,在其末尾添加空格 + rd.driver.blacklist=ahci rd.driver.blacklist=isci linux dd - 按 Ctrl+X 启动,后续同样会进入 driver disk 加载向导
- U 盘弹出后插入驱动 ISO,按提示输入 r 刷新设备列表,再输入编号选择并加载
提前集成驱动到安装镜像(适合批量部署)
若需长期维护或部署多台同型号服务器,可将驱动直接注入 ISO 的 initrd.img 中,生成“自带驱动”的定制镜像。主要步骤包括:
- 挂载原始 ISO,提取
isolinux/initrd.img和images/pxeboot/initrd.img - 解压 initrd.img(实际是
initrd.img.xz),进入lib/modules/$(uname -r)/kernel/drivers/scsi/目录 - 放入编译好的驱动模块(如
megaraid_sas.ko.xz),运行dracut --regenerate-all --force或手动重建依赖(depmod -a) - 重新打包 initrd.img 并替换 ISO 中对应文件,最后用
mkisofs或genisoimage生成新 ISO - 验证新镜像:启动后执行
lsmod | grep megara和lsscsi,确认模块已加载且逻辑盘可见
该方法避免每次安装都插 U 盘,但对镜像构建流程有一定要求,建议在测试环境验证后再投入生产。











