[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
(本頁面已被瀏覽過 2,421 次)