Estoy realizando algunos experimentos en una red de aproximadamente 10 computadoras Linux remotas que están geográficamente dispersas.
Sospecho que algunos de ellos tienen desfases en el reloj, pero se ven de forma transitoria (por ejemplo, una vez a la semana o dos veces al mes).
Me preguntaba si existen algunas herramientas que puedan detectar y cuantificar tales desviaciones del reloj. También me pregunto si la desviación del reloj es el término correcto para lo que estoy presenciando o si podría llamarse sincronización del reloj.
Respuesta1
¿Está intentando mantener los relojes sincronizados a la hora correcta o está intentando determinar qué tan preciso es realmente el reloj en tiempo real, sin estar sincronizado?
Si simplemente desea que las horas sean correctas, existe toda una jerarquía de servidores de hora con los que los sistemas pueden sincronizarse y, a menudo, está integrada en el sistema operativo, aunque normalmente puede especificar servidores de hora. Además, un sistema puede sincronizarse con un servidor de hora y luego ejecutar su propio servidor de hora para que los otros sistemas se sincronicen.
He visto, e incluso usado en el pasado, programas que no sólo se sincronizan a una hora estándar, sino que también se mantienen al día con la deriva de la computadora local desde la última sincronización. Utilicé esto en el pasado cuando teníamos conexiones a Internet intermitentes, por lo que el programa corrigía la hora utilizando el historial de deriva esperada.
Por lo general, con cualquiera de estos métodos, si la corrección es demasiada, se puede asumir un error y no realizar ninguna corrección.
Con suerte, no me estoy perdiendo del todo tu punto. :)
Respuesta2
Utilice el demonio NTP para esto.
Defina una cantidad de servidores ntp independientes para contactar (ntp.conf, directiva de servidor). 3 servidores son buenos, más son mejores.
El protocolo de tiempo de red solucionará las fuentes de tiempo "malas". Mire el resultado ntpq -p
después de ejecutar ntpd
durante un par de horas.
Verás qué servidor primario se ha elegido, cuáles se consideran "buenos" y cuáles se consideran "malos". La salida también contieneestar nerviosoy latencia (compensar). Estos son probablemente los valores que busca...
Respuesta3
La utilidad crony tiene un archivo de deriva. Ver:http://chrony.tuxfamily.org/manual.html#Configuration-options-overview
No sé el formato de ese archivo porque todavía no lo he instalado. Tiene un comando para ver la información de deriva: chronyc sourcestats -v
Planeo instalar crony en mis máquinas virtuales para empezar.
Este sitio parece útil:http://www.markus-gattol.name/ws/time.html
Respuesta4
Por si sirve de algo, ayer necesitaba comprobar yo mismo el nivel de sesgo entre dos sistemas Linux. Antes de buscar herramientas, utilicé este método no científico que me dio resultados suficientemente buenos para mis propósitos (comparar marcas de tiempo de salidas de registros de los dos sistemas).
- Inicie una sesión de Putty en cada sistema y alinéelos uno al lado del otro
Ejecute el siguiente comando en ambos sistemas:
$ while true; do date +%H:%M:%S.%N; done
- Tome una captura de pantalla y compare las últimas entradas en cada ventana.
¡Podría ser útil para alguien en apuros!