一、描述

    1.1 问题:最近经研发反映发现有一台服务器的时间秒数频繁发生向前跳跃以及倒退现象 ,影响到了业务的运行,最后采用chrony解决了这个问题。

    1.2 系统:Centos6.5


二、安装以及配置

    2.1安装chrony

        yum install chrony -y    #centos6.5默认使用的是ntpd服务(7.0之后默认是chrony),chrony需要单独安装,centos自带的源(CentOS-Base.repo)里有chrony安装包

     2.2配置chrony

   将原有的ntp服务器的地址注释更换为阿里的公共ntp服务器,server用来定义ntp服务器,可以添加多个

        图三.png

        

        makestep :chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟

   这个参数正好适用于笔者遇到的情况,18行为笔者修改的配置,17行是默认配置,makestep的第一个数字代表时间偏差几秒进行校对,后面一个数字代表前几次。时间偏差10秒,前三次强制

   校对,第二个数字修改为负数为不限制次数,也就是笔者修改后的18行,时间偏差超过0.1秒。强制进行校对

   allow:允许哪个网段的机器可以连接到扮演时钟服务器的机器,allow后面无参数代表不限制

        图一.png


        启动服务(chrony由chronyd和chronyc组成,chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步)

        图二.png

        

        chronyc sources或者chronyc sources -v 用于查看时间服务器它本身的上游ntp服务器通信情况

   ^* 正在使用的ntp服务    ^+ 已经连接上,作为候补服务器      ^? 不可达

        图三.png

        

        检查配置,只有NTP synchronized值为yes的时候ntp服务器才可以为其他机器同步时间(这个命令在centos6.5上貌似没有,并未深究)

        image.png


        测试(chrony兼容了ntpdate,在客户端也可以使用ntpdate来调整时间)

        吐司.png

        


备注:

  开始在测试中总是出现如下错误

  突兀.png

      解决办法:一般是防火墙没有开放udp123端口,或者是ntp服务器自己本身没有同步完时间。

  笔者也遇到了这个情况排查了很久也没找到问题,最后经过重启恢复正常(笔者使用的机器为私有云虚机,经常发生一些莫名其妙的事情)


      笔者也是第一次写帖子,如果有什么地方没有想到还望见谅,另外就是chronyc还有很多命令笔者并未列出,如果想要研究的话可以自行百度看一下