¿Qué tan lejos está "demasiado lejos" para ntpd? ¿Puede llegar allí con un salto repentino a una carga pesada? ¿Se puede anular esto?

21

En muchos cebadores en ntpd, como este , siempre hay una advertencia de que ntpd dejará de reiniciar el reloj "[si] su reloj está demasiado lejos".

¿Qué tan lejos está "demasiado lejos"?

Además, si un servidor da un salto repentino a una carga pesada, por ejemplo, de inactividad total al 100% de la CPU, ¿el aumento de la temperatura hará que el reloj se desvíe "demasiado lejos"?

¿Se puede configurar ntpd para restablecer el reloj incluso si la hora está "demasiado lejos" o al menos hacer "demasiado lejos" un poco más?


fuente
How far off is "too far off"?Depende ¿Qué sistema operativo (s) / distribuciones estás usando específicamente?
HopelessN00b
@ Servidor ubuntu HopelessN00b. Pensé que sería difícil de precisar debido a la complejidad del algo, por lo que puedo vivir con una figura de estadio.
Todas sus preguntas son variables que puede establecer en la configuración
Jacob
@ Jacob Gracias Jacob! ¿Te importaría mostrarme dónde? Nunca he visto nada que amplíe la banda de reinicio, y todo lo que puedo encontrar para una frecuencia de sincronización más alta es lo burstque lo excluye. :/ ¡Muchas gracias de antemano!
No creo que la carga o la temperatura de la CPU tengan ningún efecto en su reloj. Todos los temporizadores en una computadora típica en última instancia provienen de un oscilador que, hasta donde yo sé, está fuera del paquete de la CPU y no se ve afectado por nada de lo que la CPU está haciendo.
Nate Eldredge

Respuestas:

19

En primer lugar, la diferencia máxima predeterminada es 1000s como otros han mencionado. Como dijo @kyle, puede usar la -gbandera para ignorar esta UNA vez solo para configurar inicialmente su reloj.

Después de eso, realmente no debería ver su reloj a la deriva por 1000s entre actualizaciones incluso bajo alta carga, y si lo hace, realmente necesita reemplazar el reloj. Los ajustes en la configuración que necesita son minpolly maxpoll. Esto le permitirá establecer la duración del intervalo a la potencia de 2 (por ejemplo, 10 significa 2 10 = 1024 s).

Tenga en cuenta que es probable que su sistema no se desplace sustancialmente incluso bajo una carga alta, y la configuración predeterminada debería mantenerlo bajo control. No desea bombardear los servidores NTP con actualizaciones cada segundo, ya que está desperdiciando recursos, esto lo bloqueará y lo más probable es que llame a su ISP NOC. Si realmente necesita un tiempo extremadamente preciso, use el GPS o configure su propio servidor NTP.

Jacob
fuente
2
Dependiendo de lo que haga, los pocos ms que puede derivar por día son "sustancialmente" para las personas.
PlasmaHH
2
@PlasmaHH Entonces sugeriría utilizar una mejor fuente de tiempo como el GPS.
Jacob
¡Muchas gracias Jacob! ¿Sabes cuál es el límite de tasa más común? Me gustaría mantener un buen tiempo dentro de la banda de 10 ms que se muestra aquí ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK sin hardware costoso. ¡Muchas gracias por adelantado!
1
@Gracchus Depende de los servidores NTP individuales, y tendrías que contactarlos. En mi opinión, está tratando de usar NTP como una muleta para algo donde necesita un tiempo muy preciso. Como tal, debe usar una mejor solución (como GPS) para obtenerla en lugar de agregar carga a un servicio gratuito.
Jacob
3
@ Gabe: Reemplazar aquí también puede significar agregar otro reloj al sistema. También hay bastantes opciones para agregar varios tipos de relojes como tarjetas pci.
PlasmaHH
12

NTPD puede ajustar su reloj en incrementos lentos si está apagado, el reloj gira. La idea detrás de eso es que los pasos lentos no causarán problemas con los temporizadores de software, brechas extrañas en los archivos de registro, etc.

La velocidad de respuesta máxima posible está limitada a 500 partes por millón (PPM) por el núcleo de Unix. Como resultado, el reloj puede tomar 2000s por cada segundo que el reloj está fuera del rango aceptable.

De acuerdo con la página del manual, ntpd no funcionará si su reloj está más de 1000 segundos apagado.

Dado que girar el reloj para ajustarlo en 1000 segundos tomará al menos 3 semanas y durante ese tiempo todas las marcas de fecha / hora todavía están apagadas, eso no parece irrazonable.

El ntpdatecomando tiene un interruptor -b para simplemente ajustar el tiempo sin girar. Esto es útil en casos donde el reloj del sistema local se desvía demasiado de la hora "correcta".

HBruijn
fuente
9

Esto se especifica en man ntpd, y al anularlo, podría interesarle la -gopción ( tenga en cuenta que "es 1000 s por defecto":

-g Normalmente, ntpdsale con un mensaje en el registro del sistema si el desplazamiento supera el umbral de pánico, que es 1000 s de forma predeterminada. Esta opción permite establecer el tiempo en cualquier valor sin restricción; Sin embargo, esto puede suceder solo una vez. Si se supera el umbral después de eso, ntpdsaldrá con un mensaje en el registro del sistema. Esta opción se puede usar con las opciones -qy -x. Vea el tinkercomando para otras opciones.

Puedes ajustar esto en ntpd.conf. Si desea desactivarlo, puede configurarlo tinker panic 0. Consulte la documentación de Opciones varias para obtener más información.

Kyle Brandt
fuente
¡Perfecto! Finalmente encontrado minpolly maxpoll. ¡Gracias!
Kyle esto está mal. Este es un comando único y no resolverá problemas futuros. Tampoco mencionas minpollo maxpoll.
Jacob
1
Para que esto funcione para mí, tuve que usar los siguientes pasos 'sudo service ntp stop' 'ntpq -gq' y 'sudo service ntp start'
Terry Horner