初始启动
这一页讨论了使用ntpd-标准NTP查询程序进行ntpd程序监控和调试的技巧,不管是在本地服务器还是远端机器。在特定情况下ntpdc,也是很有效,但是它的使用并不在这里涉及。ntpq程序实现了在ntp文档RFC1305,附录A所规定的功能。是用来读写NTPv4中定义的变量(指导着标准process)。另外程序可以用来发送远端配置命令到服务器。
ntpd后台程序可以在两种模式下运行,这就要看有没有-d命令行选项。没有这个选项的话,后台程序就会脱离控制终端并且自动运行。当存在-d选项的时候,后台不会脱离终端,并且会产生一些有利于调试的打印信息。通常这些打印信息需要参考源码。然而,一个-d选项只会产生一些神秘的输出,但是当调试配置和网络问题的时候将会十分有用。
有些问题是十分明显的,这当进程一开启就能看出来。最常见的就是在UNIX的/etc/services中缺少UDP端口。注意NTP不会使用任何TCP协议。也需要注意NTP源端口目的端口都是123。这些事实应该给防火墙管理员指出来。
其他问题在系统日志中是很明显的,通常在启动时的打印信息就可以看出来,还有通过有些神秘的初始化数据和计算的精确值也可以显示。在启动时和通常的操作中的事件消息被发送到可选的protostats监控文件中,就如在事件消息和状态字页描述的那样。错误信息会发到系统log中,就如ntpd系统日志消息页展示的那样。在真正紧急的事件时,后台会发送终端错误信息到系统日志并且停止操作。
最常见的问题是不正确的DNS域名。检查每一个配置文件使用到的DNS域名和每一个UNIX ping命令使用的地址。UNIX traceroute或者windows tracert工具可以用来验证部分或者全部路径的有效性。大多数问题报到NTP新闻组的并不是NTP问题,而是网络或者防火墙的配置问题。
除非使用iburst选项,客户端正常需要花费几分钟来同步到服务器。如果客户端客户端在启动时恰巧与ntp服务器相差超过1000秒,那么后台程序将会退出并且给系统日志发送一条消息,来告诉操作者手动将时间设置到1000s以内并且重启。如果时间相差在1000秒以内但是大于128秒,步进矫正将会发生,并且进程将会自动重启。
当第一次启动并且频率文件不存在时,后台为了调整频率将会进入到一个特殊的模式。这将会花费900s,这段时间时间并不会同步。当矫正完全时,后台会创建频率文件并且进入正常模式来分期偿还剩余的偏差。
ntpd命令pe,as,rv正常来说对于验证正确的操作和评估最小性能。pe命令展示了一个列表来展示每一次协商的DNS域名和IP地址伴随一些状态字和统计信息。每一行的第一个字符是标记字符,展示了哪一次写上是备选项,谁是系统对端。编码在对端状态字的select域。
as命令展示了一系列协商和协商标示符。注意条件那一栏,这反映了状态字符码。rv命令展示了系统变量,包括系统状态字。rv assocID命令,这里的assocID是协商ID,展示了对端的变量,包括对端状态字。注意,除了明确的日历日期,时间是以毫秒计算,频率是以PPM。
关于系统对端,时钟变量在面板上展示的这些的详细信息超出了这页的范围。然而,详细的介绍在NTPv4协议文档里。以下这些观察将会在调试和监控的时候非常有帮助。
1.如果服务器已经成功同步了源之后,leap对端变量将不是3。同样客户端也成功同步到服务器的话leap系统变量将不会是3.