linux的时间服务原来是ntp,现在都用chrony,更快更稳定。
但实际使用时chrony有时同步不了,ntp就很直接。
chronyd和ntpd只能有一个

chronyc客户端 chronyd服务
https://chegva.com/3265.html
安装:yum install -y chronyd
修改配置: /etc/chronyd.conf
重启:systemctl restart chronyd
查看当前源设置:chronyc sources / chronyc sources -v 有时不准:
如连续两次执行得到的偏差不一样,第一次像是超时出错没取到值,一般偏差都会有一些,如果是0则大概率是有问题。[]中是上一次的偏差值:
image.png
另一次是刚开始有11us的偏移,date检查有10s左右,再多次检查发现确实是10s,再次证明chronyc sources不靠谱。
image.png

chronyc tracking查看当前系统时钟,是系统时钟,操作系统?主板?
chronyc sourcestats查看源状态,这里的值和时间偏差无关,偏差16秒,此图无类似数据
image.png
用date在两个服务器上检查时间,第一次相差16秒,最后检查时间同步成功。
猜想:chronyd大概60秒同步一次,可能触发了同步。1)date时间可能有延迟,chrony更及时 2)也有可能是chrony不准,date准。

强制同步时间:chronyc -a makestep
如果用date检查时间是否一致,会有一定时延后才会发现时间变为一致,不像ntpdate那么快速。可能和date的实现有关。
chronyc makestep:不加-a似乎没效果(centos7.6)。和man的说明不一致。执行后,用chronyc sources和date检查偏移仍然存在。
systemctl status chronyd检查服务状态发现,只是chronyd接收了一个指令,并没有马上执行同步。
image.png
一定时间后终于同步了
image.png

chronyc tracking也是很迷:
10秒的偏差没有显示。system time显示的fast of ntp time不知道是什么鬼。
image.png

总结:

如果想要马上强制执行时间同步,需要等待一个周期,约1分钟
用systemctl status chronyd来观察实际执行情况。

ntpd服务端 ntp客户端
安装:yum install -y ntpd
同步:ntp -u servernameorip
ntp要和ntpd通讯,不能和chronyd通讯