Tengo alrededor de 20 servidores Linux en una red pequeña y necesito sus relojes decentemente cerca uno del otro (por ejemplo, dentro de 20 ms). Comencé con cada uno de ellos sincronizado con europe.pool.ntp.org y el trabajo está hecho.
Ahora tengo dos preguntas:
- ¿Soy una carga notable para la piscina? Es decir, ¿hay alguna diferencia notable en el grupo si estoy accediendo desde 20 servidores o desde 2?
- Si marca la diferencia, ¿cuál es la configuración / configuración que mantendrá mi subred sincronizada y el grupo bajo carga ligera? Hay pautas para redes enormes ( http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101 ) pero no he encontrado ninguna para redes pequeñas.
peer
relación. Véase, por ejemplo, ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101Respuestas:
Dado que el grupo necesita constantemente servidores durante muchos años (ver [1]), diría que aunque 2 o 20 servidores realmente no hacen la diferencia, siempre debe recordar que no está solo. Así que es mejor que piense en decir 1000 administradores, en cuyo caso estamos hablando de 2000 o 20000 servidores y esto hace la diferencia.
Debe sincronizar dos [2] servidores en su red con el grupo (llamémoslos Servidores NTP primarios ) y luego sincronizar todos los demás servidores con esos dos. Este método también tiene la ventaja de que el tiempo entre todos sus servidores será más similar (en menos de 1 ms). Esto está de acuerdo con las mejores prácticas de IETF .
1) La configuración para los servidores NTP primarios
Reemplace las líneas
server
yrestrict
de su ntp [d] .conf con lo siguiente y mantenga el resto en sus valores predeterminados de distribución [3]:Tenga en cuenta que esta configuración también permite que los hosts de todo Internet consulten su tiempo de host a través de consultas NTP. Use su firewall si no lo desea. En mi ejemplo, 10.11.12.1 y 10.11.12.2 son las IP de los servidores NTP primarios (tienen dos tarjetas de red, una frente a Internet pública y otra a la subred local 10.11.12.x). Cada servidor NTP primario tiene el otro declarado como un igual (el igual básicamente significa servidor y cliente: usted usa el otro host como fuente de tiempo y el otro host también lo usa a usted como fuente de tiempo). Por lo tanto, ajuste la IP en la primera línea para que la configuración de cada servidor NTP primario apunte al otro como un igual. Ver [4] con respecto a mi elección de usar 4 servidores.
2) La configuración para todos los demás servidores
2A) Si tiene dos interfaces de red
Es mejor usar la segunda interfaz para crear una subred local (por ejemplo
10.11.12.0/24
) y usarla para consultas NTP. En ese caso, las líneas de restricción pueden ser más ajustadas. Así que de nuevo reemplace las líneasserver
yrestrict
de su ntp [d] .conf con lo siguiente y mantenga el resto en sus valores predeterminados de distribución [3]:2B) Si no tiene dos interfaces de red
Debe usar las siguientes líneas de restricción (y leer la nota sobre el uso de su firewall para bloquear el acceso a sus servidores NTP arriba). Así que de nuevo reemplace las líneas
server
yrestrict
de su ntp [d] .conf con lo siguiente y mantenga el resto en sus valores predeterminados de distribución [3]:Notas
[1] De 2006 a 2012 solicitan constantemente más servidores para unirse: la solicitud de 2006 , la de 2009 y la de 2012 . Visite www.pool.ntp.org para obtener actualizaciones sobre el estado actual.
[2] Dos servidores NTP primarios solo se sugieren como una forma simple de tener redundancia sin complicados arreglos de alta disponibilidad. Puede optar por 3 o 4 por otros motivos (lea nuevamente las mejores prácticas de IETF )
[3] En la práctica y sin importar su distribución, lo único que debe incluir en su configuración de ntpd es una línea que defina un directorio para colocar un archivo de deriva y un nombre para él, por ejemplo
driftfile /var/lib/ntp/ntp.drift
. He probado mi solución en CentOS, Debian y Ubuntu. Supongo que funciona en la mayoría de las otras distribuciones.[4] He configurado 4 servidores de grupo siguiendo las mejores prácticas . La configuración de más de 4 servidores es técnicamente aceptada, pero aumentará la carga al grupo NTP para obtener una ganancia cuestionable en la disponibilidad, así que no lo haga. En las mejores prácticas veo que "a partir de ntp-4.2.6, la directiva 'pool' generará" suficientes "asociaciones para proporcionar un servicio de tiempo robusto", así que si usa .pool. direcciones como lo hago aquí y ntp> = 4.2.6 el número exacto de líneas de servidor probablemente no importa.
Rant Oh! Odio NTP (excepto que me gusta que funcione). La documentación oficial está llena de información obsoleta y tienen "¿cómo la uso?" información mezclada con detalles científicos sobre las partes internas. Y también odio lo que
restrict 127.0.0.1
realmente significaallow everything for 127.0.0.1
Historial de actualizaciones.
He eliminado la
iburst
opción de la configuración de los servidores NTP locales porque su amistad con el grupo es discutible. (ver comentarios). Eliminarlos solo agrega un par de minutos de tiempo de espera a la primera sincronización.Créditos
Los comentarios y respuestas de los usuarios de SF Marki y Sven proporcionaron un buen punto de partida para esta respuesta. Gracias a ambos.
fuente
iburst
es un parámetro molesto para usar en servidores públicos, así que no lo hagas (aunque no es tan molesto comoburst
). Los administradores de los servidores de grupos de servidores le están haciendo un favor sin saber quién es usted, y sin ninguna recompensa para sí mismos, simplemente para el mejor funcionamiento de Internet. Si usted, trabajando más duro, puede facilitarles la vida, se lo debe a ellos.burst
, pero inclusoiburst
dice (desde lantpd
página de manual) " con esta opción se intercambia una gran cantidad de mensajes para preparar los datos y configurar el reloj en aproximadamente 10 segundos ". Usariburst
dice " configurar mi reloj rápidamente es más importante que mantener baja la carga en su servidor ", y eso es descortés.iburst
es mucho menos objetable queburst
. Mi punto es que cuando estás usando el recurso de otra persona de forma gratuita, hay un argumento de que debes inclinarte hacia atrás para ser considerado; simplemente no ser activamente desconsiderado puede no considerarse suficiente. Estoy de acuerdo en que se dice que es la mejor práctica, pero esos documentos no tienen en cuenta si los servidores ascendentes a los que está sincronizando son parte de su empresa o no; dictan las mejores prácticas técnicas (que, estoy de acuerdo, es usariburst
) en lugar de las mejores prácticas sociales .El enfoque habitual para esto es usar una configuración escalonada: sincroniza uno o dos servidores en su red con el grupo y luego los usa como su fuente de tiempo local. Estos niveles se llaman estratos en la jerga NTP.
Además, piénselo: si hace esto como lo describió, no se notará realmente, pero si 1000 sitios de su tamaño comienzan esto, terminará con 20k solicitudes en su mayoría innecesarias y, en algún momento, se notará.
Lea http://en.wikipedia.org/wiki/Network_Time_Protocol
fuente
pool.ntp.org
. Seguramente el tráfico DNS excede el tráfico NTP. ¿También tiene que almacenar en caché DNS localmente? Es probable que incluso el tráfico DNS sea minúsculo en comparación con el resto del consumo de ancho de banda.ntp.pool.org
ellos, infringen los términos del grupo ; si lo han hecho correctamente al solicitar una zona de proveedor (ver enlace), también se espera que contribuyan al proyecto del grupo en proporción a su carga (nuevamente, vea el enlace).