我的虚拟机运行 Ubuntu 16.04.1 LTS,但时间错误。相差约15小时。我每天都同步一下sudo ntpdate 1.ro.pool.ntp.org
,然后就正常了,但是第二天又出现这个问题。
答案1
VM 遵循的虚拟化主机时间是错误的。虽然您可以通过偶尔的命令将其设置为当前时间,但ntpdate
正如您所见,它会很快再次偏离主机时间。
要确定时间,您可以:
修复主机/虚拟机管理程序时间并在虚拟机管理程序上正确设置 NTP(尽管如此,还是建议保持所有基础设施/日志处于同一时间);
告诉VM不要跟随主机时间而不运行时间同步守护进程(尽管如此,存在时间压缩的现象,并且时间会慢慢偏离官方时间
ntpdate
);告诉虚拟机不要遵循主机时间和运行 NTP 同步守护进程
选项 2 不是理想的设置,但我将其包括在内是为了说明一点。我偶尔会遵循选项 1非常轻的虚拟机设置, 然而选项 3 是 VMWare 白皮书推荐的操作方案。
假设是 VMware 主机,要禁用与 vmware 主机的同步,您必须安装(打开)vmtools,并在启动时以 root 身份或使用 sudo 运行:
vmware-toolbox-cmd timesync disable
然后要安装 NTP 守护程序,您可以安装ntpd
或chrony
守护程序。
不过,我还要再次强调,从操作角度来看,虚拟化主机最好固定时间/NTP配置。
另请参阅我们的姊妹网站 ServerFault 上的这篇文章我需要在每个虚拟机中运行 NTP 服务器吗?
应该注意的是,时间不仅“可能”漂移,而且会漂移,因为计时器中断之间的间隔(操作系统上的计时通常基于此)会根据虚拟机管理程序认为合适的方式进行拉伸和压缩。