1.
简介与目标
说明:本指南面向运维人员,目标是在日本 VPS 上实现准确且长期稳定的时间(日付)同步。
适用场景:日志一致性、证书校验、定时任务(cron)正确触发、分布式系统时间一致性。
2.
选型建议:为何优先使用 chrony
说明:chrony 对 VPS 启停、快启动和网络抖动更友好;比 ntpd 启动更快,比 systemd-timesyncd 更灵活。
结论:推荐在大多数 Linux VPS 上优先部署 chrony;轻量环境可用 systemd-timesyncd 或临时用 ntpdate。
3.
安装 chrony(Debian/Ubuntu、CentOS/RHEL)
Debian/Ubuntu:apt update && apt install -y chrony
CentOS/RHEL:yum install -y chrony 或 dnf install -y chrony(7/8 版本差别请按发行版选择)
检查服务:systemctl status chronyd 或 systemctl status chrony(发行版不同服务名略有差异)。
4.
配置 chrony 指向日本 NTP 服务器
备份:cp /etc/chrony/chrony.conf /etc/chrony/chrony.conf.bak
编辑 /etc/chrony/chrony.conf,替换或追加 server 行,例如:
server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
或使用 pool:pool ntp.jst.mfeed.ad.jp iburst
保存后重启:systemctl restart chronyd(或 systemctl restart chrony)。
5.
允许 NTP 端口(UDP 123)通过防火墙
firewalld 系统:firewall-cmd --add-service=ntp --permanent && firewall-cmd --reload
iptables:iptables -I OUTPUT -p udp --dport 123 -j ACCEPT && iptables -I INPUT -p udp --sport 123 -j ACCEPT(请持久化规则)
云厂商安全组:在控制台放通出站/入站 UDP 123(通常只需出站放行)。
6.
设置时区为日本标准时间(JST)
查看当前:timedatectl status 或 date
设置时区:timedatectl set-timezone Asia/Tokyo
验证:date 应显示 JST(UTC+9),timedatectl 显示 Local time 与 Time zone。
7.
一次性校时与硬件时钟同步
如果需要立刻校时:chronyc -a makestep 或 ntpdate -u ntp.nict.jp(若安装 ntpdate)
同步到硬件时钟:hwclock --systohc(将系统时间写入 RTC),在虚拟机上根据需要决定是否写入宿主机 RTC。
8.
验证同步状态的常用命令
chrony:chronyc tracking(显示偏移、频率、上次更新)
sources:chronyc sources -v(查看各 NTP 源状态与延迟)
system:timedatectl status、date、hwclock --show。若偏差小于几十毫秒为良好。
9.
系统服务与监控建议
开机自启:systemctl enable --now chronyd(或 chrony)
日志查看:journalctl -u chronyd -f 或 tail -n 200 /var/log/chrony/chrony.log(路径视发行版而定)
建议:设置简单监控(例如 Zabbix/Prometheus)定期抓取 chronyc tracking 的偏移值并报警。
10.
无 root 权限或被宿主机限制的替代方案
临时方案:使用 ntpdate 或 curl 调用第三方时间 API(不精确,仅作应急),示例:curl -sS 'http://worldtimeapi.org/api/timezone/Asia/Tokyo'。
与宿主联系:若宿主机封闭 UDP 123,请联系主机商开放或在控制台设置;也可在宿主处设置时间后由 VPS 获取。
11.
常见问题与排障要点
若同步失败:检查防火墙/安全组、DNS 是否能解析 ntp 服务器、是否能向 123/UDP 发包。
网络抖动:增加 iburst、multi-server 配置并启用 NTP 源池可以改善稳定性。
12.
优化建议与最佳实践
使用至少 3 个独立地理/网络的 NTP 源(优先日本或邻近国家),启用 iburst 与 maxsources 合理值。
记录变更:将时钟配置纳入 Ansible/Chef/Puppet 等配置管理并在变更时写入变更日志。
13.
问:为什么要在日本 VPS 上特别配置日本 NTP 服务器?
答:选择地理位置接近的 NTP 服务器可减少网络延迟与抖动,提升同步精度,确保日志时间、证书和跨地域系统协作的一致性。
14.
问:如果 VPS 无法访问 UDP/123,该如何保证时间正确?
答:可先用宿主或云厂商提供的时间同步机制(很多云平台在宿主层同步),或使用基于 HTTPS 的时间 API 作为临时方案;长期应请求运营商/宿主放通 UDP/123 或提供 NTP 网关。
15.
问:如何判断时间同步长期稳定并自动告警?
答:通过定期采集 chronyc tracking 的 offset 与 frequency,将偏差值发到监控系统并设置阈值报警;同时监控 chronyd 服务状态与日志异常。
来源:面向运维的日本vps日付同步工具推荐与部署说明