VirtualBox : 호스트 및 게스트 시간을 동기화하는 방법?


39

게스트 VM의 시간이 호스트 시간보다 약 20-30 분 더 빠릅니다. 게스트의 시간이 호스트의 시간과 동일하도록하려면 어떻게해야합니까?

답변:


16

Linux 호스트의 경우 먼저 게스트 시스템 ( source ) 에 DKMS (Dynamic Kernel Module Support) 패키지를 설치하십시오 .

$ sudo apt-get install dkms

그런 다음 게스트 추가를 게스트 시스템에 설치하십시오.

$ sudo apt-get install virtualbox-guest-additions

또한 VirtualBox 시간 동기화를 조정하기위한 일부 명령에 대한 설명이 있습니다 .


3
최근 배포판에서는 virtualbox-guest-dkms및에 대한 해당 패키지를 변경합니다 virtualbox-guest-utils.
Yvan

33

다음 설정을 통해 게스트는 호스트로부터 1 초 이내에 정확한 시간을 안정적으로 유지할 수 있습니다. VirtualBox 4.3.26을 실행하는 호스트와 동일한 버전의 VirtualBox Guest Additions를 실행하는 게스트에서 테스트되었습니다. VirtualBox 5.x의 경우 지금까지 이러한 구성을 변경할 필요가 없었습니다. 시간이 자동으로 동기화되었습니다.

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


호스트에서 VM을 나열하여 관련 VM의 이름을 확인하십시오.

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

호스트에서 아래 명령을 실행하여 게스트에 대한 시간 동기화 매개 변수를 구성하십시오. 먼저 $VMNAME적절한 값으로 설정하십시오 . 의 값에 $VMNAME공백이 있으면 인용해야합니다.

$ 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

위의 시간 매개 변수 값은 10의 배수로 제한되었습니다. timesync-set-threshold대신 10000 으로 설정 하려는 유혹 이있을 수 있지만, 트리거 될 때 시간이 다소 급격하게 변경되어 응용 프로그램이 중단 될 수 있습니다.


호스트에서 게스트에 대한 업데이트 된 관련 값을 봅니다. 언제든지 다시 확인할 수 있습니다.

$ 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:

게스트에서 모든 내부 NTP 및 관련 타임 키핑 서비스를 중지하고 비활성화합니다. VirtualBox를 방해 할 가능성이 있으므로 사용해서는 안됩니다. 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

게스트에서라는 서비스를 다시 시작하십시오 vboxadd-service. 게스트 추가 기능이 이전에 설치되었다고 가정하면이 서비스가 설치되어 활성화되었을 것입니다. 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

게스트 시간이 아직 동기화되지 않은 경우 게스트를 재부팅하십시오.


감사! vboxadd-service서비스 를 다시 시작하는 마지막 단계는 저에게 도움이되는 것이며 문서화되지 않은 것 같습니다 (적어도 귀하가 제공 한 링크에서).
j_random_hacker

CentOS 7 게스트에서이 작업을 시도하면 vboxadd-service를 찾을 수 없습니까? 이것은 GUI가 아닌 최소 설치입니다.
Br.Bill

1

Virtualbox 게스트 추가를 설치하지 않고 게스트와 호스트 사이의 시간을 동기화하는 다른 솔루션을 제공합니다.

  1. 게스트에 NTP를 설치하고에서이 줄의 주석을 해제하십시오 /etc/ntp.conf.
disable auth
broadcastclient
  1. 호스트에서 브로드 캐스트를 활성화하십시오. Linux 사용자의 경우 /etc/ntp.conf파일을 편집 하고 라인을 구성하십시오.
broadcast 192.168.123.255 

Windows 사용자의 경우 "Windows 시간"서비스를 활성화하십시오. 그런 다음 이 페이지읽어 브로드 캐스트 시간으로 구성 할 수 있습니다.


1
IP 주소 192.168.123.255에서 중요한 것은 무엇입니까?
Br.Bill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.