您好,登錄后才能下訂單哦!
這篇文章主要介紹怎么在Ubuntu中使用NTP進行時間同步,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
NTP 是通過網絡來同步時間的一種 TCP/IP 協議。通常客戶端向服務器請求當前的時間,并根據結果來設置其時鐘。
這個描述是挺簡單的,實現這一功能卻是極為復雜的 - 首先要有多層 NTP 服務器,***層 NTP 服務器連接原子時鐘,第二層、第三層服務器則擔起負載均衡的責任,以處理因特網傳來的所有請求。另外,客戶端可能也超乎你想象的復雜 - 它必須排除通訊延遲,調整時間的同時不干擾其它在服務器中運行的進程。幸運的是,所有的這些復雜性都進行了封裝,你是不可見也不需要見到的。
在 Ubuntu 中,是使用 ntpdate 和 ntpd 來同步時間的。
timedatectl
在***的 Ubuntu 版本中,timedatectl 替代了老舊的 ntpdate。默認情況下,timedatectl 在系統啟動的時候會立刻同步時間,并在稍后網絡連接激活后通過 socket 再次檢查一次。
如果已安裝了 ntpdate / ntp,timedatectl 會退而讓你使用之前的設置。這樣確保了兩個時間同步服務不會相互沖突,同時在你升級的時候還保留原本的行為和配置。但這也意味著從舊版本的發行版升級時ntp/ntpdate 仍會安裝,因此會導致新的基于 systemd 的時間服務被禁用。
timesyncd
在***的 Ubuntu 版本中,timesyncd 替代了 ntpd 的客戶端的部分。默認情況下 timesyncd 會定期檢測并同步時間。它還會在本地存儲更新的時間,以便在系統重啟時做時間單步調整。
通過 timedatectl 和 timesyncd 設置的當前時間狀態和時間配置,可以使用 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。
timedatectl 和 timesyncd 用來獲取時間的 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 提供了本地時間源,以提供更高的精度。查看下邊列出的鏈接來獲取更多配置信息。
以上是“怎么在Ubuntu中使用NTP進行時間同步”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。