即使在 Centos 7.3 的 /etc/ntp.conf 中存在“tinkerpanic 0”,NTP 也不会同步时间 - 从暂停状态恢复虚拟机

即使在 Centos 7.3 的 /etc/ntp.conf 中存在“tinkerpanic 0”,NTP 也不会同步时间 - 从暂停状态恢复虚拟机

看起来从暂停状态恢复 VirtualBox VM 时不可能进行时间​​更新。

我在网上阅读了几天并尝试了许多不同的事情后得出了这个结论,但特别是放入tinker panic 0了 [/etc/ntp.conf] 文件。之后我重新启动了 ntpd 服务,然后通过暂停机器状态几分钟然后恢复来继续测试它。时间从中断处继续(并且不同步)。

很多人以前都问过这个问题,但他们似乎都演变成一些略有不同的变化。

虚拟机中的我的来宾:CentOS Linux 版本 7.3.1611

[root@CentOS7 ~]# systemctl list-unit-files ntpd*
UNIT FILE       STATE
ntpd.service    enabled

以防万一有人想知道,我确实禁用了 chrony 服务,这样就不会出现任何冲突,因为由于可用的文档,我更喜欢 NTPD。

[root@CentOS7 ~]# systemctl list-unit-files chron*
UNIT FILE              STATE
[email protected] static
chrony-wait.service    disabled
chronyd.service        disabled
[email protected]   disabled

在我考虑 cronjob 之前,有人有什么最后的建议吗?虽然绝对不是最佳的,但至少会起作用。

== 策略更改 - 尝试使用来宾添加来同步主机的时间 ==

因此我按照建议在 VirtualBox 中安装了 Guest Additions iso。令人惊讶的是,在那里遇到了问题。

Unable to insert the virtual optical disk C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso into the machine Centos.

Could not mount the media/drive 'C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso' (VERR_PDM_MEDIA_LOCKED).

Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
Callee: IMachine {b2547866-a0a1-4391-8b86-6952d82efaa0}

解决这个问题的方法是启动我的 Centos 桌面 GUI,我在其中看到了 ISO。我右键单击,单击“使用运行软件打开”,安装成功。这是但仍然没有同步时间,即使在禁用 ntpd 后也是如此。

所以我找到了这个线程: https://www.virtualbox.org/ticket/15179

在终端上启动 VBoxService 进程并输出详细信息:

/usr/sbin/VBoxService -fvvv

这导致:

00:00:00.010360 timesync vgsvcTimeSyncWorker: Host:    2017-02-11T21:39:17.257000000Z    (MinAdjust: 100 ms)
00:00:00.010428 timesync vgsvcTimeSyncWorker: Guest: - 2017-02-11T21:30:01.781953000Z => 555 475 047 000 ns drift
00:00:00.010491 timesync vgsvcTimeSyncAdjust: adjtime by 555 475 047 000 ns

但它实际上并没有调整时间,或者这可能意味着它以纳秒为单位调整时间,这将永远花费时间。嗯...

作为最后的手段我尝试过:

/usr/sbin/VBoxService -fvvv --timesync-set-on-restore 1

我想我已经在这件事上浪费了足够多的时间了。我将尝试使用 ntpd -g 执行 cronjob。

答案1

可以使用 VirtualBox Guest Additions 从主机同步时间,该功能随我的 VirtualBox 5.1.14 一起提供。请参阅我编辑的问题,了解有关尝试安装来宾添加时解决错误的更多信息。

我的答案的最后结局:我试图将其设为 systemctl 服务,但它不断抛出错误,所以我将其放入我的 .bashrc 文件中:

/usr/sbin/VBoxService --timesync-set-on-restore 1 --timesync-set-threshold 5000 > /dev/null

有用非常很好,并且做了它应该做的事情。

相关内容