Instalação do serviço de NTP (servidor de tempo) no Debian
Escrevi esse artigo para documentar a instalação do serviço de NTP no núcleo de processamento de dados da universidade na qual estudo. Espero que possa ajudar quem queira configurar um serviço como esse.
Parte 2: Configuração
A configuração do servidor NTP incluiu os seguintes passos:
Criação do arquivo de configuração. Este arquivo é o /usr/local/ntps/etc/ntp.conf.
OBS: O conteúdo do arquivo de configuração /usr/local/ntps/etc/ntp.conf encontra-se no final deste documento, no anexo.
Criação do arquivo "drift" com conteúdo vazio. A diretiva drift no arquivo de configuração indicará a localização e nome deste arquivo. Este arquivo é o /usr/local/ntps/etc/ntp.drift.
Inicialização do daemon ntpd. O daemon pode ser inicializado usando o seguinte comando:
# /usr/local/ntps/bin/ntpd -c /usr/local/ntps/etc/ntp.conf
Ou através do script de inicialização ntpd contido em /etc/init.d/.
OBS: O conteúdo do arquivo de configuração /etc/init.d/ntpd encontra-se no final deste documento, no anexo.
Existindo entre os respectivos relógios dos servidores local e remoto um offset (diferença) maior do que 1000 seg (aprox. 20 minutos), o daemon não configurará o relógio local, gerará automaticamente uma mensagem de log e se auto-desativará.
Para verificar se o daemon ntpd foi corretamente inicializado podem ser usados os utilitários ntpq e ntpdc, executando qualquer um dos seguintes comandos.
Implementando o serviço NTP na sua rede local:
ntpq -p <ip_servidor_NTP_local>
ntpdc <ip_servidor_NTP_local>
a) Uma inicialização sem sucesso será reportou no arquivo de logs por uma mensagem do tipo:
ntpq: read: Connection refused
Neste caso foi preciso ajustar previamente o relógio local com algum servidor NTP remoto, usando para tal o mecanismo de ajuste ntpdate:
ntpdate <ip_servidor_NTP_remoto>
b) Uma inicialização com sucesso foi indicada por uma saída do tipo:
$ ntpq -p xxx.xxx.xxx.xxx
remote refid st t when poll reach delay offset jitter
==========================================
*server2.pop-df. .GPS. 1 u 34 64 75 26.471 16.068 0.844
-rackety.udel.ed .GPS1. 1 u 15 64 77 466.799 -134.49 25.549
+tick.gpsclock.c .GPS. 1 u 15 64 77 532.347 -131.15 20.847
+listas.ansp.br avantesma.agest 2 u 54 64 77 10.965 -74.994 0.679
Lembre-se que quando o daemon do servidor local inicializa, leva em torno de 5 minutos para sincronizar adequadamente com o servidor remoto. Em nosso caso tivemos que esperar algumas horas para tal sincronização. Uma diferença de tempo menor que 128 ms é requerida para sincronização.
Criação do arquivo de configuração. Este arquivo é o /usr/local/ntps/etc/ntp.conf.
OBS: O conteúdo do arquivo de configuração /usr/local/ntps/etc/ntp.conf encontra-se no final deste documento, no anexo.
Criação do arquivo "drift" com conteúdo vazio. A diretiva drift no arquivo de configuração indicará a localização e nome deste arquivo. Este arquivo é o /usr/local/ntps/etc/ntp.drift.
Inicialização do daemon ntpd. O daemon pode ser inicializado usando o seguinte comando:
# /usr/local/ntps/bin/ntpd -c /usr/local/ntps/etc/ntp.conf
Ou através do script de inicialização ntpd contido em /etc/init.d/.
OBS: O conteúdo do arquivo de configuração /etc/init.d/ntpd encontra-se no final deste documento, no anexo.
Existindo entre os respectivos relógios dos servidores local e remoto um offset (diferença) maior do que 1000 seg (aprox. 20 minutos), o daemon não configurará o relógio local, gerará automaticamente uma mensagem de log e se auto-desativará.
Para verificar se o daemon ntpd foi corretamente inicializado podem ser usados os utilitários ntpq e ntpdc, executando qualquer um dos seguintes comandos.
Implementando o serviço NTP na sua rede local:
ntpq -p <ip_servidor_NTP_local>
ntpdc <ip_servidor_NTP_local>
a) Uma inicialização sem sucesso será reportou no arquivo de logs por uma mensagem do tipo:
ntpq: read: Connection refused
Neste caso foi preciso ajustar previamente o relógio local com algum servidor NTP remoto, usando para tal o mecanismo de ajuste ntpdate:
ntpdate <ip_servidor_NTP_remoto>
b) Uma inicialização com sucesso foi indicada por uma saída do tipo:
$ ntpq -p xxx.xxx.xxx.xxx
remote refid st t when poll reach delay offset jitter
==========================================
*server2.pop-df. .GPS. 1 u 34 64 75 26.471 16.068 0.844
-rackety.udel.ed .GPS1. 1 u 15 64 77 466.799 -134.49 25.549
+tick.gpsclock.c .GPS. 1 u 15 64 77 532.347 -131.15 20.847
+listas.ansp.br avantesma.agest 2 u 54 64 77 10.965 -74.994 0.679
Lembre-se que quando o daemon do servidor local inicializa, leva em torno de 5 minutos para sincronizar adequadamente com o servidor remoto. Em nosso caso tivemos que esperar algumas horas para tal sincronização. Uma diferença de tempo menor que 128 ms é requerida para sincronização.
Esplanei um pouco mais os conceitos de gerência de precisão de tempo e os porquês de usar essa tecnologia neste HOWTO:
http://tldp.org/HOWTO/TimePrecision-HOWTO/