集群中各服务器之间能够协调工作的前提之一,时间必须同步。如果B主机比A主机时间慢2个小时,A主机向B主机下达一个命令,B主机2小时后才执行。对整个集群而言,将是无法忍受的。
搭建NTP服务器可以让集群中的所有服务器工作在同一时钟周期内,做到步调一致。下面是实现方法:
NTP server IP:192.168.100.104
NTP client IP:192.168.100.100
NTP server端设置:
一、安装NTP服务:
[root@node1 ~]# yum -y install ntp
二、配置NTP服务:
[root@node1 ~]#vim /etc/ntp.conf
添加一下三行:
1、server 127.127.1.0 //local地址
2、fudge 127.127.1.0 stratum 10 //这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0
3、restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
(表示:允许192.168.100.0网段的服务器可以到NTP server上同步数据)
注:restrict这个参数主要语法格式:
restrict IP mask netmask_IP parameter
其中IP可以是软体位址,也可以是 default ,default 就类似0.0.0.0
paramter规则:
ignore:关闭所有的NTP 连线服务
nomodify:表示Client 端不能更改 Server 端的时间参数,不过Client端仍然可以透过Server 端來进行网络较时。
notrust:该 Client 除非通过认证,否则该 Client 来源将被视为不信任网域
noquery:不提供 Client 端的时间查询
如果 paramter完全没有设定,那就表示该 IP (或网域) 没有任何限制!
三、iptables放行:
NTP服务默认走UPD协议,使用123端口,如果启动防火墙的话,需要配置一下防火墙。vim /etc/sysconfig/iptables 打开防火墙配置文件。加入如下配置项:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
或:iptables -t filter -A INPUT -p udp --destination-port 123 -j ACCEPT
四、重启NTP服务
[root@node1 ~]# /etc/init.d/ntpd restart
NTP client端设置:
一、定期去NTP服务器同步时间
[root@node2 ~]# vim /etc/crontab
添加:
* 2 * * * root /usr/sbin/ntpdate 192.168.100.104;/sbin/hwclock -w
二、同时复制到其他服务器
[root@node2 ~]# scp /etc/crontab root@192.168.100.101:/etc/
总结:
常见故障
客户端同时时出现:no server suitable for synchronization found 错误提示
原因:
在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。
那么如何知道何时ntp server完成了和自身同步的过程呢?
在ntp server上使用命令:
#ntpq -p