3 votos

¿Por qué necesito un ajuste para forzar a VMware ESXi 5 a sincronizar la hora con el servidor NTP de Windows?

Estoy atormentado por un problema aparentemente sencillo pero realmente molesto, por lo que pido ayuda aquí.

Síntoma

He instalado una instancia de VMware ESXi 5.1 dentro de VMware Workstation para aprender sobre varias características de ESXi. La llamaré máquina vESXi. Mi problema al ejecutar vESXi es que cada vez que suspendo el vESXi por la noche y lo reanudo al día siguiente, el tiempo en vESXi se retrasa. Es decir, si suspendo vESXi a las 22:00 de anoche y lo reanudo hoy por la mañana, veré que vESXi informa de que todavía son las 22:00 de anoche. Sé que esto es normal porque un sistema de PC mantiene su tiempo por el conteo de la interrupción del temporizador de hardware. Así que decido que vESXi utilice NTP para sincronizar con un servidor NTP. Mi servidor NTP es un controlador de dominio de Windows Server 2003 que se ejecuta en el mismo segmento de LAN.

Rápidamente observo el problema: mi vESXi nunca sincroniza su hora con el servidor NTP de Windows, no importa cuánto tiempo espere.

Puedes sugerir que apague vESXi en lugar de suspenderlo, pero realmente me encanta la función de suspensión que ofrece VMware Workstation, que es realmente rápida y fluida.

snap0327-esxi-time-drift.png

Preguntas

He leído http://kb.vmware.com/kb/1035833 que proporciona la solución (algún ajuste para que funcione con el servidor NTP de Windows), pero ese artículo de KB crea más desconcierto a la primera lectura. Lo que es más, es realmente engorroso para ajustar cada vESXi si tengo bastantes de ellos.

Q1(primaria): ¿Qué significan estas afirmaciones?

Por defecto, un servidor Windows no sincronizado elige una dispersión de 10 segundos y añade a la dispersión en cada intervalo de sondeo que permanece en sincronización. Un host ESXi/ESX, por defecto, no acepta ninguna respuesta NTP con a dispersión de las root superior a 1,5 segundos.

P2: La KB me dice que añada

tos maxdist 30

a /etc/ntp.conf . ¿Qué significa esa línea? La página man de ntpd.conf http://linux.die.net/man/5/ntp.conf parece no decir nada sobre tos o maxdist .

P3: Dado que el cliente (demonio) NTP de ESXi no se sincroniza correctamente con el servidor NTP asignado, ¿Genera ESXi algún mensaje de registro explicando el detalle?

P4: ¿Hay alguna forma de forzar al cliente ntp de ESXi a sincronizarse inmediatamente con un servidor NTP específico? Incluso una operación manual es bienvenida. No sé si el paquete de ntpd puede hacer esto.

P5: Sin manual /etc/ntp.conf tweak en ESXi, ¿qué tipo de servidor NTP puedo configurar para proporcionar la fuente de tiempo a mi caja vESXi? ¿ntpd de Linux o qué? ¿se requiere alguna configuración especial en el lado del servidor?

Gracias de antemano.

ACTUALIZACIÓN CON EXPERIMENTOS

Después de leer PREGUNTAS FRECUENTES SOBRE NTP y haciendo bastantes experimentos, he confirmado los siguientes hechos:

  1. Con el ajuste KB1035833, el vESXi puede realmente sincronizarse con mi servidor NTP de Windows, incluso si la hora del vESXi está 7 días por detrás del servidor (sólo una espera de 5 a 10 minutos).
  2. Usando viclient para asignar una máquina Linux (openSUSE 11.4, paquete ntp 4.2.6 en mi caso) en mi LAN como servidor NTP, el vESXi sin el ajuste KB1035833 puede también sincronizar con el servidor NTP con sólo 5 a 10 minutos de retraso, incluso con 7 días de retraso. Pero una cosa que me parece que tengo que tener en cuenta es que tengo que marcar Reiniciar el servicio NTP para aplicar los cambios en viclient para forzar la sincronización horaria en breve (en 5 a 10 minutos). En otras palabras, si no reinicio el servicio NTP de ESXi, será bastante difícil predecir cuánto tiempo tardará en sincronizarse la hora después de reanudar vESXi con un retraso de una noche (a veces cuesta una hora o más) - probablemente porque el código del cliente NTP reanudado considera que la fluctuación de la hora del servidor NTP es inaceptable durante ese período.

Así que: Mi problema práctico con respecto al mantenimiento de la hora para vESXi ha sido resuelto(prefiriendo sincronizar la hora con un servidor NTP de Linux).

Ahora la atención se centra en la Q1. ¿Qué pasa con el servidor NTP de Windows? Espero que alguien pueda ayudar a explicar estas dos afirmaciones en la Q1 desde la perspectiva del protocolo NTP.

Expreso mi agradecimiento a quadruplebucky y a Reality Extractor por su útil información, aunque sus respuestas a mi problema específico no son del todo precisas.

5voto

Reality Extractor Puntos 1240

Si la diferencia horaria es demasiado grande, NTP no se sincronizará. Es el comportamiento esperado.

Normalmente, esto no es un problema, ya que las herramientas de VMware instaladas en un sistema operativo invitado sincronizarán la hora con el anfitrión, independientemente de la diferencia de tiempo. Dado que usted está utilizando la opción experimental y no soportada para ejecutar ESXi como VM no obtiene la funcionalidad de VMware Tools, y por lo tanto no se sincroniza.

Para tos maxdist puede revisar Opciones de configuración automática de NTP pero esos no resolverán tu problema porque el tiempo está demasiado lejos.

4voto

quadruplebucky Puntos 2838

Es una configuración bastante perversa, ESXi dentro de VMWare Workstation. Me quito el sombrero.

NTPD no hará enormes ajustes de tiempo como ese si "piensa" que ha estado funcionando (por, digamos, ser puesto a dormir). ESXi, desafortunadamente, no parece tener un binario ntpdate (que podría ejecutar a través de cron cada media hora más o menos y desactivar ntpd por completo).

He notado que el ntp tiende a corregirse por sí mismo si se detiene e inicia el servicio (tal vez unas cuantas veces).

Una solución fea, pero tal vez un trabajo cron para detener / iniciar ntpd?

Aquí hay un enlace sobre cómo añadir un trabajo cron a ESXi

Los comandos de parada y arranque son

/etc/init.d/ntpd stop
/etc/init.d/ntpd start

3voto

Jimm Chen Puntos 529

Por fin me doy cuenta. La clave para entender las declaraciones de la KB de VMware en la Q1 es el significado de dispersión . En realidad se refiere a la Dispersión de root en el paquete de respuesta NTP. Windows anuncia un campo de dispersión de root de unos 10 segundos, mientras que ntpd de Linux anuncia unos 0,01 segundos.

Creo que Microsoft lo hace deliberadamente y anuncia este comportamiento en http://support.microsoft.com/kb/939322/en-us .

La imagen siguiente muestra el campo de dispersión de 10 segundos (capturado con Microsoft Network Monitor 3.4).

enter image description here

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: