自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 上怎么配置 Ntp 時(shí)間同步

系統(tǒng) Linux
NTP 是 Network Time Protocol 的縮寫,也即 網(wǎng)絡(luò)時(shí)間協(xié)議,一種在 Linux 上保持準(zhǔn)確時(shí)間的協(xié)議,它和網(wǎng)絡(luò)上可用的 NTP 服務(wù)器保持著時(shí)鐘同步。

NTP 是 Network Time Protocol 的縮寫,也即 網(wǎng)絡(luò)時(shí)間協(xié)議,一種在 Linux 上保持準(zhǔn)確時(shí)間的協(xié)議,它和網(wǎng)絡(luò)上可用的 NTP 服務(wù)器保持著時(shí)鐘同步

在 Linux 中,保持準(zhǔn)確的日期和時(shí)間至關(guān)重要,因?yàn)樵S多服務(wù)(如 cron 作業(yè)和腳本)依賴于準(zhǔn)確的時(shí)間才能得到預(yù)期的結(jié)果

用于同步日期和時(shí)間的 ntpd 服務(wù),在新的Linux發(fā)行版 ( centos8、Ubuntu 20.04、Fedora 30 ) 中已經(jīng)廢棄了,取而代之的是 chrony

當(dāng)然,選擇 chrony 是有原因的,相比 ntpd , 它有如下的優(yōu)點(diǎn):

1、時(shí)間同步的速度比 ntpd 更快

2、chrony 很好的處理了同步延遲以及網(wǎng)絡(luò)延遲

3、即使出現(xiàn)網(wǎng)絡(luò)降級,chrony 仍然能正常工作

4、本地機(jī)器可以作為時(shí)間服務(wù)器,其他機(jī)器從這臺服務(wù)器上同步時(shí)間

安裝

在新的 Linux 發(fā)行版(centos8、Ubuntu 20.04、Fedora 30)及以后的版本中,系統(tǒng)默認(rèn)已經(jīng)安裝了 chrony,在這之前的版本是沒有安裝的,可以使用下面的命令進(jìn)行安裝

yum install chrony

安裝完成后,chrony 服務(wù)默認(rèn)會自動加到 systemctl 中管理,下面列出了一些常用的命令

#查詢 chronyd 服務(wù)狀態(tài)
systemctl status chronyd

#啟動 chronyd 服務(wù)
systemctl start chronyd

#關(guān)閉 chronyd 服務(wù)
systemctl stop chronyd

#重啟 chronyd 服務(wù)
systemctl restart chronyd

#設(shè)置 chronyd 服務(wù)開機(jī)自啟
systemctl enable chronyd
systemctl daemon-reload

另外,啟動 chronyd 服務(wù)的時(shí)候如果出現(xiàn)下面截圖中的錯(cuò)誤,需要安裝或者升級 libsepol、policycoreutils-python

具體的問題說明詳見 https://bugzilla.redhat.com/show_bug.cgi?id=1592775

# 安裝 libsepol 和 policycoreutils-python
yum install libsepol policycoreutils-python

chrony 的組成

chrony 是由 守護(hù)進(jìn)程 chronyd 以及 命令行工具 chronyc 組成的,具體如下圖

chronyd 在后臺靜默運(yùn)行并通過 123 端口與時(shí)間服務(wù)器定時(shí)同步時(shí)間,默認(rèn)的配置文件是 /etc/chrony.conf

chronyc 通過 323 端口與 chronyd 交互,可監(jiān)控 chronyd 的性能并在運(yùn)行時(shí)更改各種操作參數(shù)

chronyc 通過下面的方式訪問 chronyd

通過 IPv4 或 IPv6 訪問

2、通過 Unix 域 socket, 但只能訪問到本地的 chronyd,而且需要 root 用戶或者 chrony 用戶才能訪問

默認(rèn)情況下,chronyc 先通過 Unix 域 socket 訪問 chronyd,默認(rèn)的 socket 文件是 /var/run/chrony/chronyd.sock, 如果失敗(常見的原因是使用非 root 用戶運(yùn)行 chronyc ),將嘗試通過 127.0.0.1 訪問 chronyd

chrony 配置

守護(hù)進(jìn)程 chronyd 的默認(rèn)配置文件是 /etc/chrony.conf,其中可配置項(xiàng)很多,這里介紹一些常用的

配置項(xiàng)

說明

server

客戶端需找哪個(gè)服務(wù)器詢問當(dāng)前時(shí)間

pool

同 server 配置項(xiàng)

driftfile

本地時(shí)鐘和服務(wù)器時(shí)鐘的預(yù)估漂移保存到哪個(gè)文件中

makestep

糾正客戶端時(shí)間的步進(jìn)參數(shù)

