MegaCli能在无图形界面、无远程管理卡时完成RAID卡全部关键操作,但必须用对版本、认准适配器编号、清除Foreign配置,否则命令执行成功却无效;需先用lspci、lsmod和-adpCount确认控制器识别与驱动加载,再按规范格式操作。

直接上结论:MegaCli 能在无图形界面、无远程管理卡的场景下,完成 RAID 卡全部关键操作——但必须用对版本、认准适配器编号、避开 Foreign 配置陷阱,否则命令执行成功却没生效,是运维最常踩的坑。
怎么确认 MegaCli 能用,而不是“装了等于没装”
很多故障不是命令写错,而是工具根本没连上控制器。先跑这三步:
- 用
lspci | grep -i lsi或lspci | grep -i raid看是否识别到 LSI/Broadcom 控制器(例如输出含MegaRAID SAS 2108) - 用
lsmod | grep megaraid_sas或lsmod | grep mpt3sas确认驱动已加载;若无输出,需modprobe megaraid_sas手动加载(部分老内核需先安装kmod-megaraid-sas) - 运行
/opt/MegaRAID/MegaCli/MegaCli64 -adpCount,输出应为非零数字(如Number of controllers: 1);若报No controllers found,说明驱动或固件不匹配,不是路径问题
查状态时为什么 -PDList -aALL 总显示 “Foreign”
这是新盘或二手盘最常见的拦路虎:控制器把旧配置当“外来配置”,物理盘状态会卡在 Unconfigured(good) 或 Foreign,无法加入阵列。不处理就执行 -CfgLdAdd 会失败。
- 先扫描:
MegaCli64 -cfgforeign -scan -a0,看是否返回There are X foreign config - 确认后清除:
MegaCli64 -cfgforeign -clear -a0(注意:此操作不可逆,仅对未参与当前阵列的盘有效) - 清除后务必再跑一次
MegaCli64 -PDList -a0 | grep -E "(Firmware state|Foreign State)",确保 Firmware state 变为Unconfigured(good),且 Foreign State 为None
定位某块盘并点灯,参数格式错一个就无效
点灯不是为了炫技,是机房里快速对应 /dev/sdb 和物理槽位的关键动作。命令中 [E0:S5] 的格式必须严格匹配 -PDList 输出里的 Enclosure Device ID 和 Slot Number,不能靠猜。
- 查目标盘位置:
MegaCli64 -PDList -a0 | egrep "Enclosure|Slot|Firmware state",找到你关心的盘对应的Enclosure Device ID: 32和Slot Number: 5 - 点亮 15 分钟(最长支持):
MegaCli64 -PDSpindown -PhysDrv [32:5] -a0(注意不是-PDLocate,老版本不支持该子命令) - 熄灯:
MegaCli64 -PDSpinup -PhysDrv [32:5] -a0 - 常见失效原因:槽位号写成
[0:5](漏看 Enclosure ID)、用了-aALL(多卡环境下必须指定具体适配器号)、控制器固件太旧不支持 SES Locate 指令
创建 RAID 后为什么系统看不到 /dev/sdX
RAID 创建成功 ≠ Linux 内核立刻识别新设备。尤其在较新内核(5.10+)或某些国产发行版上,-CfgLdAdd 后常需手动触发 SCSI 总线重扫。
- 创建完立即检查逻辑盘:
MegaCli64 -LDInfo -Lall -a0 | grep "State\|Size",确认 State 是Optimal - 触发重扫:
echo "- - -" > /sys/class/scsi_host/host*/scan(注意三个短横线之间有空格) - 再查设备:
ls /dev/sg*和cat /proc/scsi/scsi,看到新Host: scsiN Channel: 0 Id: X Lun: 0行才表示识别成功 - 如果仍无
/dev/sdX,可能是 udev 规则未生效,可临时用partprobe或重启 multipathd 服务(若启用多路径)
真正麻烦的从来不是命令记不住,而是 Enclosure ID 和 Slot Number 这两个值在不同固件版本里可能跳变,同一块盘换槽后 Firmware state 又可能卡在 Failed 而不是 Offline——这些细节不验证,光背命令没用。


















