NTP服务启动慢的原因
如题,NTP的服务启动为什么会慢呢?
其实翻翻日志就很明白了:
1 2 3 4 5 6 7 8 9 |
[root@cobbler-server ~]# tail -f /var/log/messages Mar 5 17:45:06 cobbler-server ntpd_initres[19456]: host name not found: 0.rhel.pool.ntp.org Mar 5 17:45:06 cobbler-server ntpd_initres[19456]: couldn't resolve `0.rhel.pool.ntp.org', giving up on it Mar 5 17:45:16 cobbler-server ntpd_initres[19456]: host name not found: 1.rhel.pool.ntp.org Mar 5 17:45:16 cobbler-server ntpd_initres[19456]: couldn't resolve `1.rhel.pool.ntp.org', giving up on it Mar 5 17:45:26 cobbler-server ntpd_initres[19456]: host name not found: 2.rhel.pool.ntp.org Mar 5 17:45:26 cobbler-server ntpd_initres[19456]: couldn't resolve `2.rhel.pool.ntp.org', giving up on it Mar 5 17:45:36 cobbler-server ntpd_initres[19456]: host name not found: s1b.time.edu.cn Mar 5 17:45:36 cobbler-server ntpd_initres[19456]: couldn't resolve `s1b.time.edu.cn', giving up on it |
日志报错中的类似“0.rhel.pool.ntp.org”的条目是不是很眼熟?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@cobbler-server ~]# cat /etc/ntp.conf | grep --color server # Use public servers from the pool.ntp.org project. server 0.rhel.pool.ntp.org server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org #broadcast 192.168.1.255 key 42 # broadcast server #broadcast 224.0.1.1 key 42 # multicast server #manycastserver 239.255.254.254 # manycast server #server 127.127.1.0 # local clock server 192.168.232.130 prefer server 127.127.1.0 # local clock #server time-nw.nist.gov #server s1b.time.edu.cn [root@cobbler-server ~]# |
至此,相信你明白了为什么NTP服务启动慢了:
因为你声明的一些时间服务器(通过“server”条目声明的)不能被找到、不能被解析,当然NTP启动的时候会不停的尝试,也就自然费时间了。
所以,解决方法很简单,确认你声明的时间服务器可达,如果不可达,可以注释掉,或者删掉。
对于局域网来说,公共的时间服务器都可以干掉。
比如,这两条命令就很受用:
sed -i “/server/s/^server/#server/g” $sys_file_ntp_conf
sed -i “/::1/s/^restrict/#restrict/g” $sys_file_ntp_conf
在你配置ntp.conf前执行它们,你就可以放心的在配置文件最后追加你确定的任何配置了。
最后,一个正常的NTP服务启动的日志是这样的:
发起:service ntpd start
1 2 3 4 5 6 7 8 9 10 |
Mar 5 18:30:19 cobbler-server ntpd[31011]: ntpd 4.2.2p1@1.1570-o Tue Oct 25 12:54:50 UTC 2011 (1) Mar 5 18:30:19 cobbler-server ntpd[31012]: precision = 1.000 usec Mar 5 18:30:19 cobbler-server ntpd[31012]: Listening on interface wildcard, 0.0.0.0#123 Disabled Mar 5 18:30:19 cobbler-server ntpd[31012]: Listening on interface lo, 127.0.0.1#123 Enabled Mar 5 18:30:19 cobbler-server ntpd[31012]: Listening on interface eth0, 192.168.232.139#123 Enabled Mar 5 18:30:19 cobbler-server ntpd[31012]: kernel time sync status 0040 Mar 5 18:30:19 cobbler-server ntpd[31012]: frequency initialized 0.000 PPM from /var/lib/ntp/drift Mar 5 18:33:38 cobbler-server ntpd[31012]: synchronized to LOCAL(0), stratum 5 Mar 5 18:33:38 cobbler-server ntpd[31012]: kernel time sync enabled 0001 |
发起:service ntpd stop
1 |
Mar 5 17:59:45 cobbler-server ntpd[969]: ntpd exiting on signal 15 |
最后,要注意的是:同一网段里,最好不要有多台NTP服务器。
否则,有可能出现的情况是:NTPD服务异常终止。
并且,后台日志中,你会看到这样的记录:
1 |
Mar 5 18:24:17 cobbler-server ntpd[15635]: time correction of -28792 seconds exceeds sanity limit (1000); set clock manually to the correct UTC time. |
————————————————————
Done。