StorCLI 常用命令:RAID 状态、硬盘 SN 查询与阵列管理
本文目录
StorCLI 是什么
StorCLI 是用于管理受支持的 LSI、Avago、Broadcom RAID 控制器的命令行工具,storcli64 是常见的 64 位程序名称。它可以查询控制器信息、硬盘序列号和阵列状态,也可以创建虚拟盘、开启磁盘定位灯以及查看重建进度。
本文以 Linux 下的传统 StorCLI 为例。使用前应从服务器厂商或 Broadcom 获取与控制器、操作系统相匹配的软件包,确认驱动正常加载,并使用 root 或 sudo 权限。命令支持情况以控制器型号、固件和工具版本为准。
Windows 用户可在管理员 PowerShell 中运行,将示例中的 sudo ./storcli64 替换为 .\storcli64.exe,后续参数保持不变。
基本语法与设备编号
sudo ./storcli64 /c0/e252/s0 show
/c0:控制器 0。/e252:机箱或背板的 Enclosure ID。/s0:物理磁盘槽位 0。/v0:虚拟磁盘 0,即控制器提供给操作系统的逻辑磁盘。all:选择对应层级的全部对象,例如/vall表示全部虚拟盘。
控制器号、机箱编号和槽位号必须以本机查询结果为准,不能直接照搬示例。
查询控制器和 RAID 状态
查看控制器列表
sudo ./storcli64 show
查看指定控制器的详细信息
sudo ./storcli64 /c0 show all
查看所有虚拟盘
sudo ./storcli64 /c0/vall show
查看所有物理硬盘
sudo ./storcli64 /c0/eall/sall show
输出中的 EID:Slt 表示机箱编号和槽位号,例如 252:0 对应 /e252/s0。
| 对象 | 常见状态 | 含义 |
|---|---|---|
| 物理盘 | UGood | 未配置且可用,通常可以用于创建阵列。 |
| 物理盘 | Onln | 作为阵列成员在线。 |
| 虚拟盘 | Optl | 阵列处于最佳状态。 |
| 虚拟盘 | Dgrd | 阵列降级,需要进一步检查成员盘。 |
状态含义可参考 Lenovo ThinkSystem Storage Adapter Software User Guide。状态正常并不等于数据已经备份或通过完整性验证。
查询硬盘 SN(序列号)
查询 RAID 卡后面的物理硬盘序列号,应查看物理盘详情。操作系统直接显示的磁盘可能是 RAID 虚拟盘,其序列号不能替代成员硬盘的 SN。
查询指定硬盘的 SN
先通过物理盘列表确定 EID:Slt,再查看对应硬盘的详细信息:
sudo ./storcli64 /c0/e252/s0 show all
在输出中查找 SN 字段,该字段表示物理硬盘序列号。建议同时核对型号和槽位。
Linux 下只显示 SN 字段:
sudo ./storcli64 /c0/e252/s0 show all | grep -E '^[[:space:]]*SN[[:space:]]*='
批量查询所有硬盘的 SN
查看控制器 0 下全部物理盘的详细信息:
sudo ./storcli64 /c0/eall/sall show all
为便于把序列号与硬盘位置对应起来,可以保留每块盘的设备属性标题以及 SN、型号字段:
sudo ./storcli64 /c0/eall/sall show all | grep -E 'Device attributes|^[[:space:]]*(SN|Model Number)[[:space:]]*='
上述筛选针对常见的英文文本输出。如果当前版本没有显示设备标题,应查看完整输出,避免只得到一列序列号而无法确认其对应槽位。
Windows PowerShell 查询
查询指定硬盘:
.\storcli64.exe /c0/e252/s0 show all
批量筛选设备属性标题、SN 和型号:
.\storcli64.exe /c0/eall/sall show all |
Select-String -Pattern 'Device attributes','^\s*SN\s*=','^\s*Model Number\s*='
如果 SN 为空或显示为 N/A,应检查工具版本、设备支持情况及完整输出,不能据此认定硬盘没有序列号。设备无法被控制器正常识别时,也可能无法读取 SN。
物理盘详情查询及 SN 信息可参考 IBM Cloud RAID controller commands。
创建 RAID 虚拟盘
创建阵列会更改存储配置,操作前必须确认目标磁盘上的数据无须保留或已经备份。先核对硬盘序列号、容量、槽位和状态;遇到 Foreign 或 JBOD 状态,应先查明原因。
以下示例互相独立,不要在同一批磁盘上连续执行。
创建 RAID 0
使用两块硬盘创建 RAID 0,无冗余保护:
sudo ./storcli64 /c0 add vd type=raid0 size=all name=DataR0 drives=252:0-1
创建 RAID 1
使用两块硬盘创建镜像:
sudo ./storcli64 /c0 add vd type=raid1 size=all name=DataR1 drives=252:0-1
创建 RAID 5
使用三块硬盘创建 RAID 5:
sudo ./storcli64 /c0 add vd type=raid5 size=all name=DataR5 drives=252:0-2
创建 RAID 10
使用八块硬盘,每个镜像子阵列包含两块盘:
sudo ./storcli64 /c0 add vd type=raid10 size=all name=DataR10 drives=252:0-7 pdperarray=2
name=:虚拟盘名称。drives=252:0-2:选择机箱 252 的槽位 0 至 2。size=all:使用所选磁盘组的可用容量。pdperarray=2:在该 RAID 10 示例中,每个子阵列使用两块物理盘。
创建完成后,使用以下命令确认结果,再按需要在操作系统中分区和格式化:
sudo ./storcli64 /c0/vall show
创建参数参考 Broadcom MegaRAID SAS Software User Guide 的 StorCLI 章节。RAID 不能替代备份。
硬盘定位与重建进度
开启和关闭硬盘定位灯
更换硬盘前,先通过 SN 和槽位核对目标,再尝试开启定位灯:
sudo ./storcli64 /c0/e252/s0 start locate
确认完成后关闭定位灯:
sudo ./storcli64 /c0/e252/s0 stop locate
定位灯功能是否可用,取决于控制器和背板支持情况。
查看重建进度
更换故障盘后,先检查是否已经自动开始重建,再查询目标硬盘的重建进度:
sudo ./storcli64 /c0/e252/s0 show rebuild
手动重建、插入缺失成员位置和强制上线,需要结合磁盘组结构及故障原因处理。不能把 set online force 当作修复坏盘的常规方法。
初始化、删除与外部配置
初始化和删除虚拟盘可能造成数据丢失,以下命令仅用于说明操作语法,不应作为日常巡检步骤执行。
初始化虚拟盘
sudo ./storcli64 /c0/v0 start init
查询初始化进度:
sudo ./storcli64 /c0/v0 show init
这里的操作对象是虚拟盘 /v0。停止初始化不能撤销已经发生的写入。
删除指定虚拟盘
sudo ./storcli64 /c0/v0 del
执行前必须核对虚拟盘编号、挂载情况和备份。若命令提示存在限制,应先查明原因,不要直接追加 force。
查询和预览外部配置
Foreign 表示控制器识别到外部阵列配置,可能与磁盘迁移或原有阵列成员重新接入有关。先查看配置:
sudo ./storcli64 /c0/fall show
预览导入结果:
sudo ./storcli64 /c0/fall import preview
确认磁盘来源、成员完整性和恢复方案后,才考虑导入或清除。清除外部配置不能代替数据恢复。
查看命令帮助
sudo ./storcli64 -h
sudo ./storcli64 /c0 help
维护命令参考 StorCLI Reference Manual。该手册为较早版本,使用时应与本机帮助及服务器厂商提供的配套文档交叉核对。

