O tempo na minha VM convidada é mais rápido que o tempo do host em cerca de 20 a 30 minutos. O que posso fazer para que o horário do convidado seja igual ao do anfitrião?
Responder1
Para um host Linux, primeiro instale o pacote DKMS (Dynamic Kernel Module Support) na máquina convidada (fonte):
$ sudo apt-get install dkms
Em seguida, instale o Guest Additions no sistema convidado:
Ubuntu 20.04+
$ sudo apt-get install virtualbox-guest-utils
Ubuntu 18.04 ou anterior
$ sudo apt-get install virtualbox-guest-additions
Além disso, aqui estão descrições dealguns comandos para ajustar a sincronização de horário do VirtualBox.
Responder2
A configuração a seguir permite que meu convidado mantenha com segurança um tempo com precisão de 1 segundo em relação ao meu anfitrião. Ele é testado com o host executando o VirtualBox 4.3.26 e o convidado executando a mesma versão do VirtualBox Guest Additions. Quanto ao VirtualBox 5.x, até agora não tive necessidade de fazer essas alterações na configuração; a hora foi automaticamente sincronizada.
Referência:https://www.virtualbox.org/manual/ch09.html#changetimesync
No host, liste as VMs para verificar o nome da VM relevante.
$ VBoxManage list vms | awk '{print $1}'
"CentOS6"
No host, configure os parâmetros de sincronização de horário para o convidado executando os comandos abaixo. Primeiro defina $VMNAME
com seu valor apropriado. Se o valor de $VMNAME
contiver um espaço, ele deverá ser citado.
$ 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
Os valores dos parâmetros de tempo acima foram restritos a múltiplos de 10. Pode ser tentador definir timesync-set-threshold
como 10.000, mas isso pode causar o risco de uma mudança drástica de tempo quando for acionado e, portanto, pode interromper os aplicativos.
No host, visualize os valores relevantes atualizados para o convidado. Estes podem ser reconfirmados a qualquer momento.
$ 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:
No convidado, pare e desabilite todos os NTP internos e serviços de cronometragem relacionados. Eles não devem ser usados, pois podem interferir no VirtualBox. Em um convidado do CentOS 6:
$ 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
No convidado, reinicie o serviço chamado vboxadd-service
. Supondo que o Guest Additions tenha sido instalado anteriormente, este serviço teria sido instalado e ativado. Em um convidado do CentOS 6:
$ /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
Se a hora do convidado ainda não estiver sincronizada, reinicie o convidado.
Responder3
Apresento outra solução para sincronizar o tempo entre convidado e host sem instalar a adição de convidado do Virtualbox:
- Instale o NTP no seu convidado e remova os comentários dessas linhas no arquivo
/etc/ntp.conf
.
disable auth
broadcastclient
- Ative a transmissão em seu host. Para usuários Linux, edite seu
/etc/ntp.conf
arquivo e configure a linha
broadcast 192.168.123.255
Para usuários do Windows, ative o serviço “Windows Time”. Você pode entãoleia esta páginapara configurá-lo para horário de transmissão