1.目标
主要描述现场部署中NTP服务器的所在位置及安装指导。
2.简介
由于Linux系统时钟偏差的存在,所以为了避免主机时间因为长期运作下所导致的时间偏差,就需要进行时间同步的工作。我们主要以ntpd来进行搭建ntp服务器。
3.NTP服务器部署
在现场部署时,所有服务器(NTP Client)向NTP Server进行时间同步,NTP Server再向上级NTP Server同步。
4.NTP搭建
4.1 安装
下载地址:http://www.ntp.org/downloads.html
4.2 服务器设置
a)关闭防火墙或防火墙放开UDP port 123(123为ntpd服务端口)。
b)编辑/etc/ntp.conf文件,加入上级ntp server的地址。
[root@Ser ~]# vim /etc/ntp.conf
server 220.130.158.71 prefer <==以这部主机为最优先
server 59.124.196.83
server 59.124.196.84
fudge 127.127.1.0 stratum 10
c)修改文件/etc/sysconfig/ntpd
把OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
改为OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
d)保存退出后,重启ntpd
[root@Ser ~]# service ntpd restart
Shutting down ntpd: [ OK ]
Starting ntpd: [ OK ]
4.3 客户端设置
a)编辑/etc/ntp.conf文件,加入ntp server的地址。
[root@Cli ~]# vim /etc/ntp.conf
server 192.168.3.3 prefer
b)修改文件/etc/sysconfig/ntpd
把OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
改为OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
c)保存退出后,重启ntpd
[root@Cli ~]# service ntpd restart
Shutting down ntpd: [ OK ]
Starting ntpd: [ OK ]
4.4 状态检查
[root@Cli ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
222.197.165.167 .INIT. 16 u - 1024 0 0.000 0.000 0.000 (上级server无响应, 将一直处于INIT状态)
*clock.via.net 128.138.141.172 2 u 103 128 367 167.407 15.872 11.712 (正在使用的server)
+ntp-nasa.arc.na 192.58.23.162 2 u 114 128 377 253.601 -45.719 34.248 (有响应的候选server)
+133.100.11.8 133.100.53.51 2 u 239 128 376 307.891 14.952 19.504 (有响应的候选server)
ntpq –p可以列出目前我们的NTP与相关的上层NTP的状态,字段解释:
a)remote: NTP主机IP或主机名称
- * 响应的NTP服务器和最精确的服务器,代表目前正在使用的地址。
- + 响应这个查询请求的NTP服务器,代表作为下一个提供时间更新的候选者。
b)refid: remote参考的上一层NTP主机的地址
c)st: remote远程服务器的级别.由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端.所以服务器从高到低级别可以设定为1-16.为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的
d)when: 上次同步后经历的时间
e)poll: 下次同步时间的间隔
f)reach: 已经向上层NTP服务器同步的次数
g)delay: 网络传输过程中的延时,往返时间,单位毫秒
h)offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和ntp服务器的时间越接近
i)jitter: 这是一个用来做统计的值.它统计了在特定个连续的连接数里offset的分布情况.简单地说这个数值的绝对值越小,主机的时间就越精确
5.多个上级选择顺序
当配置多个ntp server时,同步顺序如下:
1)标有prefer的server地址优先级最高。当地址不可用时将进行下面的顺序同步。
2)远程服务器的级别st越小,优先级越高。
3)同级别st的多个server,延时delay越小优先级越高。
6.其他说明
ntpd服务的方式有两种策略,一种是平滑、缓慢的渐进式调整(adjusts the clock in small steps所谓的微调);一种是步进式调整(跳跃式调整)。两种策略的区别就在于,微调方式在启动NTP服务时加了个“-x”的参数,而默认的是不加“-x”参数。
假如使用了-x选项,那么ntpd只做微调,不跳跃调整时间,但是要注意,-x参数的负作用:当时钟差大的时候,同步时间将花费很长的时间。-x也有一个阈值,就是600s,当系统时钟与标准时间差距大于600s时,ntpd会使用较大“步进值”的方式来调整时间,将时钟“步进”调整到正确时间。
假如不使用-x选项,那么ntpd在时钟差距小于128ms时,使用微调方式调整时间,当时差大于128ms时,使用“跳跃”式调整。
这两种方式都会在本地时钟与远端的NTP服务器时钟相差大于1000s时,ntpd会停止工作。在启动NTP时加了参数“-g”就可以忽略1000S的问题。
7.常见问题排查
常见问题是和上级NTP同步失败,排查方法如下:
1)停掉ntpd
service ntpd stop
2)使用调试模式检查到上级NTP服务器的情况。
执行命令ntpdate –d 221.130.175.25
3)若调试模式到上级NTP同步正常,那说明ntpd等的时间不够长(第一次同步需要10-30分钟左右去同步)
4)若调试模式下到上级异常,更换ntp协议版本查看是否正常,目前版本有1-4(默认为版本4)。
ntpdate -o 3 221.130.175.253
若更换协议正常,需要修改配置文件后重启,在/etc/ntp.conf中改为
server 221.130.175.253 prefer version 3
server 221.130.175.254 version 3
5)若依旧异常,使用ping检查到上级的带宽是否通,若不通需弄通网络。
6)更换为局域网内ntp服务器同步是否成功,检查是否软件版本所致。
8.公网NTP服务地址
国内高校NTP服务器:
ntp.sjtu.edu.cn 上海交通大学网络中心NTP服务器
s2d.time.edu.cn 西南地区网络中心 NTP服务器
s2e.time.edu.cn 西北地区网络中心 NTP服务器
s2f.time.edu.cn 东北地区网络中心 NTP服务器
s2g.time.edu.cn 华东南地区网络中心 NTP服务器
国外NTP服务器
ntp.nasa.gov 美国
133.100.11.8 日本 福冈大学
time-a.nist.gov 129.6.15.28 NIST,马里兰州盖瑟斯堡
time-b.nist.gov 129.6.15.29 NIST, 马里兰州盖瑟斯堡
time-a.timefreq.bldrdoc.gov 132.163.4.101 NIST, 科罗拉多州博尔德
time-b.timefreq.bldrdoc.gov 132.163.4.102 NIST, 科罗拉多州博尔德
time-c.timefreq.bldrdoc.gov 132.163.4.103 NIST, 科罗拉多州博尔德
utcnist.colorado.edu 128.138.140.44 科罗拉多大学,博尔德
time.nist.gov 192.43.244.18 NCAR, 科罗拉多州博尔德
nist1-sj.glassey.com 207.126.98.204 Abovenet, 加利福尼亚州圣何塞
clock.via.net
130.149.17.21
time.asia.apple.com