想咨询一下 openUBMC 中 SOL dump / systemcom 的实现机制,重点是它是否属于非易失性存储,以及 BMC 重启后的保留行为。
我这边通过 Redfish 测试的接口是:
- ExportSerialPortData
- 路径:
/redfish/v1/Managers/1/DiagnosticService/Actions/DiagnosticService.ExportSerialPortData
导出后得到的是 sol_dump.tar.gz,里面是 systemcom.dat。
目前我的测试现象如下:
- DiagnosticService 中可以看到:
- SerialPortDataEnabled = true
- SerialPortDataSize = 2097152
-
导出的 systemcom.dat 大小大约 2MB,里面能看到 BIOS 和部分 kernel 日志。
-
在服务器发生新的启动后,再次导出 systemcom.dat,旧日志内容会被新的启动日志覆盖一部分。
-
更关键的是,我这边观察到:
- 在 BMC 重启之后,再导出 SOL dump,之前的旧日志看起来被清空或被新的内容替换掉了
- 从现象上看,不像是稳定保存在真正的非易失性区域中
所以想确认几个问题:
- SOL dump / systemcom 是否设计上属于非易失性存储?
- SerialPortDataSize=2097152 是否就是实际的 SOL 环形缓冲区大小?
- 当日志区写满以后,覆盖机制是否为 FIFO?
- “非易失性保存 SOL 日志”的定义,是否包括 BMC 重启后日志仍然保留?
- 如果 BMC 重启后 systemcom 日志丢失,这是否是已知限制、当前实现如此,还是异常行为?