叢集中各伺服器之間能夠協調工作的前提之一,時間必須同步。如果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 [email protected]:/etc/
總結:
常見故障
用戶端同時時出現:no server suitable for synchronization found 錯誤提示
原因:
在ntp server上重新啟動ntp服務後,ntp server自身或者與其server的同步的需要一個時間段,這個過程可能是5分鐘,在這個時間之内在用戶端運作ntpdate指令時會産生no server suitable for synchronization found的錯誤。
那麼如何知道何時ntp server完成了和自身同步的過程呢?