rtcsync

是否允許內(nèi)核同步實(shí)時(shí)時(shí)鐘

allow

允許客戶端通過內(nèi)網(wǎng)地址同步時(shí)鐘

logdir

日志目錄

配置時(shí)間同步

守護(hù)進(jìn)程 chronyd 既可作為客戶端 與 服務(wù)器同步時(shí)間,又可作為一個(gè)服務(wù)器,接受其他客戶端同步時(shí)間的請求

下面以配置局域網(wǎng)時(shí)間服務(wù)器為例來說明 chronyd 的客戶端和服務(wù)器的配置,相關(guān)的參數(shù)如下:

客戶端IP: 192.168.70.22服務(wù)器IP: 192.168.70.21

下面是具體的配置步驟

1. 安裝客戶端服務(wù)器

分別在客戶端機(jī)器和服務(wù)器機(jī)器安裝 chrony,安裝方法前面有講述,這里不贅述了

2. 編輯 /etc/chrony.conf

安裝好 chrony 之后,編輯 /etc/chrony.conf 配置文

客戶端配置

# 同步時(shí)間的服務(wù)器 IP 或 域名
server 192.168.70.21 iburst

# 系統(tǒng)時(shí)鐘的預(yù)估漂移保存到指定的文件中,是為了在下次啟動時(shí)能穩(wěn)定的同步
driftfile /var/lib/chrony/drift

# 如果系統(tǒng)時(shí)鐘由于某種原因與啟動后的服務(wù)器時(shí)間相差甚遠(yuǎn),允許 chronyd
# 通過步進(jìn)而不是回轉(zhuǎn)來快速糾正它
makestep 1 3

# 為了使客戶端實(shí)時(shí)時(shí)鐘接近服務(wù)器的時(shí)鐘,以便下次時(shí)鐘啟動時(shí)更接近真實(shí)的時(shí)間
# 增加了一種 rtcsync 模式,該模式下,系統(tǒng)時(shí)間會定期的拷貝到實(shí)時(shí)時(shí)鐘里
rtcsync

# 日志
logdir /var/log/chrony

服務(wù)器配置

安裝 chrony 之后,默認(rèn)的配置是客戶端的啟動配置的,要想作為一個(gè)時(shí)間服務(wù)器來運(yùn)行的話, 需要在配置中增加 allow 配置項(xiàng),它表示允許客戶端通過該地址和服務(wù)器同步時(shí)間

另外,時(shí)間服務(wù)器的時(shí)間也需要從網(wǎng)絡(luò)上其他的時(shí)間服務(wù)器進(jìn)行同步,這里直接用默認(rèn)的即可,具體的配置如下

# 同步時(shí)間的服務(wù)器 IP 或 域名
pool 0.centos.pool.ntp.org iburst
pool 1.centos.pool.ntp.org iburst
pool 2.centos.pool.ntp.org iburst
pool 3.centos.pool.ntp.org iburst

# 為了在下次啟動時(shí)穩(wěn)定的同步,系統(tǒng)時(shí)鐘的預(yù)估漂移需要保存到指定的文件中
driftfile /var/lib/chrony/drift

# 如果系統(tǒng)時(shí)鐘由于某種原因與啟動后的服務(wù)器時(shí)間相差甚遠(yuǎn),允許 chronyd
# 通過步進(jìn)而不是回轉(zhuǎn)來快速糾正它,這個(gè)過程將花費(fèi)很長時(shí)間
makestep 1 3

# 為了使客戶端實(shí)時(shí)時(shí)鐘接近服務(wù)器的時(shí)鐘,以便下次時(shí)鐘啟動時(shí)更接近真實(shí)的時(shí)間
# 增加了一種 rtcsync 模式,該模式下,系統(tǒng)時(shí)間會定期的拷貝到實(shí)時(shí)時(shí)鐘里
rtcsync

# 允許客戶端通過該地址和服務(wù)器同步時(shí)間,其實(shí)這里配置的就是時(shí)間服務(wù)器的地址
allow 192.168.70.21
pool 配置項(xiàng)

客戶端需要去時(shí)間服務(wù)器獲取時(shí)間,配置文件中 server 和 pool 配置項(xiàng)表示時(shí)間服務(wù)器的地址,支持域名或者IP

建議配置多個(gè)時(shí)間服務(wù)器的地址,優(yōu)先選擇同步良好,網(wǎng)絡(luò)穩(wěn)定且靠近客戶端的地址

pool 與 allow 的區(qū)別

pool指的是進(jìn)行時(shí)間同步的服務(wù)器IP地址或域名,作為服務(wù)器來說,其機(jī)器時(shí)間也需要從其他時(shí)間服務(wù)器同步,此時(shí),服務(wù)器是作為一個(gè)客戶端從網(wǎng)絡(luò)服務(wù)器上獲取時(shí)間

