webdevqa.jp.net

VirtualBox内でホストウェイクアップ時に時刻を同期する方法は?

VirtualBoxを使用してVagrant内でUbuntu 12.04ベースのボックスを実行しています。これまでのところ、すべてが正常です-1つのことを除いて:

VMが実行されていると仮定します。その後、ホストはスタンバイモードになります。再び起動した後、VMはまだ実行されていますが、ホストがダウンしたときに停止した場所で内部クロックが継続するため、これは基本的には、ホストを15分間スリープ状態にしてから再度起動すると、VMの内部クロックが15分遅れることを意味します。

どうすれば修正できますか(手動で時間を設定することは明らかな理由でオプションではありません;-))?ホストシステムが状態を変更するたびに、Vagrant VM内でスクリプトを実行する方法はありますか?

ドキュメント を読みましたが、デフォルトではVirtualBox Guest Additionsは10秒ごとにホストと時刻を同期します。どうやらこれは起こっていませんが、それが無効になっている場所を見つけることができません。アイデアはありますか?

PS:Guest Additionsがインストールされ、使用されているVirtualBoxのバージョンと一致します。

51
Golo Roden

このドキュメントには詳細がありません。

VirtualBoxが10秒ごとに行うことは、わずかな調整(0.005秒など)です。時間差がしきい値(デフォルトでは20分)に達した場合にのみ、「実際の」再同期が行われます。

次のコマンドを使用して、しきい値を減らすことができます(つまり、10秒まで)。

VBoxManage guestproperty set <vm-name> "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 10000
56
Emyl

@zilupeと@Slobodan Kovacevicの回答を要約すると、解決策はVagrantfileに以下を追加することです。

config.vm.provider 'virtualbox' do |vb|
   vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 1000 ]
end

これにより、desyncが> 1s(1000ms)になるたびにクロックが同期されます

25

Virtualboxゲスト追加機能をインストールせずに、ゲストとホストの間で時間を同期する別のソリューションを提供します。

  1. ゲストにntpをインストールし、/etc/ntp.confの次の行をコメント解除します。

    disable auth
    broadcastclient
    

次に、service ntp restartntpを再起動します

  1. ホスト上のアクティブなブロードキャスト:

    • Linuxユーザーの場合、/etc/ntp.confファイルを編集し、ブロードキャストを構成します(IPを適合させる必要があります)。

      ブロードキャスト192.168.123.255

    • Windowsユーザーの場合、「 Windows Time 」サービスをアクティブにします。その後、 このページを読む でブロードキャスト時間を設定できます

    次に、ホストでタイムサービスを再起動します。

6
fred727

Timesyncを機能させるには、これを行う必要がありました。

vboxmanage setextradata «machine-name» "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 0

Timesyncをオンにします。何らかの理由でオフになった。

4
ctrl-alt-delor

私は解決策を見つけました:

  1. ntpdateをインストールする
  2. ntpdateに「s」権限を追加します。これにより、非rootユーザーはntpdateをrootとして実行できます:Sudo chmod u+s /usr/sbin/ntpdate
  3. ~/.bashrcに1行追加:ntpdate -u ntp.ubuntu.com

その後、Linuxシステムにログインするたびに、時刻が1回同期されます。

2
mengqi

virtualBox Guest AdditionsをVMにインストールして、VBによって時刻を自動的に同期できます。

1
che---