我在笔记本电脑上运行 Ubuntu 16.04,在 VirtualBox 的 Vagrant VM 中运行 Ubuntu 14.04。我的笔记本电脑正在运行 SystemD 并且启用了网络时间:
naftuli@reprisal:~$ sudo timedatectl status
Local time: Sun 2016-12-25 15:21:33 PST
Universal time: Sun 2016-12-25 23:21:33 UTC
RTC time: Sun 2016-12-25 23:21:33
Time zone: America/Los_Angeles (PST, -0800)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
缺少 SystemD 的虚拟机正在运行 NTP 守护进程:
vagrant@ubuntu-14:/vagrant$ wololo ntpdc -c sysinfo
system peer: 0.0.0.0
system peer mode: unspec
leap indicator: 11
stratum: 16
precision: -19
root distance: 0.00000 s
root dispersion: 0.00717 s
reference ID: [73.78.73.84]
reference time: 00000000.00000000 Mon, Jan 1 1900 0:00:00.000
system flags: auth monitor ntp kernel stats
jitter: 0.000000 s
stability: 0.000 ppm
broadcastdelay: 0.000000 s
authdelay: 0.000000 s
然而,如果我暂停我的笔记本电脑,虚拟机时间似乎会显着漂移,尽管我的笔记本电脑和虚拟机据称都同步到 NTP 时间服务器,但我有一个巨大的漂移:
为了进行比较,在此屏幕截图中,主机时间为23:23:56
,VM 时间为23:22:47
。
重要的是,这种时钟漂移意味着 AWS API 调用由于加密依赖于准确的时钟而失败。
如何最小化或消除虚拟机与实时之间的时钟漂移?