¿Por qué mi invitado Debian Hyper-V no se actualiza después de que el host se despierta del modo de suspensión?

¿Por qué mi invitado Debian Hyper-V no se actualiza después de que el host se despierta del modo de suspensión?

Tengo un host físico (portátil) de Windows 10 con Hyper-V instalado y habilitado y tengo un problema en el que, para una instalación invitada de Debian 9 bastante básica, el reloj no se actualiza después de que el host se pone en suspensión por un tiempo y luego se vuelve a despertar (supongo que el invitado está suspendido con el anfitrión).

Hasta donde tengo entendido, este problema debería ser manejado trivialmente por los servicios de integración de Hyper-V, quesonhabilitado tanto en la configuración de la máquina virtual (todos los servicios de integración habilitados) como en el invitado (todos los hv_*módulos están cargados), y donde uno de los servicios sincroniza la hora y se asegura de que se mantenga actualizado.

Entonces, ¿por qué no funciona en mi caso? No tengo NTP instalado y no quiero, en parte por principio (para solucionar el problema con Hyper-V específicamente) y en parte porque el invitado debe trabajar sin conexión a Internet ni servicios de host remoto. La zona horaria de mi host está configurada explícitamente en UTC (deambulo mucho con la computadora portátil y no necesito ni deseo asociar estáticamente al invitado con una zona horaria en particular), y TZen su lugar uso variables según sea necesario.

He leído un montón de páginas en Microsoft y algunos artículos de Altaro que parecían muy informados pero no lograron aclararme sobre esto. También he leído varias respuestas en sitios de Stack Exchange, donde la mitad recomienda usar NTP y la otra mitad se refieren principalmente a otra cosa o simplemente no brindan el consejo deseado.

Entiendo que tal vez haya alguna señal que no se activa en el huésped cuando el anfitrión vuelve de dormir (como lo haría si pusiera al huésped a dormir a través de ACPI, por ejemplo), pero ¿no debería ser esto un ¿problema resuelto?

¿Qué y dónde puedo solucionar el problema para asegurarme de poder cerrar de manera confiable la tapa de la computadora portátil (ponerla en suspensión) y esperar regresar con mi invitado con una marca de tiempo actualizada?

Respuesta1

Mira esto:https://github.com/clearlinux/distribution/issues/39

Una solución que funciona es deshabilitar todos los demás servicios de tiempo y usar chrony, en lugar de configurar solo el LIS hyperv timesource ptp0.

Asegúrese de que la fuente de tiempo del LIS esté disponible a través de:

ls /sys/class/ptp
ptp0

cat /sys/class/ptp/ptp0/clock_name 
hyperv

Ahora instale chrony para su distribución y verifique la ubicación de la configuración, luego cree la configuración que corresponda a su ptp. ubicación del dispositivo.

/etc/chrony.conf:

refclock PHC /dev/ptp0 trust
makestep 1 -1

Esto permitirá a chrony corregir la hora del sistema a través de la fuente hyperv ptp0 en un solo gran paso.

El tiempo de sondeo se puede reducir a 4 segundos (potencia de 2) mediante:

refclock PHC /dev/ptp0 trust poll 2

PD: Parece que esto es un error/descuido en Hyperv/LIS.

información relacionada