使用Linux服務(wù)器實(shí)現時(shí)間同步方法及步驟
本文將介紹如何使用Linux服務(wù)器來(lái)實(shí)現時(shí)間同步。準確的時(shí)間同步對于許多計算機應用非常重要,例如日志記錄、安全管理和數據分析等。本文將分為四個(gè)方面,分別介紹NTP服務(wù)、配置NTP、使用Chrony管理NTP和使用systemd-timesyncd同步系統時(shí)間。
1、NTP服務(wù)
網(wǎng)絡(luò )時(shí)間協(xié)議(NTP)是一個(gè)用于同步計算機的時(shí)鐘的協(xié)議,它可以在全球時(shí)間服務(wù)器之間傳遞時(shí)間數據以實(shí)現準確同步。許多Linux系統都默認安裝了NTP服務(wù),但需要確保該服務(wù)已在系統中啟用。可以通過(guò)以下命令檢查NTP服務(wù)是否安裝:
```
ntp --version
```
如果返回版本信息,則NTP服務(wù)已在系統上安裝。如果未安裝,則可以使用以下命令安裝:
```
sudo apt-get install ntp
```
2、配置NTP
配置NTP服務(wù)需要編輯ntp.conf文件??梢允褂靡韵旅畲蜷_(kāi)該文件:```
sudo nano /etc/ntp.conf
```
以下是ntp.conf文件的示例:
```
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/drift
# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# Specify one or more NTP servers.
# 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
# Use Ubuntus ntp server as a fallback.
server ntp.ubuntu.com
# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html
# for details. The web page
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.
# By default, exchange time with everybody, but dont allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
# Needed for adding pool entries
restrict source notrap nomodify noquery
```
在NTP配置文件中,我們可以指定時(shí)鐘偏移的文件位置、使用的NTP服務(wù)器列表、日志選項和訪(fǎng)問(wèn)控制代碼等設置。在使用NTP服務(wù)器之前,我們需要確保服務(wù)器已開(kāi)始工作??梢允褂靡韵旅顔?dòng)NTP服務(wù):
```
sudo service ntp start
```
3、使用Chrony管理NTP
Chrony是一個(gè)輕量級、更快速的替代品,也可用于NTP。如果您使用的是Ubuntu 18.04或更高版本,則可能默認使用Chrony而不是NTP??梢允褂靡韵旅畎惭bChrony:```
sudo apt-get install chrony
```
與NTP類(lèi)似,Chrony也有一個(gè)配置文件,位于/etc/chrony/chrony.conf。以下是chrony.conf文件的示例:
```
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usuable directives.
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#pool 2.debian.pool.ntp.org offline iburst
pool pool.ntp.org iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
#allow 192.168.0.0/16
# Serve time even if not synchronized to a time source.
#local stratum 10
# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony/chrony.keys
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
```
與NTP相比,Chrony具有更多配置選項,例如“l(fā)ocal stratum”選項,可指定本地時(shí)鐘與系統時(shí)鐘之間的差異。
您可以使用以下命令啟動(dòng)Chrony服務(wù):
```
sudo service chrony start
```
4、使用systemd-timesyncd同步系統時(shí)間
systemd-timesyncd是一個(gè)輕量級的系統守護程序,用于同步系統時(shí)間。如果您使用的是Ubuntu 16.04或更高版本,則可能默認使用systemd-timesyncd而不是NTP或Chrony。您可以使用以下命令配置systemd-timesyncd:```
sudo timedatectl set-ntp true
```
如果需要手動(dòng)配置NTP服務(wù)器,請使用以下命令編輯配置文件:
```
sudo nano /etc/systemd/timesyncd.conf
```
以下是systemd-timesyncd.conf文件的示例:
```
[Time]
NTP=ntp.ubuntu.com
FallbackNTP=ntp.ubuntu.com 1.ubuntu.pool.ntp.org 0.ubuntu.pool.ntp.org
```
可以使用以下命令啟動(dòng)systemd-timesyncd:
```
sudo systemctl start systemd-timesyncd
```
如果您想檢查同步狀態(tài),請使用以下命令:
```
timedatectl
```
您應該看到上述命令返回的輸出,其中顯示了系統的時(shí)間設置和同步狀態(tài)。如果同步成功,您將看到類(lèi)似以下內容的輸出:
```
Local time: Tue 2021-12-21 05:27:36 UTC
Universal time: Tue 2021-12-21 05:27:36 UTC
RTC time: n/a
Time zone: Etc/UTC (UTC, +0000)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
Last DST change: n/a
```
如果同步失敗,則可以通過(guò)使用以下命令輕松重啟服務(wù)來(lái)解決此問(wèn)題:
```
sudo systemctl restart systemd-timesyncd
```
這就是使用Linux服務(wù)器實(shí)現時(shí)間同步的全部?jì)热荨?
總結:
在本文中,我們介紹了如何使用Linux服務(wù)器來(lái)實(shí)現準確的時(shí)間同步。我們首先介紹了NTP服務(wù)和Chrony,它們是實(shí)現時(shí)間同步的兩個(gè)常見(jiàn)選擇,然后介紹了使用systemd-timesyncd同步系統時(shí)間。無(wú)論您選擇哪種方法,確保時(shí)間同步是關(guān)鍵,特別是對于需要準確時(shí)間戳的應用程序。