一、CentOS6中的時間同步
1、時間同步的兩種方式
在早期Linux操作系統中,時間同步主要有兩種方式:ntpdate與ntpd,那這兩者有什麼區別呢?
假設有一臺Linux設備,系統時間18:00。但是真實的準確時間(來源於原子鐘、天文臺、衛星)爲19:30。如果我們使用ntpdate進行時間同步"# ntpdate http://cn.ntp.org.cn",操作系統的時間立即更新爲19:30,那這種情況有什麼問題呢?
2、ntpdate與ntpd時間同步案例
當我們的系統有一個計劃任務,是在每天19:40運行,那麼實際今天這個的任務已經運行過了(當前時間是18:00),現在被ntpdate修改爲19:30,那麼意味作10分鐘後,又會執行一次計劃任務,這是ntpdate時間同步的隱患。那有啥解決辦法呢?
解決方案:
使用ntpd時間平滑同步,不會讓一個時間點在一天內經歷兩次,這就是ntpd服務方式平滑同步時間,它每次同步時間的偏移量不會太陡,一次一點一點的同步,完全同步好需要較長時間。所以一般開啓ntpd服務同步前先用ntpdate手動同步一次。
二、CentOS7中的時間同步
1、什麼是chrony?
Chrony是一個開源的自由軟件,其是網絡時間協議的 (NTP) 的另一種實現,它由兩個程序組成,分別是chronyd和chronyc。chronyd是一個後臺運行的守護進程,用於調整內核中運行的系統時鐘和時鐘服務器同步。它確定計算機增減時間的比率,並對此進行補償。chronyc提供了一個用戶界面,用於監控性能並進行多樣化的配置。它可以在chronyd實例控制的計算機上工作,也可以在一臺不同的遠程計算機上工作。
2、安裝chrony
# yum install chrony -y
3、chrony主配置文件
# cat /etc/chrony.conf |grep -v ^# |grep -v ^$
server http://0.centos.pool.ntp.org iburst
server http://1.centos.pool.ntp.org iburst
server http://2.centos.pool.ntp.org iburst
server http://3.centos.pool.ntp.org iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
4、啓動chrony
# systemctl start chrony
# systemctl enable chrony
5、設置時區Asia/ Shanghai
# timedatectl set-timezone Asia/Shanghai
6、顯示當前正在訪問的時間源
# chronyc sources -v
7、強制同步系統時間
# chronyc -a makestep