可以,但需要谨慎操作。 直接使用 hwclock -w 将系统时间写入硬件时钟(BIOS时间)是解决这个问题的关键步骤。
你首先需要确认,集群内其他所有主机的系统时间(由NTP同步)是准确且一致的。hwclock -w 的作用是让硬件时间“追上”准确的系统时间,从而避免下次重启时被错误的硬件时间覆盖。
根据H3C官方社区的信息,具体操作和注意事项如下:
确认系统时间:在所有CVK和CVM节点上,使用 date 命令确认系统时间已经通过NTP同步为正确时间。
执行写入命令:在需要修正的CVK或CVM节点后台,执行以下命令将系统时间写入BIOS:
重启相关服务:为使时间更改在CAS平台中完全生效,需要重启 cas_mon 服务:
验证结果:重启服务后,再次使用 hwclock 命令检查硬件时间是否已更新。
# CAS 巡检 CVK BIOS(RTC 硬件)与系统时间不一致处理总结
>
> 现象:CVK 系统时间已经被 NTP 校准正确,但主板 BIOS 硬件时钟(RTC)时间漂移,两者存在偏差,巡检告警。
> `hwclock -w`等价`hwclock --systohc`:**把已经正确的系统时间写入主板 BIOS 硬件时钟 RTC**。
## 前提条件(必须先确认)
1. ✅CVK**系统时间已经 NTP 同步正确**(`date`查看,集群所有 CVK、CVM 系统时间误差控制在 1‑2 秒内);**系统时间不准绝对不能执行 hwclock‑w,会把错误时间刷进 BIOS**。
2. ✅NTP 服务运行正常,集群内所有节点系统时间统一;
3. 业务尽量避开高峰期;该操作**不修改系统时间,只刷硬件 RTC,不会跳变业务时间,对运行中虚拟机无直接冲击**。
## 操作步骤(单台 CVK,root 登录后台)
```
#1、核对系统时间
date
#2、查看BIOS硬件时钟时间
hwclock -r
#3、系统时间确认无误后,把系统时间写入BIOS硬件时钟
hwclock -w
#4、校验是否写入成功,再次对比两个时间
date
hwclock -r
```
>
> 集群多台 CVK,**逐台执行,不要并行批量脚本同时刷**,全部做完之后登录 CVM 页面,确认集群时间告警消除。
## ⚠️关键注意事项
1. **不要执行 hwclock -s(--hctosys)**:这条是把 BIOS 硬件时间强制覆盖系统时间,如果 BIOS 时间是错的,会直接把 CVK 系统时间改乱,引发集群 HA、快照、备份、日志全部异常。
2. CAS 的 chrony/NTP 服务默认有`rtcsync`机制,会定期自动回写硬件时钟;巡检出现不一致,一般为主板 CMOS 电池老化漂移,偶尔告警,**修复完建议后续留意是否反复漂移;反复漂移需要更换服务器主板电池**。
3. CVM 管理节点同样需要检查:`date`、`hwclock -r`,如果 CVM 也存在硬件‑系统时间不一致,CVM 节点也要执行`hwclock -w`。
4. 时区确认:`timedatectl`确认硬件时钟使用 UTC,不要设置为本地时间,否则重启后时间差 8 小时。
5. 刷完硬件时钟**不需要重启 CVK 主机,不需要重启虚拟机**;但是主机如果以后发生断电重启,会读取 BIOS 硬件时钟,修复后就会读到正确时间。
## 后续验证
1. CVM 界面:【系统管理‑时间设置】,查看所有主机系统时间;
2. 确认巡检 “BIOS 与系统时间不一致” 告警清除;
3. 隔数天后复查:`hwclock -r`,若再次出现明显偏差,判定服务器 CMOS 电池故障,硬件报修更换电池。
## 踩坑速记
表格
| 命令 | 作用 | 是否这里要用 |
| --- | --- | --- |
| `hwclock -w` | 系统时间 → BIOS 硬件时钟 | ✅本次修复用 |
| `hwclock -s` | BIOS 硬件时钟 → 系统时间 | ❌严禁随便执行,极易搞乱集群时间 |
>
> 一句话:**先保证 date 看到的系统时间是准的,再 hwclock‑w 刷 BIOS;千万不要反过来拿错误 BIOS 时间覆盖系统时间。**
如何查看NTP服务是否正常?
如何在多台CVK上执行该操作?
执行该操作会对系统造成什么影响?
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论