VirtualBox: Host ve misafir zamanı nasıl senkronize edilir?


39

Misafir VM'mdeki süre ana bilgisayar saatinden 20-30 dakika daha hızlı. Konukdaki zamanın ana bilgisayardakiyle aynı olması için ne yapabilirim?

Yanıtlar:


16

Bir Linux ana bilgisayarı için önce konuk makineye DKMS (Dinamik Çekirdek Modülü Desteği) paketini kurun ( kaynak ):

$ sudo apt-get install dkms

Ardından Konuk Eklemelerini konuk sistemine yükleyin:

$ sudo apt-get install virtualbox-guest-additions

Ayrıca, VirtualBox zaman senkronizasyonunu ayarlamak için bazı komutların açıklamaları .


3
Son dağıtımlarda, bu paketleri virtualbox-guest-dkmsve için değiştireceksiniz virtualbox-guest-utils.
Yvan

33

Aşağıdaki kurulum, konuğumun 1 saniye içinde doğru olan bir süreyi güvenli bir şekilde korumasını sağlar. VirtualBox 4.3.26 çalıştıran ana bilgisayar ve VirtualBox Konuk Eklemeleri'nin aynı sürümünü çalıştıran konuk ile test edilmiştir. VirtualBox 5.x'e gelince, şu ana kadar bu yapılandırma değişikliklerini yapma gereğim olmadı; saat otomatik olarak senkronize edildi.

Referans: https://www.virtualbox.org/manual/ch09.html#changetimesync


Ana bilgisayarda, ilgili VM'nin adını belirlemek için VM'leri listeleyin.

$ VBoxManage list vms | awk '{print $1}'
"CentOS6"

Ana bilgisayarda, aşağıdaki komutları çalıştırarak konuk için zaman senkronizasyonu parametrelerini yapılandırın. İlk $VMNAMEönce uygun değere ayarlayın. Eğer değeri $VMNAMEbir boşluk içeriyorsa, elbette alıntılanması gerekir.

$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-interval" 10000
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust" 100
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore" 1
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 1000

Yukarıdaki zaman parametrelerinin değerleri, 10'un katları ile sınırlandırılmıştır. Bunun timesync-set-thresholdyerine 10000 olarak ayarlanması cazip gelebilir , ancak bu, tetiklendiğinde oldukça zaman kaybına neden olabilir ve bu nedenle uygulamaları bozabilir.


Ana bilgisayarda, konuyla ilgili güncellenmiş alakalı değerleri görüntüleyin. Bunlar herhangi bir zamanda onaylanabilir.

$ VBoxManage guestproperty enumerate ${VMNAME} | grep timesync | sort
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-interval, value: 10000, timestamp: 1402110397618554000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust, value: 100, timestamp: 1402110777505446000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore, value: 1, timestamp: 1402110904964050000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold, value: 1000, timestamp: 1402110660162295000, flags:

Konuk üzerinde, tüm dahili NTP ve ilgili zaman tutma hizmetlerini durdurun ve devre dışı bırakın. VirtualBox'ı etkileyebilecekleri için kullanılmamalıdırlar. CentOS 6 misafirinde:

$ sudo /sbin/chkconfig ntpd off
$ /sbin/chkconfig --list | grep ntp
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off

Konukta, adlı hizmeti yeniden başlatın vboxadd-service. Misafir İlavelerinin daha önce kurulduğunu varsayarsak, bu hizmet kurulmuş ve etkinleştirilmiş olurdu. Bir CentOS 6 misafirinde:

$ /sbin/service vboxadd-service status
Checking for VBoxService ...running
$ sudo /sbin/service vboxadd-service restart
Stopping VirtualBox Guest Addition service                 [  OK  ]
Starting VirtualBox Guest Addition service                 [  OK  ]
$ /sbin/service vboxadd-service status
Checking for VBoxService ...running

Konuğun saati henüz senkronize edilmediyse, konuğu yeniden başlatın.


Teşekkürler! vboxadd-serviceHizmeti yeniden başlatmanın son adımı, benim için çalışan şeylerin gerçekleşmesidir ve belgelenmemiş gibi görünmektedir (en azından verdiğiniz bağlantıda).
j_random_hacker

Bunu bir CentOS 7 misafirinde denediğimde vboxadd-service bulunamadı mı? Bu minimum kurulum, GUI yok.
Br.Bill

1

Virtualbox misafir ekini yüklemeden misafir ve ev sahibi arasında zamanı eşitlemek için başka bir çözüm veriyorum:

  1. NTP'yi misafirine yükle ve bu satırlardaki açıklamaları geri al /etc/ntp.conf.
disable auth
broadcastclient
  1. Ana makinenizde yayını etkinleştirin. Linux kullanıcıları için /etc/ntp.confdosyanızı düzenleyin ve satırı yapılandırın
broadcast 192.168.123.255 

Windows kullanıcıları için, “Windows Saati” servisini etkinleştirin. Daha sonra yayınlamak üzere yapılandırmak için bu sayfayı okuyabilirsiniz.


1
IP adresi 192.168.123.255 için önemli olan nedir?
Br.Bill
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.