​ Chrony有两个核心组件，分别是：chronyd：是守护进程，主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率，并对此进行调整补偿。chronyc：提供一个用户界面，用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作，也可以在一台不同的远程计算机上工作。​ OS环境:10.28.204.65 客户端10.28.204.66 服务端​ CentOS Linux release 7.4.1708 (Core)​ 情况说明：两台机器都是内网，将204.66作为NTP时间服务器，204.65为NTP客户端到204.66上同步时间。1.安装Chrony​ 系统默认已经安装，如未安装，请执行以下命令安装：yum install chrony -y2.启动并加入开机自启动systemctl enable chronyd.service systemctl restart chronyd.service systemctl status chronyd.service3.Firewalld设置firewall-cmd --add-service=ntp --permanent firewall-cmd --reload​ 因NTP使用123/UDP端口协议，所以允许NTP服务即可。4.配置Chrony​ 以下是系统默认配置文件，我对此加以说明：# 使用pool.ntp.org项目中的公共服务器。以server开，理论上你想添加多少时间服务器都可以。 # Please consider joining the pool (http://www.pool.ntp.org/join.html). server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst # 根据实际时间计算出服务器增减时间的比率，然后记录到一个文件中，在系统重启后为系统做出最佳时间补偿调整。 driftfile /var/lib/chrony/drift # chronyd根据需求减慢或加速时间调整， # 在某些情况下系统时钟可能漂移过快，导致时间调整用时过长。 # 该指令强制chronyd调整时期，大于某个阀值时步进调整系统时钟。 # 只有在因chronyd启动时间超过指定的限制时（可使用负值来禁用限制）没有更多时钟更新时才生效。 makestep 1.0 3 # 将启用一个内核模式，在该模式中，系统时间每11分钟会拷贝到实时时钟（RTC）。 rtcsync # Enable hardware timestamping on all interfaces that support it. # 通过使用hwtimestamp指令启用硬件时间戳 #hwtimestamp eth0 #hwtimestamp eth1 #hwtimestamp * # Increase the minimum number of selectable sources required to adjust # the system clock. #minsources 2 # 指定一台主机、子网，或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器 #allow 192.168.0.0/16 #deny 192.168/16 # Serve time even if not synchronized to a time source. local stratum 10 # 指定包含NTP验证密钥的文件。 #keyfile /etc/chrony.keys # 指定日志文件的目录。 logdir /var/log/chrony # Select which information is logged. #log measurements statistics tracking5.设置时区​ 查看当前系统时区：timedatectl​ 显示结果如下：Local time: Fri 2018-2-29 13:31:04 CSTUniversal time: Fri 2018-2-29 05:31:04 UTCRTC time: Fri 2018-2-29 08:17:20Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yesNTP synchronized: yesRTC in local TZ: noDST active: n/a​ 如果你当前的时区不正确，请按照以下操作设置。查看所有可用的时区：timedatectl list-timezones筛选式查看在亚洲S开的上海可用时区：timedatectl list-timezones | grep -E "Asia/S.*"​ 结果下面这样：Asia/SakhalinAsia/SamarkandAsia/SeoulAsia/ShanghaiAsia/SingaporeAsia/Srednekolymsk​ 设置当前系统为Asia/Shanghai上海时区：timedatectl set-timezone Asia/Shanghai​ 设置完时区后，强制同步下系统时钟：chronyc -a makestep6.服务器集群之间的系统时间同步​ 在生产环境中，其网络都是内网结构，那么内网如何保证服务器之间的时间同步呢？其实这个问题很简单，只需要搭建一台内网时间服务器，然后让所有计算机都到服务端（10.28.204.66）去同步时间即可。​ 在服务端注释以下内容：#server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst​ 并添加以下内容：（表示与本机同步时间）server 10.28.204.66 iburst​ 如果NTP服务器还需要和互联网NTP服务器同步，再添加以下内容：server ntp.aliyun.com iburst server ntp.ntsc.ac.cn iburst​ 这样我们需求的一台内网时间服务器已经配置完毕。​ 同样在客户端注释掉其他server，并在客户端（10.28.204.65）添加以下：server 10.28.204.66 iburst​ 到此已经完成系统时间的同步。如有多台机器，操作也是如此。7.常用命令​ 查看时间同步源：chronyc sources -v #查看时间同步源状态： chronyc sourcestats -v #设置硬件时间 timedatectl set-local-rtc 1 #硬件时间默认为UTC 启用NTP时间同步： $ timedatectl set-ntp yes 校准时间服务器： $ chronyc tracking最后需要注意的是，配置完/etc/chrony.conf后，需重启chrony服务，否则可能会不生效。