而 allow 字段表示的是作為服務(wù)器,允許客戶端從該地址獲取時(shí)間,此地址其實(shí)就是服務(wù)器的內(nèi)網(wǎng)地址

3. 處理防火墻

時(shí)間服務(wù)器如果有開啟防火墻的話,需要開啟 UDP 協(xié)議 的 123 端口,以允許客戶端向服務(wù)器發(fā)送獲取時(shí)間的請求

[root@cghost22 ~]# firewall-cmd --permanent --add-port=123/udp
success
[root@cghost22 ~]# firewall-cmd --reload
success

如果想要關(guān)閉防火墻的 123 端口,在服務(wù)器機(jī)器上執(zhí)行下面的命令

[root@cghost22 ~]# firewall-cmd --permanent --remove-port=123/udp
success
[root@cghost22 ~]# firewall-cmd --reload
success

4. 重啟 chrony

配置好客戶端和服務(wù)器之后,為使配置生效,需要重啟 chronyd 服務(wù)

 systemctl restart chronyd   

5. 查詢信息

在服務(wù)器端輸入 chronyc clients 命令查看同步的客戶端信息

在客戶端輸入 chronyc sources 命令查查看時(shí)間服務(wù)器的信息

問題

在配置時(shí)間服務(wù)器的過程中,可能遇到各種問題,下面記錄了一些常見的問題以及解決思路

客戶端無法進(jìn)行時(shí)間同步

第一個(gè)想到的應(yīng)該是 服務(wù)器之上存在防火墻,這時(shí)客戶端向服務(wù)器請求時(shí)間不會有任何的響應(yīng),在客戶端機(jī)器輸入 chronyc sources 命令可以看到 Reach 字段的值為 0 ,表示客戶端無法收到服務(wù)器的響應(yīng)了,具體請看下圖

如果排除了防火墻的問題的話,可能需要使用一些工具(tcpdump、wireshark)檢查下客戶端是否有收到服務(wù)器的數(shù)據(jù)包

客戶端和服務(wù)器時(shí)間差得太多,如何快速修正

通常 chrony 會逐步的修正和服務(wù)器之間的時(shí)間差,根據(jù)需要加快或者減慢時(shí)鐘,如果客戶端和服務(wù)器時(shí)間差得太多了的話,這個(gè)過程會持續(xù)很長時(shí)間

這種情況可以使用 chronyc makestep 命令快速修復(fù)客戶端時(shí)間,makestep 后面不帶任何參數(shù)時(shí),表示 chronyd 取消正在修正時(shí)間的動作,將當(dāng)前客戶端時(shí)間直接修改成服務(wù)器的時(shí)間

不過,需要注意的是,這種方法直接越過了一段系統(tǒng)時(shí)間,有可能會對應(yīng)用程序造成嚴(yán)重的問題,所以,推薦按照 chronyd 逐步修正的方式來同步時(shí)間

小結(jié)

本文介紹了 Linux 中,時(shí)間同步的配置方法,提供常見的問題的解決思路或者方案,更多關(guān)于 chrony 的介紹請參考下方的網(wǎng)站

https://chrony.tuxfamily.org/documentation.html


責(zé)任編輯:武曉燕 來源: Linux開發(fā)那些事
相關(guān)推薦

2010-08-06 14:46:51

思科路由器NTP服務(wù)器配置

2018-03-19 19:00:54

2010-09-02 10:50:17

時(shí)間同步服務(wù)器

2010-08-20 10:29:40

NTP

2019-06-10 15:50:54

LinuxNTP命令

2017-01-09 09:20:07

Ubuntu NTP同步

2024-05-27 08:25:05

2019-05-05 10:42:22

LinuxNTP命令

2025-01-08 09:31:50

2010-03-03 14:25:37

Linux NTP

2024-10-12 17:23:30

2019-08-13 16:10:38

UbuntuLinux時(shí)間同步

2009-02-13 11:06:00

時(shí)間同步服務(wù)器服務(wù)器

2015-05-25 09:13:31

NTP網(wǎng)絡(luò)時(shí)間協(xié)議NTP服務(wù)器

2017-11-20 09:00:34

Linux服務(wù)器時(shí)間同步

2012-05-17 08:43:26

Windows 7Linux

2017-12-04 11:19:01

Linux運(yùn)維同步網(wǎng)絡(luò)時(shí)間

2022-04-30 09:41:14

LinuxNTP服務(wù)器

2023-03-17 08:50:00

服務(wù)器時(shí)鐘服務(wù)數(shù)據(jù)庫

2009-12-11 09:52:51

Linux系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號