man*_*tor 24 ntp systemd systemd-timesyncd
我已将 systemd timesyncd 配置为从 NTP 服务器获取时间:
/etc/systemd/timesyncd.conf > NTP=ca.pool.ntp.org
systemctl restart systemd-timesyncd.service
timedatectl set-ntp true
Run Code Online (Sandbox Code Playgroud)
状态如下:
$ timedatectl status
...
Network time on: yes
NTP synchronized: no
Run Code Online (Sandbox Code Playgroud)
正如输出所暗示的那样,时间尚未同步。有人可以帮我解决以下问题吗?
Joh*_*Mee 20
无需安装更多软件包...关闭 NTP,手动将时间设置为足够接近,然后重新打开 NTP:
$ timedatectl set-ntp false
Run Code Online (Sandbox Code Playgroud)
从挂钟、手机、互联网获取大致的本地时间。它不需要完美,因为我们稍后会重新打开 ntp...
$ sudo timedatectl set-time "2019-06-22 13:41:00"
Run Code Online (Sandbox Code Playgroud)
$ sudo timedatectl set-ntp true
Run Code Online (Sandbox Code Playgroud)
等待几分钟。如果timedatectl中的响应没有改变,那么您有网络问题。
john@mybox:~$ timedatectl
Local time: Sat 2019-06-22 13:49:53 AEST
Universal time: Sat 2019-06-22 03:49:53 UTC
RTC time: Sat 2019-06-22 03:49:54
Time zone: Australia/Sydney (AEST, +1000)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
Run Code Online (Sandbox Code Playgroud)
当“系统时钟同步:否”已调整到足以被视为“同步”时,它将变为“是”。就像是:
john@mybox:~$ timedatectl
Local time: Wed 2020-07-22 09:50:32 AEST
Universal time: Tue 2020-07-21 23:50:32 UTC
RTC time: Tue 2020-07-21 23:50:32
Time zone: Australia/Sydney (AEST, +1000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Run Code Online (Sandbox Code Playgroud)
和
john@mybox:~$ timedatectl timesync-status
Server: 91.189.91.157 (ntp.ubuntu.com)
Poll interval: 1min 4s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 2
Reference: 8CCBCC4D
Precision: 1us (-24)
Root distance: 64.781ms (max: 5s)
Offset: -88.040ms
Delay: 754.084ms
Jitter: 78.200ms
Packet count: 8
Frequency: -187.812ppm
Run Code Online (Sandbox Code Playgroud)
$ cat /etc/systemd/timesyncd.conf
[Time]
NTP=pool.ntp.org
$ timedatectl timesync-status
Server: 13.210.208.89 (au.pool.ntp.org)
Poll interval: 8min 32s (min: 32s; max 34min 8s)
Packet count: 0
$ grep systemd-timesyncd /var/log/syslog | tail
Jun 22 14:13:09 meebox systemd-timesyncd[8333]: Timed out waiting for reply from 103.214.220.220:123 (au.pool.ntp.org).
Run Code Online (Sandbox Code Playgroud)
我的 ntp 数据包被公司防火墙阻止。
Joh*_*ald 16
要使用实际的 NTP 实现,您需要安装和配置一个,chrony
或者可能是ntpd
. 如果您需要对时间性能进行任何监控,请执行此操作。我会假设chrony。
添加iburst
到您的pool
或server
配置中的行以加速最初的几个数据包。可能还需要几分钟才能稳定下来,请耐心等待。
chronyc tracking
将显示当前偏移量。了解您的要求是什么,一秒精度可以轻松容忍数十毫秒的偏移。
chronyc makestep
将立即进行当前调整。通常不需要。
timesyncd
是一个SNTP客户端,可以设置时间,但不会逐渐和连续地对其进行训练,也不会根据质量过滤远程NTP服务器。(它也不能与时间硬件或 PTP 对话,只能与 NTP 协议对话。)比重复好一点ntpdate
,我的意思是不是很好的时钟。就个人而言,我在大多数服务器上都替换了它。
关于使用 timesyncd 设置时间的唯一方法是手动:timedatectl set-time "2019-01-15 00:40:16"
. 它没有强大的方法来规范和监控时钟。通过基本 NTP 统计数据timedatectl timesync-status
是一个相对较新的东西,我认为 Red Hat 7 或 Ubuntu 18.04 中没有该选项。
systemd 将“同步”定义为是否曾使用 NTP 告诉 Linux 调整时钟。具体来说,如果内核纪律调用 adjtimex() 没有错误返回,而不是初始状态。查看源代码,systemd/src/basic/time-util.c。
归档时间: |
|
查看次数: |
46894 次 |
最近记录: |