Mac OS X系统默认是开启ntp服务的,也就是你可以使用任意一台安装了Mac OS的计算机作为ntp服务器,如果没有开启请参考我之前的这篇博文将其开启:http://asherwang.blog.51cto.com/11255017/1855135;我之前所在的公司就使用一台Macbook pro作为ntp服务器,但有时可能需要进行一些微调才能让它更好的工作。
1、设置好正确的更新源
在你要把它当作ntp服务器之前一定要先检查下它所更新的更新源是否合适,因为我发现有时候Mac OS会将其ntp更新源设置为:time.apple.com:
而这个更新源离我们太远,系统根本不会去更新;可以使用ntpq -p来查看ntp服务与相关的上层ntp的状态:
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== ausyd2-ntp-001. .XFAC. 16 u 33h 1024 0 0.000 0.000 0.000
相关字段意义如下:
remote:是NTP更新源主机的IP或主机名。其实左边应该还要有符号的:
如果有 “*” 代表目前正在作用当中的NTP更新源
如果有 “+” 代表已经连接成功,而且可作为下一个提供时间更新的候选者。
refid:参考的NTP更新源主机地址。
st:是statum阶层,一般在0-15数值之间。
when:几秒前曾经做过的时间同步化更新的操作。
poll:下一次更新在几秒钟之后。
reach:已经向更新源要求更新的次数。
delay:网络传输过程当中延迟的时间,单位为10负6次方秒。
offset:时间补偿的结果,单位为10负3次方秒。
jitter:Linux系统时间与BIOS硬件时间的差异时间,单位为10负6次方秒。
由此可见,更新源没有启用,st的值也不对,一次要求更新都没有。所以我们要把更新源改为:
time.asia.apple.com:
2、上面设置好合适的更新源后,还不一定立即就会能够提供服务,ntp server自身或者与其server的同步的须要一个时候段,这个过程可能是5分钟,此时使用Linux CentOS6作为客户端进行更新会报如下错误:
~]# ntpdate 192.168.10.1 //我的这台Mac地址 7 Jun 13:15:20 ntpdate[8403]: no server suitable for synchronization found
所以还要等一等,或者观察reach的值,在启动ntp server办过后,这个值就从0开端络续增长,当增长到17的时辰,从0到17是5次的变革,每一次是poll的值的秒数,是64秒*5=320秒的时候。
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *jptyo5-ntp-002. .GPSs. 1 u 63 64 33 348.656 -0.614 46.092
此时“*”号也出现了,reach值为33,在使用客户端进行更新,就成功了:
~]# ntpdate 192.168.10.1 8 Jun 22:27:01 ntpdate[8406]: step time server 192.168.10.1 offset 119248.044293 sec
若是之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询具体错误信息,再做断定。
Reference:
http://wangyou871228.blog.163.com/blog/static/27695152201379101059990/
《鸟哥Linux私房菜--服务器架设篇》第15章
本文出自 “WangJian的IT之路!” 博客,请务必保留此出处http://asherwang.blog.51cto.com/11255017/1933639
原文地址:http://asherwang.blog.51cto.com/11255017/1933639