Timesync en HyperV con CentOS 6.2

11

Tengo una VM CentOS (versión 6.2) ejecutándose bajo HyperV. Tengo instalados los servicios de integración (parte de la base ahora), y CentOS muestra que la fuente de reloj actual es hyperv_clocksource, sin embargo, mi tiempo en la VM es de aproximadamente 10 minutos rápido después de una semana de tiempo de actividad. Entiendo que el nuevo IC y la fuente de reloj enchufable es que esto ya no debería suceder. ¿Hay alguna configuración adicional necesaria para que la fuente de reloj enchufable "funcione"?

Sé que hay muchos enlaces sobre cómo configurar las opciones del kernel para PIT y varias cosas por el estilo, pero todos parecen ser anteriores al soporte integrado de fuente de reloj, y según tengo entendido, ya no debería ser necesario. Tampoco debe ntpd ni adjtimex.

Editar: Estaba ejecutando 3.2 de IC (lo que se envía con Centos 6.2), actualizado a 3.3 hoy, la máquina ha estado funcionando durante 1 hora y 22 minutos y el reloj ya es 5 segundos más rápido. Así que ahora estoy ejecutando el último IC y todavía tengo el mismo problema.

WaldenL
fuente
Sí, el tiempo es rápido, no lento. Lo cual es aún más extraño ya que el problema típico del reloj VM es la pérdida de tiempo, no la ganancia de tiempo.
WaldenL
si haces un powerhell get-winevent -provider Microsoft-Windows-Hyper-V-Integration-TimeSync | seleccionar mensaje | select-string "servername" ves errores de sincronización en el momento
tony roth
No importa los mensajes sobre errores de sincronización de tiempo, no hay mensajes para ese proveedor en absoluto. Hay otros mensajes de Hyper-V, pero ninguno para TimeSync.
WaldenL

Respuestas:

3

He tenido este problema en el pasado y lo corregí modificando los interruptores de inicio (notsc divider = 10) y la configuración de 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

Muestra 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

Fuente:

Corrección de Linux Clock Drift en Hyper-V en Server 2008 R2
http://hardanswers.net/correct-clock-drift-in-centos-hyper-v

Greg Askew
fuente
1
Esto podría funcionar. La postura oficial de MS es instalar / habilitar características de integración, incluida la sincronización de tiempo, y deshabilitar cualquier demonio de tiempo en VM (ntpd).
Chris S
VMWare también recomienda esto divider=10en muchas constelaciones de Linux.
Nils
Perdón por el voto negativo, pero estos son precisamente los ajustes que se supone que no son necesarios con la fuente de tiempo enchufable en los nuevos componentes de integración.
WaldenL 01 de
2

Primero, verifique si hyper-v está detectando los servicios de integración. La única forma en que sé cómo es usar el administrador de máquinas virtuales del centro del sistema, pero supongo que debe haber una manera de usar mmc de hyper-v.

Además, he visto que esto sucede cuando la sincronización del reloj está deshabilitada en la configuración de VM. Por qué el reloj corre más rápido está más allá de mí. He adjuntado una captura de pantalla de la configuración de VM para su referencia. ingrese la descripción de la imagen aquí

cuello largo
fuente
Sí, todos los servicios están habilitados.
WaldenL 01 de
¿Hyper-v informa que ha detectado los servicios de integración?
longneck 01 de
Pregunta interesante, no estoy seguro de cómo saberlo. El show comenzó en el invitado, y supongo que no lo harían si no se hubieran comunicado con el anfitrión, pero no puedo decirlo con certeza. No tengo scvmm, así que tampoco estoy seguro de contarlo.
WaldenL 01 de
Cuando miras el vm en el mmc, ¿dice latido del corazón bien en la parte inferior? Eso indicaría que al menos el servicio de heartbeat se está comunicando.
longneck 01 de
Sí dice "Heartbeat: OK", por lo que parece que al menos el canal de comunicaciones está abierto.
WaldenL
2

La deriva del reloj invitado de Hyper-V Linux bajo carga es lamentablemente bastante común (la deriva del reloj en máquinas virtuales no sincronizadas es algo inevitable). Ver el reloj de Linux pierde 10 minutos cada semana y la máquina Hyper-V pierde tiempo, incluso con NTP para otras publicaciones que hablan de eso. La evidencia anecdótica que he visto dice lo siguiente:

Luego
fuente