Sincronização de Horário com NTP

Essa página descreve métodos para manter o horário do seu computador atualizado. Isso é útil para servidores, mas não é necessário (ou desejável) para máquinas desktop.

NTP é um protocolo TCP/IP para sincronização de horário sobre a rede. Basicamente um cliente solicita o horário atual ao servidor, e o utiliza para ajustar seu próprio relógio.

Por trás desta descrição simples, há muita complexidade - há camadas de servidores NTP, com os servidores NTP da camada 1 conectados a relógios atômicos (geralmente através de GPS) e os servidores NTP das camadas 2 e 3 distribuindo a carga de tratar de fato os pedidos através da internet. Também o software cliente é bem mais complexo do que você poderia pensar - ele deve considerar os atrasos da comunicação e ajustar o tempo de uma forma a não trazer problemas a todos os outros processos que rodam no servidor. Mas felizmente toda esta complexidade está escondida de você!

O Ubuntu tem duas formas de configurar automaticamente seu horário: ntpdate e ntpd.

ntpdate

O Ubuntu vem com o ntpdate por padrão e irá executá-lo uma vez na inicialização para configurar seu horário de acordo com o servidor NTP do Ubuntu, contudo, o relógio do servidor pode perder-se consideravelmente entre reboots, então faz sentido corrigir o horário ocasionalmente. A maneira mais fácil para fazer isto é ter o cron rodando o ntpdate todo dia. Utilizando seu editor favorito como root, crie um arquivo /etc/cron.daily/ntpdate contendo:

ntpdate ntp.ubuntu.com

O arquivo /etc/cron.daily/ntpdate deve ser executável.

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

ntpdate é um como instrumento sem corte - ele só pode ajustar o relógio uma vez por dia, em uma grande correção. O serviço ntp ntpd é muito mais súbito. Ele calcula a tração do relógio do seu sistema e o ajusta continuamente, de tal forma que não existe grande correções que podem levar a inconsistências de instâncias dos logs. O preço de um pequeno consumo de processamento e memória, mas para um servidor moderno isso é insignificante.

Para configurar o ntpd:

sudo apt-get install ntp

Mudando servidores de Horário

Em ambos os casos acima, seu sistema irá usar, por padrão, o servidor NTP do Ubuntu ntp.ubuntu.com . Isso está OK, mas você pode querer usar vários servidores para aumentar a precisão e consistência, e você pode querer usar servidores de hora que estão geograficamente próximos a você. Para fazer isso com o ntpdate, altere o conteúdo de /etc/cron.daily/ntpdate para:

ntpdate ntp.ubuntu.com pool.ntp.org 

E para ntpd edite /etc/ntp.conf para incluir linhas de servidores adicionais:

server ntp.ubuntu.com
server pool.ntp.org

Você pode observar pool.ntp.org no exemplo acima. Essa é uma ideia muito boa que usa DNS round-robin para retornar um servidor NTPa partir de um grupo, distribuindo a carga entre vários servidores diferentes. Melhor ainda, Eles tem grupos para diferentes regiões - por exemplo, se você estiver no Brasil, então você pode usar br.pool.ntp.org em vez de pool.ntp.org. De uma olhada em http://www.pool.ntp.org/ para mais detalhes.

Você pode usar o Google para encontrar servidores NTP na sua região, e adicione-os na sua configuração. Para testar se um servidor funciona, simplesmente tecle sudo ntpdate ntp.server.name e veja o que acontece.

Páginas Relacionadas