호스트가 최대 절전 모드에서 재개 된 후 가상 게스트로 실행중인 Linux에서 시간을 올바르게 동기화하는 방법은 무엇입니까?


19

개발을 위해 여러 개의 가상 상자를 사용하며 git commits를 푸시 할 때 정확한 시간과 날짜가 중요합니다. 호스트를 종료하지 않습니다. 다시 시작하지 않고 몇 달 동안 실행됩니다. 밤과 주말에만 동면합니다. 이것은 내 게스트 운영 체제 (turnkeylinux.org의 모든 데비안)에 이상한 문제를 일으 킵니다-얼마 후 게스트 운영 체제 날짜가 며칠이 지났습니다.

모든 게스트가 NTP를 사용하지만 날짜가 일부 큰 값으로 벗어난 것을 감지하면 작동하지 않습니다 (몇 시간이면 충분 함). 시간 차이가 큰 경우에도 NTP 동기화를 강제 할 수있는 방법이 있습니까? 또는 호스트가 최대 절전 모드에서 다시 시작한 후 게스트 상자에서 올바른 날짜와 시간을 복원하는 다른 솔루션은 무엇입니까?


1
자세한 내용은이 답변을 참조하십시오-기본적으로 게스트 추가는 NTP가 필요없는 직접 클록 동기화를 제공합니다. superuser.com/questions/463106/…
Pierz

답변:


17

간단히 : 설치 (ntp 패키지 및) VirtualBox Guest Additions :)

  • 호스트 : Windows 6.1 SP1, x64, 3GB
  • VirtualBox : v4.3.6
  • 게스트 : 데비안 7.3, 32 비트, 768KB

VirtualBox에서 파일 Oracle\VirtualBox\VBoxGuestAdditions.iso을 게스트 시스템 (설정 / 스토리지)에 루트로 연결합니다

cd /media/cdrom0
sh ./VBoxLinuxAdditions.run

"9.4. Linux 및 Solaris 게스트를위한 고급 구성"의 VirtualBox 도움말에 단계가 설명되어 있지만 linux-headers-3.2.0-4-486먼저 패키지를 설치해야했습니다 .
그런 다음 루트로

/usr/lib/VBoxGuestAdditions/vboxadd setup
/usr/lib/VBoxGuestAdditions/vboxadd-service setup
/usr/lib/VBoxGuestAdditions/vboxadd setup

그런 다음 게스트를 재부팅하십시오.

게스트 시스템을 종료하고 ( Alt+ F4, VirtualBox에서 게스트 상태를 저장하도록 주문) 5 분 동안 기다린 다음 게스트 시스템을 다시 시작했습니다
. 처음에는 시계가 이전 값에서 복원되었지만 몇 초 후에 다 잘됐다 (시계 동기화)


사실, 그것은 내가 끝낸 일입니다. :) 답변을 게시 할 시간이 없었기 때문에 크레딧은 당신에게 전달됩니다.
SiliconMind

게스트 추가 클럭 동기화에는 NTP가 필요하지 않으며 게스트 추가 데몬 (VBoxService)에서 수행합니다.
Pierz

2
왜 첫 번째 명령을 두 번 반복하라고 제안합니까? 정말 필요한가요?
RDP

@RDP <quote> 첫 번째 명령을 두 번 반복해야합니까? </ quote> 기억이 나지 않으며 설명서가 변경되었습니다. [ virtualbox.org/manual/ch09.html#idm7495]
Pierre

gcc를 설치하고 만들어야합니다. vboxadd 서비스를 시작할 때 오류로 표시되지 않습니다. 그러나 vboxadd를 명시 적으로 실행하지 않으면 패키지를 설치하는 데 도움이되는 제안이 없습니다 .VBoxLinuxAdditions.run은이를 공개하지 않습니다.
Harry Tsai

1

NTP 서버는 가상 머신 내부에서 실행되도록 설계되지 않았습니다. 높은 수준의 정확도로 서비스되는 클록 인터럽트에 대한 응답 시간이있는 고해상도 시스템 클록이 필요합니다. NTP 클라이언트는 일부 가상화 솔루션에서 실행할 수 있습니다. 시스템의 기본 OS에서 NTP를 실행 한 다음 다양한 게스트 OS가 시스템에서 생성 된 우수한 시계를 활용하도록하십시오. 가상 머신 클라이언트가 가상 클록을 실제 시스템 클록에 적절히 동기화 할 수 있도록 추가 도구 또는 커널 옵션이 필요할 수 있으므로 충분하지 않을 수도 있습니다.

출처 : NTP의 알려진 문제 지원

그 진술에서 중요한 부분이 git commit time이라는 것을 읽으면 호스트 컴퓨터에서 시간을 수집하기 위해 사전 커밋 후크를 작성하는 것이 쉽지 않을 것입니다. 호스트 컴퓨터에 간단히 요청하면 얻을 수 있습니다.

ssh hostmachine "date +%Y%m%d%H%M%s"


고맙지 만 그 대답은 아닙니다 :) VirtualBox를 사용하고 있으며 시간 동기화 옵션이 없습니다. NTP가 아니라면 무엇입니까?
SiliconMind

죄송합니다, 나는 도약했습니다 ...하지만 지금은 편집으로 내 생각을 명확히했습니다.
vgoff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.