Timesync na HyperV z CentOS 6.2

11

Mam maszynę Wirtualną CentOS (wydanie 6.2) działającą pod HyperV. Mam zainstalowane usługi integracyjne (teraz część bazy), a CentOS pokazuje, że bieżącym źródłem zegara jest hyperv_clocksource, jednak mój czas na maszynie wirtualnej wynosi około 10 minut po tygodniu bezczynności. Rozumiem nowy układ scalony i podłączane źródło zegara, że ​​nie powinno się to więcej dziać. Czy potrzebna jest jakaś dodatkowa konfiguracja, aby źródło zegarowe „działało”?

Wiem, że istnieje wiele linków do ustawiania opcji jądra dla PIT i różnych tego typu rzeczy, ale wszystkie wydają się wcześniejsze niż zintegrowane wsparcie źródła zegara i, jak rozumiem, nie powinno to być potrzebne dłużej. Nie należy także ntpd ani adjtimex.

Edycja: działało 3.2 IC (jakie statki z Centos 6.2), zaktualizowane do 3.3 dzisiaj, maszyna działała przez 1 godzinę 22 minuty, a zegar jest już 5 sekund szybki. Więc teraz używam najnowszego układu scalonego i nadal mam ten sam problem.

WaldenL
źródło
Tak, czas jest szybki, a nie wolny. Co jest nawet dziwniejsze, ponieważ typowym problemem zegara VM jest strata czasu, a nie jego zysk.
WaldenL,
jeśli wykonasz PowerShell Get-Winevent-Provider Microsoft-Windows-Hyper-V-Integration-TimeSync | wybierz wiadomość | select-string "servername" widzisz błędy synchronizacji czasu
Tony Roth,
Bez względu na komunikaty o błędach synchronizacji czasu, nie ma żadnych komunikatów dla tego dostawcy. Istnieją inne komunikaty funkcji Hyper-V, ale nie dotyczy TimeSync.
WaldenL,

Odpowiedzi:

3

W przeszłości miałem ten problem i poprawiłem go, modyfikując przełączniki uruchamiania (dzielnik notsc = 10) i ustawienia ntp:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.6.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=/dev/VolGroup00/LogVol00 hda=noprobe hdb=noprobe notsc divider=10
    initrd /initrd-2.6.18-164.6.1.el5.img
title CentOS (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00
    initrd /initrd-2.6.18-164.el5.img

Przykładowy plik ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

Źródło:

Korygowanie znoszenia zegara systemu Linux na Hyper-V na serwerze 2008 R2
http://hardanswers.net/correct-clock-drift-in-centos-hyper-v

Greg Askew
źródło
1
To może zadziałać. Oficjalne stanowisko MS to instalowanie / włączanie funkcji integracji, w tym synchronizacji czasu, oraz wyłączanie wszelkich demonów czasu na maszynie wirtualnej (NTTP).
Chris S
VMWare zaleca to również divider=10w wielu konstelacjach systemu Linux.
Nils
Przepraszamy za negatywną opinię, ale są to dokładnie poprawki, które nie powinny być potrzebne w przypadku podłączanego źródła czasu w nowych komponentach integracji.
WaldenL
2

Najpierw sprawdź, czy funkcja Hyper-v wykrywa usługi integracji. Jedyny sposób, w jaki wiem, jak używać menedżera maszyn wirtualnych w centrum systemu, ale zakładam, że musi istnieć sposób korzystania z mmc hyper-v.

Widziałem to również, gdy synchronizacja zegara jest wyłączona w konfiguracji maszyny wirtualnej. Dlaczego zegar działa szybciej, jest poza mną. Dołączyłem zrzut ekranu konfiguracji VM. wprowadź opis zdjęcia tutaj

długa szyja
źródło
Tak, wszystkie usługi są włączone.
WaldenL
czy hyper-v zgłasza, że ​​wykrył usługi integracyjne?
longneck
Ciekawe pytanie, nie wiem, jak powiedzieć. Występy zaczęły się u gościa i zakładam , że nie zrobiliby tego, gdyby nie komunikowali się z gospodarzem, ale nie jestem tego pewien. Nie mam scvmm, więc nie jestem pewien, czy mam to powiedzieć.
WaldenL,
Kiedy patrzysz na vm w mmc, czy na dole jest napisane bicie serca? Oznaczałoby to, że komunikuje się przynajmniej usługa bicia serca.
longneck
Mówi „Heartbeat: OK”, więc przynajmniej kanał komunikacji jest otwarty.
WaldenL,
2

Przesunięcie zegara gościa w systemie Hyper-V pod obciążeniem jest niestety dość powszechne (przesunięcie zegara w niezsynchronizowanych maszynach wirtualnych jest nieco nieuniknione). Zobacz, jak zegar Linuksa traci 10 minut co tydzień, a maszyna Hyper-V płynie cały czas, nawet z NTP dla innych postów mówiących o tym. Anegdotyczne dowody, które widziałem, mówią, co następuje:

Zaraz
źródło