使用VirtualBox + Vagrant + Homestead,时间不同步

5
每当我的电脑进入睡眠模式时,Homestead环境中的时间就会不同步。当电脑唤醒时,时间不会更新,它只会从电脑进入睡眠模式时的时间继续运行。这迫使我销毁Vagrant并重新启动。
版本信息: - Homestead 5.0.1 - Vagrant 2.0.1 - VirtualBox 5.2.4
我已经将以下内容添加到Vagrantfile文件中:
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.provider 'virtualbox' do |vb|
       vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000 ]
    end

    config.vm.provider "virtualbox" do |vb|
       vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
    end

    // More code...

我该如何让Homestead环境同步时间?


1
我以前也遇到过这个问题。我找到的唯一解决方法是让计算机将显示器置于睡眠状态,但不要让硬盘进入睡眠状态。您还可以尝试确保VirtualBox Guest Additions已经更新到最新版本。(我将其放在评论中而不是解决方案中,因为它只是一个解决方法。) - mike.bronner
VirtualBox客户机附加组件已经是最新的。不让硬盘休眠并不理想。我会继续寻找更好的解决方案。谢谢。 - Fredrik
到目前为止,最好的解决方案在这个评论中:https://dev59.com/VWIk5IYBdhLWcg3wNrq8#46480998 - Fredrik
5个回答

4
我在与s3同步失调时发现了这个解决方案。
编辑ntp.conf文件 sudo vim /etc/ntp.conf 将服务器更改为:
server 0.amazon.pool.ntp.org iburst
server 1.amazon.pool.ntp.org iburst
server 2.amazon.pool.ntp.org iburst
server 3.amazon.pool.ntp.org iburst

重新启动ntp服务

sudo service ntp restart

然后你就完成了。


1
重新启动NTP服务。
$sudo service ntp restart

网络时间协议(NTP)是一种用于计算机系统之间的时钟同步的网络协议,适用于分组交换、可变延迟数据网络。自1985年以来运行,NTP是当前使用的最古老的Internet协议之一。

0

您可以运行以下命令:

sudo service ntp stop && sudo ntpdate -s time.nist.gov && sudo service ntp start

(您可能需要安装ntpdate)

我已将此添加到after.sh中,以便在提供服务时运行,但它不会在唤醒或“up”时运行。

我希望找到一种自动执行的方法。


在最新版本的Homestead中,默认安装了ntpdate。因此,现在每次我唤醒计算机时都要运行ntpdate ntp.ubuntu.com。这并不是很理想。我正在考虑为此编写某种脚本。 - Fredrik
1
我的Homestead上没有安装ntpdate :( - Yevgeniy Afanasyev

0

当你的电脑进入睡眠状态时,它使用的是vagrant suspend命令,这就像按下暂停按钮一样,对于虚拟机来说,时间(和宇宙)被暂停了。

唯一真正的解决方法是在让电脑进入睡眠状态之前手动执行vagrant halt命令关闭虚拟机。


-1

我通过phpmyAdmin登录到我的数据库,并且服务器时间已经同步正确。你可以试一下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接