为什么雨云的机器时钟会自己跑偏
直接说结论:虚拟化环境下的时钟几乎都会漂,雨云的 KVM 实例也不例外。宿主把 CPU 时间片切给很多台虚拟机,guest 靠”数 tick”估时间,一旦宿主负载高,或者发生了热迁移、休眠恢复,guest 的时钟就会落后或超前。我手上几台香港、美国的雨云节点,刚重装完系统跑一两天,timedatectl 看就能差出几秒甚至十几秒。很多 VPS测评 只看 CPU 和带宽,这种底层时钟稳定性反而没人提,但它其实拖着后面一堆事。
时钟不准到底会捅什么篓子
这不是”显示不好看”的小事:
- TLS 证书校验失败:证书本身有时间窗,机器时间慢了,Nginx 握手时可能直接报证书还没生效或已过期。那篇 HTTPS 证书自动续期里讲的 acme.sh,如果系统时间错了,续期请求也会被 CA 拒掉。
- 日志对不上:多台机器收日志做集中排查时,时间不准就没法按真实先后排序,排障直接瞎。
- 数据库主从乱序:MySQL、PostgreSQL 的复制依赖事务时间戳,时钟跳变可能让从库应用顺序错乱。
- 二次验证失效:TOTP 动态码是按 30 秒窗口算的,差出 30 秒以上 Google Authenticator 就死活不对。
- cron 跑错点:定时任务按本地时间触发,时间漂了,备份可能在业务高峰而不是凌晨跑。WordPress 的定时发布、登录限流也吃系统时间,漂了会诡异地发不出定时文章。
先确认你的机器到底在不在漂
别凭感觉。两条命令:
timedatectl status
看 System clock synchronized 是 yes 还是 no,以及 RTC 那一行。
chronyc tracking
Last offset 和 RMS offset 就是当前偏移量,单位秒。超过 0.1 秒我就认为该处理了;超过 1 秒基本已经在中招边缘。雨云默认有的镜像带 systemd-timesyncd,有的啥都没装,表现完全看运气,所以我习惯手动换成 chrony。
装 chrony 并把时钟钉死
Debian/Ubuntu:
apt update && apt install -y chrony
CentOS/Rocky:
dnf install -y chrony
配置文件一般在 /etc/chrony/chrony.conf,把 pool 行换成靠谱的公网源,加 iburst 让启动后快速对齐:
pool cn.pool.ntp.org iburst
pool time.google.com iburst
国内机房节点优先用 cn.pool.ntp.org、ntp.tuna.tsinghua.edu.cn 这类境内源,延迟低也更稳;香港、美国这些免备案节点用 Google 或 Cloudflare 的源(time.cloudflare.com)连通性更好。改完重启:
systemctl enable --now chrony
chronyc tracking
等一两分钟,看 Last offset 收敛到接近 0。想让漂移彻底”钉死”而不是来回晃,可以加一行 makestep 1.0 3,意思是启动后前 3 次更新里允许一次性校正最大 1 秒,对付刚重装完差出十几秒的机器很管用。
它和你已经跑的服务怎么衔接
时钟准了,之前那些玄学问题会一起消失:
- 集中日志:rsyslog 收上来的多台机器日志终于能按真实时间排,排障不再各说各话(详见那篇多台雨云VPS日志收拢)。
- HTTPS 证书:acme.sh 续期不再因为时间窗错乱被拒(证书自动续期那篇的前提就是系统时间得对)。
- 数据库:MySQL、PostgreSQL 的主从复制、备份时间点都不再错位(MySQL 安装备份调优那篇里的定时 dump 也依赖准确时钟)。
- 宝塔 / 1Panel 面板:面板里显示的”系统时间”如果跟实际差很多,往往是底层时钟在漂,钉死后面板时间自动就对了,不用在面板里手动改。
几点实际的提醒
- 别拿 VPS 当 NTP 服务器对外提供服务,chrony 默认只允许自己同步、不开放给外网,防火墙也别把 123/udp 放开。
- 香港VPS、美国VPS 这些免备案VPS 节点虽然价格便宜、性价比高,但跨时区机器的时区要显式设对:
timedatectl set-timezone Asia/Shanghai,否则日志和 cron 会按 UTC 跑,你本地看一脸懵。 - 如果机器长期休眠或关机(比如按需起的测试机),重启后第一次同步偏移可能很大,靠
makestep兜底即可,别手动物理改时间,容易把正在跑的数据库搞崩。
最后,如果你还没在雨云上开机器,香港VPS、美国VPS 这类免备案VPS 节点带宽稳,跑 WordPress、数据库和建站都合适,用雨云优惠码 admin01 五折新开一台小规格先把这套时钟校准跑通,比事后排障省事得多。
使用雨云云服务器及本文所述的时间同步配置,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关规定,仅对你拥有合法使用权的服务器进行运维操作,不将相关能力用于突破国家网络管控或任何违法违规用途。






