Linux中國

在 Ubuntu 中使用 NTP 進行時間同步

在 Ubuntu 中,是使用 ntpdatentpd 來同步時間的。

timedatectl

在最新的 Ubuntu 版本中,timedatectl 替代了老舊的 ntpdate。默認情況下,timedatectl 在系統啟動的時候會立刻同步時間,並在稍後網路連接激活後通過 socket 再次檢查一次。

如果已安裝了 ntpdate / ntptimedatectl 會退而讓你使用之前的設置。這樣確保了兩個時間同步服務不會相互衝突,同時在你升級的時候還保留原本的行為和配置。但這也意味著從舊版本的發行版升級時 ntp/ntpdate 仍會安裝,因此會導致新的基於 systemd 的時間服務被禁用。

timesyncd

在最新的 Ubuntu 版本中,timesyncd 替代了 ntpd 的客戶端的部分。默認情況下 timesyncd 會定期檢測並同步時間。它還會在本地存儲更新的時間,以便在系統重啟時做時間單步調整。

通過 timedatectltimesyncd 設置的當前時間狀態和時間配置,可以使用 timedatectl status 命令來進行確認。

timedatectl status
      Local time: Fri 2016-04-29 06:32:57 UTC
  Universal time: Fri 2016-04-29 06:32:57 UTC
        RTC time: Fri 2016-04-29 07:44:02
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no

如果安裝了 NTP,並用它替代 timedatectl 來同步時間,則 NTP synchronized 將被設置為 yes

timedatectltimesyncd 用來獲取時間的 nameserver 可以通過 /etc/systemd/timesyncd.conf 來指定,另外在 /etc/systemd/timesyncd.conf.d/ 下還有靈活的附加配置文件。

ntpdate

由於 timedatectl 的存在,各發行版已經棄用了 ntpdate,默認不再進行安裝。如果你安裝了,它會在系統啟動的時候根據 Ubuntu 的 NTP 伺服器來設置你電腦的時間。之後每當一個新的網路介面啟動時,它就會重新嘗試同步時間 —— 在這期間只要其涵蓋的時間差不是太大,它就會慢慢偏移時間。該行為可以通過 -B/-b 開關來進行控制。

ntpdate ntp.ubuntu.com

時間伺服器

默認情況下,基於 systemd 的工具都是從 ntp.ubuntu.com 請求時間同步的。經典的基於 ntpd 的服務基本上都是使用 [0-3].ubuntu.pool.ntp.org 池中的 2.ubuntu.pool.ntp.org,還有 ntp.ubuntu.com,此外需要的話還支持 IPv6。如果想強制使用 IPv6,可以使用 ipv6.ntp.ubuntu.com,不過這並非默認配置。

ntpd

ntp 的守護進程 ntpd 會計算你的系統時鐘的時間偏移量並且持續的進行調整,所以不會出現時間差距較大的更正,比如說,不會導致不連續的日誌。該進程只花費少量的進程資源和內存,但對於現代的伺服器來說實在是微不足道的了。

安裝

要安裝 ntpd,在終端命令行中輸入:

sudo apt install ntp

配置

編輯 /etc/ntp.conf —— 增加/移除 server 行。默認配置有以下伺服器:

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

修改配置文件之後,你需要重新載入 ntpd

sudo systemctl reload ntp.service

查看狀態

使用 ntpq 來查看更多信息:

# sudo ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+stratum2-2.NTP. 129.70.130.70    2 u    5   64  377   68.461  -44.274 110.334
+ntp2.m-online.n 212.18.1.106     2 u    5   64  377   54.629  -27.318  78.882
*145.253.66.170  .DCFa.           1 u   10   64  377   83.607  -30.159  68.343
+stratum2-3.NTP. 129.70.130.70    2 u    5   64  357   68.795  -68.168 104.612
+europium.canoni 193.79.237.14    2 u   63   64  337   81.534  -67.968  92.792

PPS 支持

從 Ubuntu 16.04 開始,ntp 支持 PPS 規範,給 ntp 提供了本地時間源,以提供更高的精度。查看下邊列出的鏈接來獲取更多配置信息。

參考資料

via: https://help.ubuntu.com/lts/serverguide/NTP.html

作者:Ubuntu 譯者:GHLandy 校對:jasminepeng

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國