Introducción
El cronometraje preciso se ha convertido en un componente crítico de las implementaciones modernas de software. Ya sea que se esté asegurando de que los registros se registren en el orden correcto o que las actualizaciones de la base de datos se apliquen correctamente, el tiempo fuera de sincronización puede causar errores, corrupción de datos y otros problemas difíciles de depuración. Hoy vamos a ver cómo configurar la sincronización del tiempo en Debian 10 con ntp.
Debian 10 tiene sincronización de tiempo incorporada y activada por defecto usando el servidor de tiempo ntpd estándar, provisto por ntp paquete. En este artículo veremos algunos comandos básicos relacionados con el tiempo, verificaremos que ntpd esté activo y conectado a sus pares, y aprenderemos cómo activar el servicio de tiempo de red alternativo systemd-timesyncd.
Prerrequisitos
Antes de comenzar este tutorial, necesitará un servidor Debian 10 con un servidor no root, sudo
usuario habilitado, como se describe en este tutorial de configuración del servidor Debian 10.
Paso 1: navegar por los comandos de tiempo básicos
El comando más básico para averiguar la hora en su servidor es date
. Cualquier usuario puede escribir este comando para imprimir la fecha y la hora:
Output
Wed 31 Jul 2019 06:03:19 PM UTC
La mayoría de las veces, su servidor tendrá el valor predeterminado UTC zona horaria, como se resalta en la salida anterior. UTC es Tiempo universal coordinado, el tiempo a cero grados de longitud. El uso constante de Universal Time reduce la confusión cuando su infraestructura abarca varias zonas horarias.
Si tiene diferentes requisitos y necesita cambiar la zona horaria, puede usar el timedatectl
comando para hacerlo.
Primero, enumere las zonas horarias disponibles:
- timedatectl list-timezones
Se imprimirá una lista de zonas horarias en su pantalla. Puedes presionar SPACE
para avanzar y b
para subir de página. Una vez que encuentre la zona horaria correcta, anótela y escriba q
para salir de la lista
Ahora configure la zona horaria con timedatectl set-timezone
, asegurándose de reemplazar la parte resaltada a continuación con la zona horaria que encontró en la lista. Necesitarás usar sudo
con timedatectl
para hacer este cambio:
- sudo timedatectl set-timezone America/New_York
Puede verificar sus cambios ejecutando date
de nuevo:
Output
Wed 31 Jul 2019 02:08:43 PM EDT
La abreviatura de la zona horaria debe reflejar el nuevo valor elegido.
Ahora que sabemos cómo verificar el reloj y establecer zonas horarias, asegurémonos de que nuestra hora se sincronice correctamente.
Paso 2 – Verificando el estado de ntpd
De forma predeterminada, Debian 10 ejecuta el servidor ntpd estándar para mantener sincronizada la hora de su sistema con un grupo de servidores de hora externos. Podemos comprobar que se está ejecutando con el systemctl
mando:
- sudo systemctl status ntp
Output
● ntp.service – Network Time Service Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-07-31 13:57:08 EDT; 17min ago Docs: man:ntpd(8) Main PID: 429 (ntpd) Tasks: 2 (limit: 1168) Memory: 2.1M CGroup: /system.slice/ntp.service └─429 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112 . . .
los active (running)
El estado indica que ntpd se inició correctamente. Para obtener más información sobre el estado de ntpd podemos usar el ntpq
mando:
Output
ntpq
es una herramienta de consulta para ntpd. los -p
flag solicita información sobre los servidores NTP (o pagseers) ntpd está conectado a. Su salida será ligeramente diferente, pero debería enumerar los servidores de grupo de Debian predeterminados más algunos otros. Tenga en cuenta que ntpd puede tardar unos minutos en establecer conexiones.
Paso 3 – Cambiar a systemd-timesyncd
Es posible usar el sistema incorporado timesyncd componente para reemplazar ntpd. timesyncd es una alternativa más liviana a ntpd que está más integrada con systemd. Sin embargo, tenga en cuenta que no admite la ejecución como un servidor horario, y es un poco menos sofisticado en las técnicas que utiliza para mantener sincronizada la hora de su sistema. Si está ejecutando sistemas distribuidos complejos en tiempo real, es posible que desee seguir con ntpd.
Para usar timesyncd, primero debemos desinstalar ntpd:
Luego, inicie el servicio timesyncd:
- sudo systemctl start systemd-timesyncd
Finalmente, verifique el estado del servicio para asegurarse de que se esté ejecutando:
- sudo systemctl status systemd-timesyncd
Output
● systemd-timesyncd.service – Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: active (running) since Wed 2019-07-31 14:21:37 EDT; 6s ago Docs: man:systemd-timesyncd.service(8) Main PID: 1681 (systemd-timesyn) Status: «Synchronized to time server for the first time 96.245.170.99:123 (0.debian.pool.ntp.org).» Tasks: 2 (limit: 1168) Memory: 1.3M CGroup: /system.slice/systemd-timesyncd.service └─1681 /lib/systemd/systemd-timesyncd
Nosotros podemos usar timedatectl
para imprimir la comprensión actual del sistema de la hora:
Output
Local time: Wed 2019-07-31 14:22:15 EDT Universal time: Wed 2019-07-31 18:22:15 UTC RTC time: n/a Time zone: America/New_York (EDT, -0400) System clock synchronized: yes NTP service: active RTC in local TZ: no
Esto imprime la hora local, la hora universal (que puede ser la misma que la hora local, si no cambiaste de la zona horaria UTC) y alguna información sobre el estado de la hora de la red. System clock synchronized: yes
significa que el tiempo se ha sincronizado correctamente y NTP service: active
significa que timesyncd está habilitado y ejecutándose.
Conclusión
En este artículo, hemos mostrado cómo ver la hora del sistema, cambiar las zonas horarias, trabajar con ntpd y cambiar al servicio timesyncd del sistema. Si tiene necesidades de cronometraje más sofisticadas que las que hemos cubierto aquí, puede consultar la documentación oficial de NTP y también eche un vistazo a el proyecto de agrupación Debian 10, un grupo global de voluntarios que proporcionan gran parte de la infraestructura NTP del mundo.
Para ver los servicios personalizados que ofrece IT ENCORE pinche aquí.