我在 OpenVZ(VPS 托管提供商)上运行 Ubuntu Server 16.04,在运行 ntp 进行时间同步时遇到了困难。我刚刚安装了 ntp ( apt install ntp
),但当我尝试时,我看到
root@vps:~# ntpq -p
ntpq: read: Connection refused
我的本地时区是正确的
root@vps:~# dpkg-reconfigure tzdata
Current default time zone: 'Europe/Prague'
Local time is now: Mon May 9 08:40:44 CEST 2016.
Universal Time is now: Mon May 9 06:40:44 UTC 2016.
当我尝试重新加载 ntp 服务时systemctl reload ntp.service
Failed to reload ntp.service: Job type reload is not applicable for unit ntp.service.
See system logs and 'systemctl status ntp.service' for details.
当我跑步的时候systemctl status ntp.service
ntp.service - LSB: Start NTP daemon
Loaded: loaded (/etc/init.d/ntp; bad; vendor preset: enabled)
Active: active (exited) since Mon 2016-05-09 09:04:29 CEST; 8min ago
Docs: man:systemd-sysv-generator(8)
Process: 25429 ExecStop=/etc/init.d/ntp stop (code=exited, status=0/SUCCESS)
Process: 25487 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)
May 09 09:04:29 vps systemd[1]: Started LSB: Start NTP daemon.
May 09 09:04:29 vps ntpd[25496]: proto: precision = 0.092 usec (-23)
May 09 09:04:29 vps ntpd[25496]: Listen and drop on 0 v6wildcard [::]:123
May 09 09:04:29 vps ntpd[25496]: Listen and drop on 1 v4wildcard 0.0.0.0:123
May 09 09:04:29 vps ntpd[25496]: Listen normally on 2 lo 127.0.0.1:123
May 09 09:04:29 vps ntpd[25496]: Listen normally on 3 venet0 127.0.0.2:123
May 09 09:04:29 vps ntpd[25496]: Listen normally on 4 venet0:0 myipv4:123
May 09 09:04:29 vps ntpd[25496]: Listen normally on 5 lo [::1]:123
May 09 09:04:29 vps ntpd[25496]: Listen normally on 6 venet0 [myipv6]:123
May 09 09:04:29 vps ntpd[25496]: Listening on routing socket on fd #23 for interface updates
在 /var/log/syslog 中
May 9 09:04:29 vps ntpd[25496]: Listening on routing socket on fd #23 for interface updates
May 9 09:04:29 vps ntpd[25496]: start_kern_loop: ntp_loopfilter.c line 1126: ntp_adjtime: Operation not permitted
May 9 09:04:29 vps ntpd[25496]: set_freq: ntp_loopfilter.c line 1089: ntp_adjtime: Operation not permitted
May 9 09:04:29 vps ntpd[25496]: cap_set_proc() failed to drop root privs: Operation not permitted
我也试过
root@vps:~# ntpdate pool.ntp.org
9 May 09:19:47 ntpdate[25785]: Can't adjust the time of day: Operation not permitted
有人知道我的 NTP 出了什么问题吗?
谢谢。
答案1
这可能是因为您在非特权容器中运行 ntp。OpenVZ 是另一个容器项目,但与其他项目一样,它在主机和客户机之间共享同一个内核。由于内核保持时间,因此对于 VPS 主机来说,一个容器可以更改内核时间是不可接受的,因为这会影响所有其他容器。
所以你的问题没有解决办法。如果你发现 OpenVZ 容器内报告的时间不正确,你需要向 VPS 主机提供商开具支持单。他们必须在主机上安装 ntpd 并确保它正确同步。
答案2
这似乎与机器上的 ntpdate 也存在冲突。如果您只安装 ntp 而不安装 ntpdate,则允许 ntp 工作。如果机器上同时安装了两者,则 ntp 在下次重启时不会保持运行。
似乎与此有关漏洞。
答案3
我更改了 ntp 池成员列表并重新启动了 ntp 服务。它对我有用。
服务器 0.ubuntu.pool.ntp.org 服务器 1.ubuntu.pool.ntp.org 服务器 2.ubuntu.pool.ntp.org 服务器 3.ubuntu.pool.ntp.org
@ubuntu:/etc$ sudo service ntp restart * 停止 NTP 服务器 ntpd
启动 NTP 服务器 ntpd [确定] @ubuntu:/etc$ ntpq -p
远程重新识别 st t 轮询到达延迟偏移抖动
ntp.ubuntu.com .POOL。 16 p - 64 0 0.000 0.000 0.000 *ntp.nexcess.net 142.66.101.13 2 u 8 64 1 28.094 -6.892 0.000 propjet.latt.ne 44.24.199.34 3 u 6 64 1 141.591 14.905 0.000 barry.tsi.io 198.60.22.240 2 u 7 64 1 91.846 0.492 0.000 ntp1.wiktel.com 216.218.254.202 2 u 6 64 1 44.371 -10.567 0.000 chilipepper.can 140.203.204.77 2 u 7 64 1 97.269 -6.298 0.000 juniperberry.ca 145.238.203.14 2 u 7 64 1 98.729 -9.011 0.000 golem.canonical 145.238.203.14 2 u 6 64 1 104.873 -11.536 0.000 alphyn.canonica 132.246.11.231 2 u 1 64 1 35.188 -6.797 0.000
答案4
我没有足够的声誉来发表评论,但我遇到了这个问题,并按照 user542049 的回答做了:
sudo apt remove ntpdate
突然,无需重启,时钟就匹配了正确的时间。