问题描述
BMC有部分盘不在RAID卡管理下,实际是在的
环境信息
- 软件版本:[OpenUBMC2512]
重现步骤
web查看只有一块盘在raid管理下
AC之后出现3块盘
再重启os出现所有盘
期望结果
所有sata盘都在raid管理下
BMC有部分盘不在RAID卡管理下,实际是在的
AC之后出现3块盘
再重启os出现所有盘
所有sata盘都在raid管理下
答案内容由AI生成,仅供参考:
总结
| 项目 | 状态 |
|---|---|
| 问题定位 | |
| 根本原因 | RAID卡带外管理未及时就绪,导致BMC无法获取完整的物理盘信息 |
| 是否系统Bug | |
| 是否可修复 |
根据您提供的详细信息,问题的核心是:BMC的Web界面显示部分硬盘未被RAID卡管理,但实际上这些硬盘是连接在RAID卡上的。此问题在AC(上电)后部分恢复,在重启OS后可完全恢复。
根据截图中提示信息:
“此页面的RAID控制器、逻辑驱动器、物理驱动器的信息依赖RAID卡的带外管理功能,并且在系统引导完成后或安装并完全启动BMA 2.0才能显示。”
这说明:
当前系统未运行或BMA 2.0尚未完成自检与加载 → 物理盘信息无法完整获取。
RAID控制器(如MegaRAID 9560-16i)本身是一个复杂的PCIe设备,其驱动和服务需要时间初始化:
这解释了为何AC之后只能看到3块盘。
当操作系统正常启动后:
GetControllerPds等方法可完整返回所有物理盘列表;GetControllerPds命令刷新物理盘状态 → 所有硬盘正确显示。RAID Card → 支持 带外管理MegaRAID 9560-16i 控制器明确支持 Out-of-Band ManagementGetControllerPds 是用于获取某个RAID控制器下所有物理盘的标准方法【问题单】修复IPMI无法持久化开关raid带外管理功能的问题(2025-06-15)【问题单】web查看资产信息 pcb版本显示错误(2025-09-02)这些表明:RAID卡在BMC中的可见性与带外管理状态强相关。
目标:即使无OS运行,也能通过本地Service启动BMA 2.0实现完整盘识别。
systemctl status bma2-agent
systemctl enable bma2-agent
设置 > 存储管理 > 启用RAID带外管理
BMA 2.0运行后,可通过本地代理主动轮询RAID卡,无需等待OS启动。
GetControllerPds,等待RAID卡POST完成;self:register_controller_to_sml()失败)的情况进行最多3次重试;
相关函数参考:
self:register_controller_to_sml()sm1_get_ctrl_infosml.get_ctrl_info确保RAID卡设置中启用以下选项:
可通过BIOS菜单或Redfish接口配置:
PATCH /redfish/v1/Systems/1/
{
"Boot": {
"ControllerBootSettings": {
"OutOfBandManageable": true
}
}
}
| 项目 | 建议值 |
|---|---|
| RAID卡型号 | MegaRAID 9560-16i 8GB |
| 固件版本 | ≥ 5.200.02 |
| 配置版本 | ≥ 5.2900.00-0761(当前符合) |
| SAS接口 | 12Gb/s(当前符合) |
| PCIe链接速度 | x8 Gen3 |
您当前使用的版本为
MegaRAID 9560-16i 8GB,配置版本 5.2900.00-0761,属于较新版本,基本排除兼容性问题。
您截图中的Redfish响应显示:
"Drives@odata.count": 1,
"Drives": [
{
"Id": "HDDPlaneDisk1",
"Name": "Disk1"
}
]
这证实 Redfish接口也只返回了一个硬盘,说明不是前端bug,而是后端数据源确实不完整。
在CLI中执行:
ipmcget -t storage -d controller_info
观察是否能列出全部物理盘。
| 项目 | 状态 |
|---|---|
| 问题定位 | |
| 根本原因 | RAID卡带外管理未及时就绪,导致BMC无法获取完整的物理盘信息 |
| 是否系统Bug | |
| 是否可修复 |
graph TD
A[AC上电] --> B{BMA 2.0是否运行?}
B -- 是 --> C[延时5秒]
B -- 否 --> D[启动BMA 2.0服务]
C --> E[调用GetControllerPds]
D --> C
E --> F{是否成功?}
F -- 否 --> G[重试2次间隔3秒]
G --> H{成功?}
H -- 是 --> I[刷新UI]
H -- 否 --> J[告警: RAID卡通信异常]
F -- 是 --> I
如果该行为影响维护效率,建议向OpenUBMC社区提交Issue:
标题:【问题单】RAID卡在AC上电初期无法完整上报物理盘,导致BMC显示不全
分类:storage组件 / 初始化时序
影响范围:所有使用MegaRAID 9560系列RAID卡的平台
建议改进:
- 增加RAID卡初始化状态监听;
- 实现延迟+重试的获取策略;
- 提供“手动刷新”按钮供用户主动触发更新。
如您有日志文件(如/var/log/storage.log),可进一步分析初始化过程失败的具体函数调用点。
你的openubmc版本是25.12,应该是有已知问题的,带上下面issue里的PR再验证下
issue - openUBMC/storage - AtomGit | GitCode
【修改描述】修复获取控制器下硬盘列表时,硬盘列表未更新到资源树上的问题-storage-AtomGit | GitCode
你好,请问一下是否可以不采用单点问题更新,在25.12中直接将storage组件更新到最新的1.90.82版本这样会有问题吗?
肯定会有问题哇,与其他组件的依赖关系可能会导致问题。单点修改也没多少代码吧
这个问题的根因是什么?我们需要评审,能帮忙提供一下吗,issue的有点简单