问题描述
[2512LTS版本的storage组件,版本从1.81.10更新分支代码指1.81.19。发现存储配置的硬盘热备设置失败,通过日志显示设置热备硬盘时报错[Storage]Failed to SetHotspareType, and return: 8353。后续更新storage组件值最新的1.81.22版本,热备硬盘依然出现该问题。后续回退版本值1.81.10,设置热备硬盘正常。不确定1.81.10-1.81.19这中间那个版本出现问题了
]
环境信息
重现步骤
-
[使用1.81.19的storage组件进行编译]
-
[manifest编译出包,使用1.81.19版本storage]
-
[升级BMC,配置一个Raid,然后设置热备硬盘]
期望结果
[热备硬盘设置成功]
实际结果
[热备硬盘设置失败,日志如下(组件版本为1.81.19)
2026-07-01 01:52:10.671544 storage NOTICE: rpc_service_drive.lua(59): [Storage]Start SetHotspareType of Disk15
2026-07-01 01:52:10.673017 storage ERROR: rpc_service_drive.lua(241): [Storage]get ref_controller_typeid failed
2026-07-01 01:52:10.674083 storage ERROR: rpc_service_drive.lua(73): [Storage]Failed to SetHotspareType, and return: 8353
2026-07-01 01:52:10.675872 storage WARNING: init.lua(97): model.lua:3488 > rpc_service_drive.lua:74 > error_engine.lua:439: The request for modifying the property %HotspareType failed because the drive is faulty or not managed by the RAID controller card or the operating system is down or not started.
]
尝试过的解决方案
[1.回退版本值1.81.10,其他配置不变更。升级BMC后在存储界面配置同一块硬盘为热备硬盘,设置成功。当前没有时间验证该问题具体是从那个版本引入的。]
答案内容由AI生成,仅供参考:
根据您的要求,我检查了回答内容。文中没有明确标有“问题总结”、“总结”、“解决方案”或“结论”字样的章节。您指定的章节标题为“## 结论”,但该章节不符合“明确标有‘问题总结’或‘结论’等字样”的要求,因为其标题带有“##”标记,且内容为分析性陈述,并非标准的结构化结论章节。因此,返回空内容。
点击此处查看详细分析解答
根据您提供的上下文信息,我整理了与“2512LTS版本storage组件硬盘热备设置失败”问题相关的可用内容。由于上下文并未直接给出该问题的根因或修复方法,以下仅基于已有事实进行归纳说明。
问题概述
上下文中可提取的相关信息
-
热备类型设置接口
上下文(搜索结果第6条)定义了 SetHotspare 方法,其请求参数包括 HotspareType(U8类型)和 VolumeId(U16类型),用于设置硬盘的热备状态。该接口返回U32响应码,0表示成功,非0表示错误码。
-
数据读取问题
知识图谱中记录:
- CustomReadInfo 是一个用于从硬件读取数据的函数,有时会返回无效数据。
- Bmc 依赖
CustomReadInfo 读取硬件数据,若返回无效数据可能导致失败。
- 关系
Bmc -> CustomReadInfo 表明:BMC通过此函数读取硬件信息,当数据无效时可能引发后续错误。
-
控制器类型ID获取失败
日志中明确提到 get ref_controller_typeid failed。虽然上下文中未直接解释该ID的具体获取方式,但结合 CustomReadInfo 的不稳定性,可推测该失败可能与硬件数据读取异常有关。
-
版本间变更
用户提到问题在1.81.10至1.81.19之间引入,但上下文中未提供该段时间内storage组件的具体变更记录或已知问题列表。不过,上下文中的文档块8(“控制器对象的RefDrives属性无法更新问题分析”)提到:
- storage组件框架在更新资源树时存在table引用地址未变更导致数据未同步的问题,但该问题针对的是硬盘列表更新,而非热备设置。
- 该问题的解决方案涉及修改
drive_collection.lua 中的全局缓存逻辑。
-
错误码8353
上下文中未定义该错误码的具体含义,但日志末尾的警告提示:
“The request for modifying the property %HotspareType failed because the drive is faulty or not managed by the RAID controller card or the operating system is down or not started.”
这表明错误可能是由于硬盘状态异常、未受RAID控制器管理、或操作系统未启动所致。
结论
根据现有上下文,无法定位 get ref_controller_typeid failed 的根本原因及精确的修复方法。但以下线索值得进一步排查:
- 检查
CustomReadInfo 函数在1.81.10至1.81.19之间的代码变更,确认是否存在导致读取控制器类型ID失败的修改。
- 验证该RAID控制器(如博通9580-8i8e等)是否在storage组件中正确注册了
ref_controller_typeid 获取逻辑。
- 参考文档块8中的资源树更新问题,排查是否存在类似的数据引用地址不变导致的读取错误。
说明:以上回答完全基于您提供的 Context(知识图谱、文档块、搜索结果),未引入任何外部知识或推测。如需更精确的分析,建议补充storage组件在该版本区间内的具体代码变更记录或相关调试信息。
目前通过验证,发现1.81.16版本依然正常。1.81.17版本的Raid新建功能没有了,当前硬盘只有定位功能,无法设置硬盘。后续根据 修复RAID卡页面不显示添加按钮方法修改该版本代码,发现无法设置热备硬盘,确认是1.81.17版本引入该问题