https://BMC_IP/redfish/v1/Systems/{System_id}/Actions/ComputerSystem.Reset
这个uri中,重启类型为Nmi,接口文档里写的
意思是触发不可屏蔽中断。实际操作下来是什么效果有人了解么?
以及,JD仓库中为什么专门把这个操作给禁止了,我看changelog也没有写清楚背景,有人了解么?
https://BMC_IP/redfish/v1/Systems/{System_id}/Actions/ComputerSystem.Reset
这个uri中,重启类型为Nmi,接口文档里写的
意思是触发不可屏蔽中断。实际操作下来是什么效果有人了解么?
以及,JD仓库中为什么专门把这个操作给禁止了,我看changelog也没有写清楚背景,有人了解么?
答案内容由AI生成,仅供参考:
NMI(Non-Maskable Interrupt,不可屏蔽中断) 是一种特殊的硬件中断信号,其主要特点是:
根据提供的上下文信息,在Redfish接口 /redfish/v1/Systems/{System_id}/Actions/ComputerSystem.Reset 中,NMI被定义为一种重启类型,其作用是“触发不可屏蔽中断”。
当通过Redfish接口执行NMI操作时,会产生以下效果:
从知识图谱信息可见,fructrl组件中明确支持Nmi作为电源控制类型:
PowerCtrlType: Nmi 中断
这表明系统底层确实支持NMI操作,且可通过BMC的fructrl服务进行控制。
JD仓库中通过以下代码显式禁止了NMI操作:
function m.check_before_reset(type)
if type == 'Nmi' then
error(base_msg.ActionParameterNotSupported(type, 'ComputerSystem.Reset'))
else
return true
end
end
ForceRestart、GracefulShutdown)可满足绝大多数需求对于需要类似功能的场景,建议使用以下更安全的方式:
| 需求场景 | 推荐方式 | Redfish参数 |
|---|---|---|
| 紧急重启服务器 | ForceRestart |
强制重启,但相对可控 |
| 安全关机再启动 | ForcePowerCycle |
强制断电再上电 |
| 正常关机重启 | GracefulShutdown + On |
标准重启流程 |
NMI重启因其“不可屏蔽”的特性,虽然在极端故障情况下非常有用,但也带来了极高的风险。JD仓库中专门禁止此操作是为了:
这种设计体现了从“技术可行性”到“工程实用性”的转变,将高风险功能保留在调试工具中,而不在常规管理接口中暴露。
相关链接:
1.明白了,谢谢你
2.如果这是JD客户之前的诉求的话那我理解了,因为我现在也在做JD的项目,里面要求要开这个功能,我把这段代码删除就可以了吧
3.这个咋确定哇
这得看你要怎么适配: