集群中各服务器之间能够协调工作的前提之一,时间必须同步。如果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