Korzystam z wielu wirtualnych skrzynek do programowania, a poprawna data i godzina są dla mnie ważne, kiedy pcham polecenia git. Nie wyłączam hosta - działa przez wiele miesięcy bez ponownego uruchamiania. Zimuję go tylko na noce i weekendy. Wprowadza to dziwny problem do moich systemów operacyjnych gości (wszyscy debianie z turnkeylinux.org) - po pewnym czasie data systemów operacyjnych gości jest wyłączona o kilka dni.
Chociaż wszyscy goście używają NTP, nie działa, jeśli wykryje, że data jest wyłączona z powodu dużych wartości (wydaje się, że wystarczy kilka godzin). Czy jest jakiś sposób na wymuszenie synchronizacji NTP nawet w przypadku dużych różnic czasowych? Lub jakiekolwiek inne rozwiązanie, które przywróciłoby poprawną datę i godzinę w skrzynkach gości po wznowieniu działania hosta ze stanu hibernacji?
źródło
Odpowiedzi:
W skrócie: Zainstaluj (pakiet ntp i) dodatki dla gości VirtualBox :)
Z VirtualBox, dołącz plik
Oracle\VirtualBox\VBoxGuestAdditions.iso
do systemu gościa (Ustawienia / Pamięć) i jako rootPomoc VirtualBox w „9.4. Zaawansowana konfiguracja dla gości Linux i Solaris” opisuje kroki, ale
linux-headers-3.2.0-4-486
najpierw musiałem zainstalować pakiet .Następnie jako root
Następnie uruchom ponownie gościa.
Sprawdziłem, wychodząc z systemu gościa ( Alt+ F4, a następnie zamów VirtualBox, aby zapisać stan gościa), odczekaj 5 minut, a następnie zrestartuj system gościa
Początkowo zegar został przywrócony z poprzedniej wartości, ale po kilku sekundach wszystko poszło dobrze (zegar zsynchronizowany)
źródło
Serwer NTP nie został zaprojektowany do działania wewnątrz maszyny wirtualnej. Wymaga zegara systemowego o wysokiej rozdzielczości, z czasami reakcji na przerwania zegarowe obsługiwane z wysoką dokładnością. Klient NTP może działać w niektórych rozwiązaniach do wirtualizacji. Uruchom NTP na podstawowym systemie operacyjnym komputera, a następnie pozwól, aby różne systemy operacyjne gości korzystały z dobrego zegara utworzonego w systemie. Nawet to może nie wystarczyć, ponieważ mogą istnieć dodatkowe narzędzia lub opcje jądra, które należy włączyć, aby klienci maszyn wirtualnych mogli odpowiednio zsynchronizować swoje zegary wirtualne z zegarem fizycznym.
Źródło: Obsługa znanych problemów NTP
Z tego oświadczenia i przeczytania, że waszą ważną częścią są czasy zatwierdzania git, byłoby trywialne napisanie haka przed zatwierdzeniem, aby zebrać czas z komputera hosta, a można to uzyskać po prostu pytając komputer hosta:
ssh hostmachine "date +%Y%m%d%H%M%s"
źródło