
En el pasado, he visto que la mayoría de mis computadoras en mi red local realmente no tienen la misma hora en aproximadamente 1 segundo.
Así que quería asegurarme de que fuera posible que una pila de servidores (por ejemplo, 48 computadoras 1U) tuvieran exactamente el mismo reloj. Sé que puedo usar NTP y sé que puedo hacer que un servidor obtenga la hora de un reloj atómico y los demás se sincronicen con ese servidor.
Sin embargo, tengo una preocupación principal con esa técnica: si ese servidor falla, entonces mi sincronización de tiempo se detiene... nada bueno.
¿Existe una manera adecuada de asegurarse de que 48 computadoras tengan su reloj sincronizado con una precisión de aproximadamente 0,5 µs? Si no son 0,5 µs, ¿qué podemos esperar? (es decir, ¿0,5 ms?)
Respuesta1
NTP puede utilizar un grupo de servidores (p. ej.http://www.pool.ntp.org/en/pero podría crear el suyo propio) para evitar el caso de que un servidor esté inactivo, y los servidores también pueden mantener un reloj local si por alguna razón todos sus servidores principales no están disponibles.
Respuesta2
De hecho encontré unentrada en el blogcon la información que estaba buscando. Mencionan que su clúster tiene computadoras sincronizadas correctamente a 1 ms mediante NTP.
Parece quePTP, como sugiere Michael Hampton, sigue la misma estrategia que en: hará uso de una computadora,el director, como fuente para la sincronización horaria, en lugar de intentar obtener la hora absoluta correcta en todas las computadoras (como resultado, siel directorestá fuera de 10 ms de lo que el mundo considerabatiempo real absoluto, todos los nodos estarán apagados en 10 ms).
La solución propuesta en ese documento es:
1)Configure una computadora para recuperar el tiempo absoluto con NTP. Si esa computadora falla, los relojes pueden comenzar a desviarse, pero no se volverán inexactos entre sí, sino que se desviarán en comparación con el anterior.tiempo real absolutosolo.
En este caso, utiliza server
definiciones (el director):
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
...
También configure esta computadora como un servidor NTP, digamoslocal.ntp
2)Configure las otras computadoras como pares
server local.ntp # only on a few other (3 to 5) computers
peer c0 iburst
peer c1 iburst
peer c2 iburst
No es necesario tener las 48 computadoras conectadas entre sí; en cambio, tendría entre 3 y 5 y cada computadora usaría una configuración ligeramente diferente (c1, c2, c3, luego c2, c3, c4, etc.). Como resultado se obtiene una red de igual a igual que se sincroniza entre sí lo más estrechamente posible, con algunas computadoras (3 a 5) conectadas al nodo definido en (1), es decir local.ntp
, para obtener el tiempo lo más cerca posible del tiempo real.
La local.ntp
referencia en sí misma puede verse como un par (¿incluso podrías convertirla en un par?)
restrict
PD: se recomienda encarecidamente el uso de cuando se utiliza peer
en una red semipública para evitar que otros accedan a su red NTP.