[Linux] 在 CentOS 7 上使用預設的 chrony 套件來設定 NTP 自動對時

[Linux] 在 CentOS 7 上使用預設的 chrony 套件來設定 NTP 自動對時

之前寫過一篇 在 CentOS 7 上設定 NTP 自動對時,那時是自己裝 ntp 套件來對時,

感謝網友們提供了資訊,原來 CentOS 7 預設改用 chrony 這個套件來作對時了,

下面就用 chrony 來試試看吧~

 

1. 安裝 chrony 套件

預設狀況下 CentOS 7 應該已經有安裝了:

testuser@localhost ~ $ yum info chrony
Installed Packages
Name        : chrony
Arch        : x86_64
Version     : 2.1.1
Release     : 1.el7.centos
Size        : 468 k
Repo        : installed
From repo   : base
Summary     : An NTP client/server
URL         : http://chrony.tuxfamily.org
License     : GPLv2
Description : A client/server for the Network Time Protocol, this program keeps your
: computer's clock accurate. It was specially designed to support
: systems with intermittent internet connections, but it also works well
: in permanently connected environments. It can use also hardware reference
: clocks, system real-time clock or manual input as time references.

 

如果沒有的話,就執行 sudo yum install -y chrony 就行了~

接著確認一下 chronyd 服務有在執行中:

testuser@localhost ~ $ systemctl status chronyd
chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2016-02-19 18:05:24 CST; 1 months 10 days ago
Main PID: 947 (chronyd)
Memory: 4.0K
CGroup: /system.slice/chronyd.service
└─947 /usr/sbin/chronyd

 

2. 檢視 chrony 對時情形

假設我先把系統時間調到好幾個月後,像今天是三月底,但我調到八月:

testuser@localhost ~ $ date
Mon Aug  8 00:00:01 CST 2016

 

這時可以用 chronyc tracking 來看對時的狀況:

testuser@localhost ~ $ chronyc tracking
Reference ID    : 10.1.188.40
Stratum         : 5
Ref time (UTC)  : Thu Mar 31 15:27:19 2016
System time     : 11147700.000000000 seconds fast of NTP time
Last offset     : -0.008060133 seconds
RMS offset      : 3009882.500000000 seconds
Frequency       : 19.535 ppm slow
Residual freq   : -65.597 ppm
Skew            : 0.131 ppm
Root delay      : 0.174531 seconds
Root dispersion : 0.166571 seconds
Update interval : 70.9 seconds
Leap status     : Normal

 

可以看到上面有寫 Ref time 是 3/31,而我們目前的系統時間 (System time) 

比 NTP server 的時間快了 11147700 秒~(因為我們偷調到八月嘛)

但 chrony 並不會一下子就把時間調整成正確的時間,

而是採用加速往前或往後的方式,讓時間漸漸地往正確的時間調整~

會這麼做的原因是如果突然大幅度的修改系統時間的話,有些應用程式可能會出問題~

 

3. 使用 chrony 立刻對時

雖然 chrony 有它設計的理念,但有時我還是想要立刻把系統時間設定成正確的時間~

這時可以用 chronyc -a makestep 立刻對時:

testuser@localhost ~ $ sudo chronyc -a makestep
200 OK
200 OK

 

這時再用 chronyc tracking 看一下,可以看到我們和 NTP server 的時間已經沒有差異了:

testuser@localhost ~ $ chronyc tracking
Reference ID    : 157.7.152.213 (v157-7-152-213.z1d1.static.cnode.jp)
Stratum         : 3
Ref time (UTC)  : Thu Mar 31 15:30:45 2016
System time     : 0.000000000 seconds fast of NTP time
Last offset     : +0.000721723 seconds
RMS offset      : 2708894.250000000 seconds
Frequency       : 19.535 ppm slow
Residual freq   : -5.103 ppm
Skew            : 0.152 ppm
Root delay      : 0.044803 seconds
Root dispersion : 0.027430 seconds
Update interval : 141.8 seconds
Leap status     : Normal

 

直接用 date 來看,時間果然調成正確時間囉:

testuser@localhost ~ $ date
Thu Mar 31 23:31:49 CST 2016

 

 參考資料:Red Hat: Using chrony

(本頁面已被瀏覽過 2,421 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料