centos7.3中时间不同步

centos7.3中时间不同步

我已经安装了原版 CentOS7.3,并且安装了chrony

yum install -y chrony
systemctl start chronyd
systemctl enable chronyd

如果我启动 CentOS,时间不会同步:

$ timedatectl
NTP enabled: yes
NTP synchronized: no

但 chrony 仍在运行

$ systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-06-02 12:19:35 JST; 17min ago
  Process: 631 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 608 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 620 (chronyd)
   Memory: 1.2M
   CGroup: /system.slice/chronyd.service
           └─620 /usr/sbin/chronyd

我必须手动操作sudo systemctl restart chronyd来解决时间同步问题。

这是为什么。

答案1

NTP 需要一些时间来同步。它需要几个数据点,这需要一两分钟。

你可以用类似这样的命令来观察对等端的状态chronyc sources。每个服务器都应该有一个最近收到的数据包,即 LastRx 列。

timedatectl 通过内核时间规则确定 NTP 状态。它调用 adjtimex() 并在发生错误或 STA_UNSYNC 时返回 false。请参阅 systemd 源代码 time-util.c。

答案2

您还可以使用它timedatectl来指示您的操作系统准确保持正确的时间,方法是将其时间与另一个受信任的远程“NTP”服务器保持同步。这可以通过运行以下命令来完成:

timedatectl set-ntp yes

我们可以查看 chronyd 用于同步系统时间的受信任 ntp 服务器列表。您可以使用 chronyc 命令查看此列表:

chronyc sources -v

另外,检查 NTP 服务器更新的系统文件

cat /etc/chrony.conf

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).

server 0.centos.pool.ntp.org iburst             
server 1.centos.pool.ntp.org iburst      
server 2.centos.pool.ntp.org iburst         
server 3.centos.pool.ntp.org iburst         

或者你也可以更新 ntp 服务器的时区

timedatectl set-timezone Europe/London

相关内容