标签归档:时间同步

时间同步客户端 – Chrony

Centos7.x中已经默认安装此时间同步客户端。

安装Chrony:

#ubuntu/debian:
apt-get install chrony

#Centos/redhat
yum install chrony

时间服务器删除添加:

#删除默认的Server
sed -i "/server/d" /etc/chrony.conf

#添加
#打开/etc/chrony.conf,新增一行:
server ntp.aliyun.com iburst

重启并检查:

/etc/init.d/chronyd restart
#或
systemctl restart chronyd

#查看是否正常
chronyc tracking

Reference ID    : CB6B0658 (203.107.6.88)
Stratum         : 3
Ref time (UTC)  : Mon Mar 12 02:01:35 2018
System time     : 0.000003723 seconds fast of NTP time
Last offset     : -0.003573318 seconds
RMS offset      : 0.003573318 seconds
Frequency       : 1.765 ppm slow
Residual freq   : +55.304 ppm
Skew            : 6.448 ppm
Root delay      : 0.064887173 seconds
Root dispersion : 0.001230678 seconds
Update interval : 2.1 seconds
Leap status     : Normal

其它说明—————————————————————–

rpm -qa | grep chrony
chrony-2.1.1-4.el7.centos.x86_64

rpm -ql chrony-2.1.1-4.el7.centos.x86_64
/etc/NetworkManager/dispatcher.d/20-chrony
/etc/chrony.conf   *****
/etc/chrony.keys
/etc/dhcp/dhclient.d/chrony.sh
/etc/logrotate.d/chrony
/usr/bin/chronyc  *****
/usr/lib/systemd/ntp-units.d/50-chronyd.list
/usr/lib/systemd/system/chrony-dnssrv@.service
/usr/lib/systemd/system/chrony-dnssrv@.timer
/usr/lib/systemd/system/chrony-wait.service
/usr/lib/systemd/system/chronyd.service
/usr/libexec/chrony-helper
/usr/sbin/chronyd  *****
/var/lib/chrony
/var/lib/chrony/drift
/var/lib/chrony/rtc
/var/log/chrony

主要三个文件,/etc/chrony.conf配置,/usr/bin/chronyc是客户端工具,/usr/sbin/chronyd是后台进程(使用/usr/lib/systemd/system/chronyd.service来管理)。

当Chrony启动时,它会读取/etc/chrony.conf配置文件中的设置。配置参数:

1 server – 该参数可以多次用于添加时钟服务器,必须以”server “格式使用。一般而言,你想添加多少服务器,就可以添加多少服务器。

    server 0.centos.pool.ntp.org
    server 3.europe.pool.ntp.org

2 stratumweight – stratumweight指令设置当chronyd从可用源中选择同步源时,每个层应该添加多少距离到同步距离。默认情况下,CentOS中设置为0,让chronyd在选择源时忽略源的层级。

3 driftfile – chronyd程序的主要行为之一,就是根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿,甚至可能的话,会从时钟服务器获得较好的估值。

4 rtcsync – rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)。

5 allow / deny – 这里你可以指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器。

    allow 192.168.4.5
    deny 192.168/16

6 cmdallow / cmddeny – 跟上面相类似,只是你可以指定哪个IP地址或哪台主机可以通过chronyd使用控制命令

7 bindcmdaddress – 该指令允许你限制chronyd监听哪个网络接口的命令包(由chronyc执行)。该指令通过cmddeny机制提供了一个除上述限制以外可用的额外的访问控制等级。

    bindcmdaddress 127.0.0.1
    bindcmdaddress ::1

8 makestep – 通常,chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时步进调整系统时钟,但只有在因为chronyd启动时间超过指定限制(可使用负值来禁用限制),没有更多时钟更新时才生效。

也可以通过运行chronyc命令来修改设置,命令如下:
1 accheck – 检查NTP访问是否对特定主机可用
2 activity – 该命令会显示有多少NTP源在线/离线

chronyc> activity 
200 OK
4 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

3 add server – 手动添加一台新的NTP服务器。
4 clients – 在客户端报告已访问到服务器
5 delete – 手动移除NTP服务器或对等服务器
6 settime – 手动设置守护进程时间
7 tracking – 显示系统时间信息

chronyc> tracking
Reference ID    : 38.126.113.10 (38.126.113.10)
Stratum         : 3
Ref time (UTC)  : Mon Apr 24 06:29:55 2017
System time     : 0.000244395 seconds slow of NTP time
Last offset     : -0.000066831 seconds
RMS offset      : 0.000231604 seconds
Frequency       : 18.263 ppm fast
Residual freq   : -0.038 ppm
Skew            : 0.126 ppm
Root delay      : 0.012766 seconds
Root dispersion : 0.007974 seconds
Update interval : 518.7 seconds
Leap status     : Normal