NTP服務器顧名思義就是時間同步服務器(Network Time Protocol),Linux下的ntp服務器配置相對來說都比較容易,但在Linux下有一個弊端,不同時區(qū)或者說是時間相差太大的無法同步,所以在配置ntp服務器之前需要把時間配置成相同的。
NTP時鐘同步方式說明
NTP在linux下有兩種時鐘同步方式,分別為直接同步和平滑同步:?
直接同步
使用ntpdate命令進行同步,直接進行時間變更。如果服務器上存在一個12點運行的任務,當前服務器時間是13點,但標準時間時11點,使用此命令可能會造成任務重復執(zhí)行。因此使用ntpdate同步可能會引發(fā)風險,因此該命令也多用于配置時鐘同步服務時第一次同步時間時使用。
平滑同步
使用ntpd進行時鐘同步,可以保證一個時間不經(jīng)歷兩次,它每次同步時間的偏移量不會太陡,是慢慢來的,這正因為這樣,ntpd平滑同步可能耗費的時間比較長。
標準時鐘同步服務
http://www.pool.ntp.org/zone/cn
這個網(wǎng)站包含全球的標準時間同步服務,也包括對中國時間的同步,對應的URL為:cn.pool.ntp.org
在其中也描述了ntp配置文件中的建議寫法:
server ?1.cn.pool.ntp.org
server ?2.asia.pool.ntp.org
server ?3.asia.pool.ntp.org
實驗室集群沒有聯(lián)網(wǎng),我們需要搭建ntp服務器并進行時間同步。
現(xiàn)使用的系統(tǒng)為centos7.2,機器使用情況如下表所示,這里以192.168.1.102為ntp server,192.168.1.104為client對時間進行同步。
NTP server ? 192.168.1.102
client ? ? ? 192.168.1.104
方法一:在所有節(jié)點安裝 NTP,然后一臺設置為server,其他為client,和server同步
1.在集群中所有節(jié)點上安裝ntp
# yum ?-y ?install ntp?
2.所有節(jié)點設置時區(qū),這里設置為中國所用時間
# timedatectl set-timezone Asia/Shanghai?
3.在server節(jié)點上啟動ntp服務
# systemctl?start?ntpd
# systemctl enable ntpd
4.在server節(jié)點上設置現(xiàn)在的準確時間
# timedatectl set-time?HH:MM:SS?
5.在server節(jié)點上設置其ntp服務器為其自身,同時設置可以接受連接服務的客戶端,是通過更改/etc/ntp.conf文件來實現(xiàn),其中server設置127.127.1.0為其自身,新增加一個 restrict 段為可以接受服務的網(wǎng)段
?# vim ?/etc/ntp.conf
6.重啟ntpd服務
# systemctl restart ntpd
7.在client節(jié)點上設置ntp服務器為server節(jié)點
?# vim ?/etc/ntp.conf?
關于防火墻設置
關閉NTP服務器上的防火墻并非萬全之策,畢竟存在即合理。
最好的解決方案一定不會是關閉防火墻。接下來,我們嘗試把ntpd服務添加到防火墻策略里面。
由于CentOS7默認使用的防火墻是firewalld,所以只需要配置firewalld開放ntpd使用的123端口即可。
由于此NTP服務器需要放在dmz區(qū)域,所以我們需要把dmz區(qū)設置為默認區(qū):
# ?firewall-cmd --set-default-zone=dmz
# firewall-cmd ?--permanent --zone=dmz ?--add-interface=ens33
ntpd服務使用的端口是123,協(xié)議是udp協(xié)議,添加到防火墻策略:
# firewall-cmd --permanent --zone=dmz --add-port=123/udp
# firewall-cmd --reload
8.在client節(jié)點上同步server的時間
# ?ntpdate 10.107.18.35?
9.client節(jié)點啟動ntpd服務
# systemctl?start?ntpd
# systemctl enable ntpd
10.所有節(jié)點啟動時間同步
# ?timedatectl set-ntp yes
11.使用ntpq -p 查看網(wǎng)絡中的NTP服務器,同時顯示客戶端和每個服務器的關系
12.使用ntpstat 命令查看時間同步狀態(tài),這個一般需要5-10分鐘后才能成功連接和同步
剛啟動時:
# ?ntpstat?
unsynchronised
? time server re-starting
polling server every 8 s
連接并同步后:
synchronised?to NTP server (202.112.10.36) at stratum?3
? ?time correct to within?275?ms
? ?polling server every?256?s
方法二:只在NTP server節(jié)點安裝安裝 NTP,其他為client,通過定時任務和NTP server時間同步
服務端設置同方法一
客戶端設置
修改/etc/sysconfig/ntpdate,讓ntpdate每次同步時間之后把時間寫入hwclock,相當于命令hwclock -w
將最后一行SYNC_HWCLOCK=no修改為:SYNC_HWCLOCK=yes
# ?vim ?
/etc/sysconfig/ntpdate
客戶端定時任務配置
# crontab -e
59 23 * * * ?/sbin/ntpdate 192.168.1.102
設置為每天23:59分執(zhí)行,重啟crond服務
# systemctl ?restart crond.service
至此,NTP服務器構建完成!