如何搭建NTP服务
最近,在搭建Oracle RAC过程中,需要用到DNS和NTP,其中,DNS用于域名、IP管理,NTP用于时间同步。其实,很久以前搭建过这两种服务,但技术,本质上,符合“用进废退”的客观规律。用得越频,自然就越娴熟。少用甚而不用,慢慢就淡忘了。以至于哪天要用起来的时候,会茫茫然不知而从。虽说网上的相关资料汗牛充栋,但难保良莠不齐。在搜索辨别的过程中,自然会花费不少时间。现在记录一下,一来整理思路,二则以备不时之需。毕竟,自己写的,再次看的时候,会更容易上手。
实验环境:
node1.being.com 192.168.1.130 -->>NTP服务器
node2.being.com 192.168.1.131 -->>客户端
一、在node1上编辑NTP配置文件
1. [root@node1 ~]# vim /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery --拒绝IPv4的用户 restrict -6 default kod nomodify notrap nopeer noquery --拒绝IPv6的用户 restrict 127.0.0.1 --这两个是默认值,放行本机来源 restrict -6 ::1 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap --允许192.168.1.0这个网段的主机通过本机进行网络校时
#restrict default nomodify notrap --注意:为了方便,可设置为default,即允许所有IP通过本机进行网络校时 server 0.rhel.pool.ntp.org --设置主机来源,即node1通过0.rhel.pool.ntp.org进行网络校对 server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org
其中,nomodify:客户端不能使用ntpc与ntpq这两个程序来修改服务器的时间参数,但客户端仍可通过这部主机来进行网络校时
notrap: 不提供trap这个远程事件登陆的功能
noquery: 客户端不能够使用ntpc、ntpd等命令来查询时间服务器,等于不提供NTP的网络校时。注意:如果需要提供NTP服务的话,则这个参数切记不要。
如果IP后面没有任何参数,则表示“该IP或网段不受任何限制”
2. 重启服务
[root@node1 ~]# /etc/init.d/ntpd restart
二、在node2上进行验证
[root@node2 oracle]# ntpdate -d 192.168.1.130 --注意,通常需要5分钟才会和ntp服务器顺利连接上
24 Mar 21:18:02 ntpdate[1382]: no server suitable for synchronization found
用 ntpdate -d 192.168.1.130 进行查看,发现Server dropped: strata too high且stratum 16,而正常情况下,stratum最多可达15个阶层。
这表示NTP Server还没有和它自身或者它的上一层Server同步上。
三、在node1的/etc/ntp.conf添加以下参数
server 127.127.1.0
fudge 127.127.1.0 stratum 10
以上定义是让NTP Server和其自身保持同步,如果在/etc/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。
重启ntp服务,用以下命令进行验证
[root@node1 ~]# ntpq -p -->> 显示local即ok
remote refid st t when poll reach delay offset jitter
==============================================================================
*LOCAL(0) .LOCL. 10 l 44 64 377 0.000 0.000 0.000
四、在客户端进行配置
这时,有两种方法实现时间同步。
1. 用ntpdate并采用crontab
[root@node1 ~]# vim /etc/crontab
0 1 * * * root (/usr/sbin/ntpdate 192.168.1.130 && /sbin/hwclock -w) &> /dev/null
2. 采用ntp服务
[root@node2 ~]# vim /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6 ::1 restrict 192.168.1.130 -->>这一项非必须的,在客户端,只指定server即可。 server 192.168.1.130 server 0.rhel.pool.ntp.org server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org
重启服务,此时大功告成,主要障碍还是在第二步客户端用ntpdate同步服务端的时候,报no server suitable的错误。
他山之石,可以攻玉。老实说,这个问题的解决主要参考了以下两位作者的博客以及《鸟哥的Linux私房菜-服务器架构篇》。在此一并谢过!
http://hi.baidu.com/d_life/item/3d5a081935834708e65c3697
http://blog.csdn.net/suer0101/article/details/7868813