NTP服務(wù)器顧名思義就是時間同步服務(wù)器(Network Time Protocol)奕短,Linux下的ntp服務(wù)器配置相對來說都比較容易,但在Linux下有一個弊端匀钧,不同時區(qū)或者說是時間相差太大的無法同步篡诽,所以在配置ntp服務(wù)器之前需要把時間配置成相同的。
NTP時鐘同步方式說明
NTP在linux下有兩種時鐘同步方式榴捡,分別為直接同步和平滑同步:
直接同步
使用ntpdate命令進行同步杈女,直接進行時間變更。如果服務(wù)器上存在一個12點運行的任務(wù)吊圾,當前服務(wù)器時間是13點达椰,但標準時間時11點,使用此命令可能會造成任務(wù)重復執(zhí)行项乒。因此使用ntpdate同步可能會引發(fā)風險啰劲,因此該命令也多用于配置時鐘同步服務(wù)時第一次同步時間時使用。
平滑同步
使用ntpd進行時鐘同步檀何,可以保證一個時間不經(jīng)歷兩次蝇裤,它每次同步時間的偏移量不會太陡,是慢慢來的频鉴,這正因為這樣栓辜,ntpd平滑同步可能耗費的時間比較長。
標準時鐘同步服務(wù)
http://www.pool.ntp.org/zone/cn
這個網(wǎng)站包含全球的標準時間同步服務(wù)垛孔,也包括對中國時間的同步藕甩,對應的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服務(wù)器并進行時間同步周荐。
現(xiàn)使用的系統(tǒng)為centos7.2狭莱,機器使用情況如下表所示,這里以192.168.1.102為ntp server概作,192.168.1.104為client對時間進行同步腋妙。
NTP server ? ? ? ? 192.168.1.102
NTP client ? ? ? ? ? 192.168.1.104
服務(wù)端設(shè)置
1.在集群中所有節(jié)點上安裝ntp
# yum ?-y ?install ntp
2.所有節(jié)點設(shè)置時區(qū),這里設(shè)置為中國所用時間
# timedatectl set-timezone Asia/Shanghai?
3.在server節(jié)點上啟動ntp服務(wù)
# systemctl?startntpd
# systemctl enable ntpd
4.在server節(jié)點上設(shè)置現(xiàn)在的準確時間
# timedatectl set-time?HH:MM:SS?
5.在server節(jié)點上設(shè)置其ntp服務(wù)器為其自身讯榕,同時設(shè)置可以接受連接服務(wù)的客戶端骤素,是通過更改/etc/ntp.conf文件來實現(xiàn),其中server設(shè)置127.127.1.0為其自身瘩扼,新增加一個 restrict 段為可以接受服務(wù)的網(wǎng)段
?# vim ?/etc/ntp.conf
6.重啟ntpd服務(wù)?
# systemctl restart ntpd?
# timedatectl
NTP synchronized: yes
啟用ntpd后谆甜,服務(wù)器就開啟了ntpd自動同步垃僚,無法使用 timedatectl set-time HH:MM:SS重新設(shè)置時間集绰。
如果要使用timedatectl set-time?HH:MM:SS?重新設(shè)置時間:
# ?systemctl stop ?ntpd?
# timedatectl set-ntp ?false
# timedatectl set-time HH:MM:SS
# hwclock ?-w
# ?systemctl start ?ntpd?
客戶端設(shè)置
1.客戶端時區(qū)需要和服務(wù)端保持一致,否則無法同步時間
# timedatectl set-timezone ??
Asia/Shanghai?
2.安裝同步軟件包
# yum ? -y install ?ntpdate
3. 修改/etc/sysconfig/ntpdate谆棺,讓ntpdate每次同步時間之后把時間寫入hwclock栽燕,相當于命令hwclock -w
將最后一行SYNC_HWCLOCK=no修改為:SYNC_HWCLOCK=yes
# ?vim? /etc/sysconfig/ntpdate
4.客戶端定時任務(wù)配置
# crontab ?-e
59 ?23 ?* ?* ?* ? /sbin/ntpdate ?192.168.1.102
設(shè)置為每天23:59分執(zhí)行罕袋,重啟crond服務(wù)
######################
定時任務(wù)基本格式 :?
* * * * * command?
分 時 日 月 周 命令?
第1列表示分鐘1~59 每分鐘用*或者 */1表示?
第2列表示小時1~23(0表示0點)?
第3列表示日期1~31?
第4列表示月份1~12?
第5列標識號星期0~6(0表示星期天)?
第6列要運行的命令
################################?
5.重啟定時任務(wù)
# systemctl ?restart crond.service