首页/系统/服务器硬件与 RAID 速查/BMC 时间与 SEL 时间戳校准
带外管理72 条

BMC 时间与 SEL 时间戳校准

SEL 事件时间取自 BMC 时钟:偏差会误导故障排查;用 sel time get/set 校准,长期方案是让 BMC 走 NTP 或纳入周期性校时。

BMC 时间与 SEL 时间戳

SEL 里每条事件的时间戳都来自 BMC 自己的实时时钟:这个时钟与主机操作系统相互独立,不会随操作系统校时。结果就是,如果 BMC 时间偏差半小时,SEL 里的故障时间与业务日志就会整体错位,排查时很容易把不相干的两件事关联起来。校准方式有两种:支持 NTP 的机型在管理界面配置时间源,不支持的老机型用 sel time set 周期兜底。

基本信息

适用平台支持 IPMI 的服务器 BMC
读取命令sel time get 获取当前 BMC 时间
设置命令sel time set 写入时间(格式随机型有差异)
时区约定统一口径,避免 UTC 与本地时间混用
持久性部分机型掉电后时钟漂移,需周期校准
验证方式设置后回读并与本机时间对比

典型使用场景

  • 排障前校准时间,确保 SEL 时间线可信
  • 新机上架时纳入标准配置,避免后续逐台补做
  • 周期性巡检:把时钟偏差作为一项检查指标
  • 取证与复盘:向厂商提交日志前确认时间基准
  • 老机型维护:为不支持 NTP 的机器建立兜底校时任务

读取与设置

读取与设置
# 读取 BMC 时间,并与本机时间对比量化偏差
ipmitool -I lanplus -H 10.0.0.10 -U admin -f /root/.ipmi_pass sel time get
date -u
# 设置 BMC 时间(格式随机型存在差异,先在测试机验证)
ipmitool -I lanplus -H 10.0.0.10 -U admin -f /root/.ipmi_pass sel time set '10/13/2026 09:00:00'
# 设置后回读,确认生效
ipmitool -I lanplus -H 10.0.0.10 -U admin -f /root/.ipmi_pass sel time get
# 巡检脚本化:把偏差结果写入台账,超过阈值即告警

核对项

核对项方法判定要点
当前偏差sel time get 与本机时间对比秒级可接受,分钟级必须处理
时区口径确认界面与运维约定一致UTC 与本地混用会造成固定偏移
同步方式NTP 或周期任务有 NTP 优先用 NTP,脚本仅作兜底
生效验证设置后回读未回读就不算配置完成
周期检查纳入日巡检或周巡检漂移是渐进的,需要周期性发现
可以把「BMC 时间与标准时间的偏差」写进日常巡检:超过阈值的机器自动生成工单,比事后追查时间线省事得多。
把 BMC 时间往回调会造成 SEL 中事件时间倒序,历史记录的可信度随之下降;校时优先采用渐进方式,并在记录中注明调整前后的时间。

易错点

  • 把 BMC 时间当 UTC 处理:与本地日志相差固定偏移,时间线整体错位
  • 只校一次就不管:漂移累积后时间戳再次失真
  • 设置后不回读:格式或权限问题导致未生效,却以为已完成校准
  • 时区口径不统一:同一机房里不同机器的时间语义不一致,跨机对比失效

数据来源与参考

  • ipmitool 手册(sel time)
  • 厂商 BMC 文档(NTP 支持)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