网络时间协议 – NTP – 是运行在传输层 123 号端口的 UDP 协议,它允许计算机通过网络同步准确时间。随着时间的流逝,计算机内部时间会出现漂移,这会导致时间不一致问题,尤其是对于服务器和客户端日志文件,或者你想要复制服务器的资源或数据库。
下面的实验均在centOS7下进行:
安装ntp服务
yum install ntp -y
配置ntp服务器
到官网ntp公共服务器池,寻找你所在洲的ntp服务器列表。而后在ntp守护进程的主配置文件/etc/ntp.conf中,注释掉来自pool.ntp.org项目的公共服务器默认列表,并用所在洲的真实服务器来替代。
# Use public servers from the pool.ntp.org project.
# 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
server 0.hk.pool.ntp.org
server 1.hk.pool.ntp.org
server 2.hk.pool.ntp.org
server 3.hk.pool.ntp.org
允许本网络的客户端与这台服务器同步时间。同样修改配置文件。其中restrict语句控制允许哪些网络查询和同步时间,请根据需要替换网络IP。
nomodify notrap意味着不允许你的客户端配置服务器活着作为同步时间的节点。
# Hosts on local network are less restricted.
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
如果你需要用于错误处理的额外信息,以防你的ntp守护进程出现问题,可添加一个logfile语句,将所有ntp服务器问题定向到一个指定的日志文件中去。
logfile /var/log/ntp.log
添加防火墙规则并启用ntp服务
NTP 服务使用 OSI 传输层(第四层)的 123 号 UDP 端口。它是为了避免可变延迟的影响所特别设计的。要在 RHEL/CentOS 7 中开放这个端口,可以对 Firewalld 服务使用下面的命令。
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
你在防火墙中开放了 123 号端口之后,启动 NTP 服务器并确保系统范围内可用。用下面的命令管理服务。
systemctl start ntpd
systemctl enable ntpd
systemctl status ntpd
重启ntp服务,使配置生效。
systemctl restart ntpd
查看ntp同步状态
使用如下命令查看节点同步状态
[root@controller ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
218.189.210.3 118.143.17.82 2 u 7 64 1 101.974 -33.967 0.000
209.58.185.100 .INIT. 16 u - 64 0 0.000 0.000 0.000
103-226-213-30- .INIT. 16 u - 64 0 0.000 0.000 0.000
以下是几个字段的含义:
remote:即NTP主机的IP或主机名称。
注意最左边的符号,如果由“+”则代表目前正在作用钟的上层NTP,
如果是“*”则表示也有连上线,不过是作为次要联机的NTP主机。
refid:参考的上一层NTP主机的地址
st:即stratum阶层
when:几秒前曾做过时间同步更新的操作
poll:下次更新在几秒之后
reach:已经向上层NTP服务器要求更新的次数
delay:网络传输过程钟延迟的时间
offset:时间补偿的结果
jitter:Linux系统时间与BIOS硬件时间的差异时间
查询你的ntp服务器同步信息
[root@controller ~]# ntpdate -q 0.hk.pool.ntp.org
server 203.95.213.129, stratum 2, offset -0.020632, delay 0.06477
server 209.58.185.100, stratum 2, offset -0.011884, delay 0.06216
server 218.189.210.4, stratum 0, offset 0.000000, delay 0.00000
server 218.189.210.3, stratum 2, offset -0.036728, delay 0.11096
6 Apr 12:51:43 ntpdate[10190]: adjust time server 209.58.185.100 offset -0.011884 sec