麒麟OS无法识别/dev/md0等RAID设备时,需依次验证硬件连接(lspci)、驱动加载(lspci -knn、modprobe)和元数据解析(lsblk、/proc/mdstat、mdadm --assemble --scan),并排查安装环境驱动缺失或BIOS设置问题。

麒麟OS安装或运行中无法看到/dev/md0、/dev/cciss/c0d0等RAID设备,说明系统未正确识别阵列,必须从硬件连接、驱动加载、元数据解析三个层面逐项验证。
确认RAID卡硬件是否被内核识别
执行 lspci | grep -i raid,查看输出中是否有类似“MegaRAID SAS-3 3108”或“AVAGO SAS9361-8i”的控制器型号。若无任何输出,说明PCIe链路异常或RAID卡未插稳;若有输出但无驱动信息,继续下一步。
运行 lspci -knn | grep -A 3 -i raid,重点看Kernel driver in use字段。若显示为unset或空白,代表对应驱动(如megaraid_sas、hpsa、arcmsr)未加载。
尝试手动加载驱动:sudo modprobe megaraid_sas(根据上一步查到的驱动名替换)。若报错“Module not found”,需提前下载对应内核版本的ko文件并用insmod加载。
检查硬RAID逻辑盘是否已生成
方法一:使用storcli工具查看(推荐)
先确认storcli已安装且可执行:which storcli64。若未安装,需下载ARM/x86匹配版本并rpm安装。
执行 sudo storcli64 /c0 show,观察“Number of Controllers”和下方表格中“VDs”列数值。若VDs=0,说明RAID卡上尚未创建虚拟磁盘——此时必须进RAID BIOS(开机按Ctrl+H/Ctrl+R)完成阵列初始化。
方法二:使用megacli兼容命令(旧环境)sudo MegaCli -AdpAllInfo -aALL | grep "Product Name" 验证卡存在;sudo MegaCli -LDInfo -Lall -aALL | grep "State\|Size" 查看逻辑盘状态。若返回“No Virtual Disks configured”,同上需进BIOS配置。
【注意:storcli中/c0表示第一个控制器,多卡服务器需依次试/c1、/c2】
验证软RAID设备是否激活
第一步:列出所有块设备
运行 lsblk,查找以md开头的设备(如md0、md127)。若完全无md设备,不代表阵列损坏,可能是未自动组装。
第二步:检查内核RAID模块是否启用
执行 cat /proc/mdstat。若提示“No such file or directory”,说明raid456、raid1等模块未加载,立即运行:sudo modprobe raid456 && sudo modprobe raid1 && sudo modprobe raid10(按实际RAID级别补全)。
第三步:扫描并组装阵列
执行 sudo mdadm --assemble --scan。若输出“found md device”并启动成功,lsblk将立刻出现md设备;
若报错“no RAID superblock”,说明某成员盘元数据损毁,需用mdadm --examine逐个检查各分区superblock一致性。
排查U盘/光盘安装环境下的特殊限制
麒麟安装镜像默认精简驱动,常缺失企业级RAID卡支持。若在图形化安装界面看不到硬盘:
— 按Ctrl+Alt+F2切到TTY命令行;
— 执行 ls /lib/modules/$(uname -r)/kernel/drivers/scsi/ | grep -E "(megaraid|hpsa|mpt3sas)",确认驱动是否存在;
— 若不存在,需挂载含驱动的U盘,用modprobe -v xxx指定ko路径加载。
部分华为/浪潮服务器需在BIOS中关闭“CSM Compatibility Support Module”,否则UEFI模式下硬RAID逻辑盘不可见。
执行 sudo dmesg | grep -i "raid\|md\|logical drive",查看内核启动日志中是否出现“detected md device”或“logical drive X is online”字样。无此日志即证明识别流程在最底层中断。











