Sincronização de Tempo com NTP

Esta página descreve métodos para manter o hora do cseu computador precisa. Isto é útil para servidores, mas não é necessário (ou útil) para máquinas desktop.

NTP é um protocolo TCP/IP para sincronização o tempo numa rede. Basicamente um cliente pede o tempo actual de um servidor, e o usa para definir o seu próprio relógio.

Por detrás desta descrição simples, existe uma grande complexidade - existem níveis de servidores NTP, em que o primeiro nível de servidores NTP estão conectados a relógios atómicos (normalmente via GPS), e o segundo e terceiro níveis somente lidam com a carga de pedidos pela internet. O cliente também é mais complexo do que pode parecer - tem de ter em conta os atrasos de comunicação, e ajustar o tempo de forma a não alterar todos os processos a correrem no servidor. Mas felizmente toda esta complexidade é escondida de si!

O Ubuntu tem duas maneiras de definir automaticamente a data e hora: ntpdate e ntpd.

ntpdate

O Ubuntu vêm com o ntpdate por defeito, e irá corre-lo uma vez no arranque para definir a hora de acirdo com o servidor Ubuntu de NTP. Contudo o relógio de um servidor pode divergir consideravelmente entre reboots, e assim faz sentido corrigir o tempo ocasionalmente. A forma mais fácil de faze-lo é usar o cron para correr o ntpupdate todos os dias. Com o editor de sua escolha, como root, crie um ficheiro /etc/cron.daily/ntpdate contendo:

ntpdate ntp.ubuntu.com

O ficheiro /etc/cron.daily/ntpdate tem de ser executável.

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

O ntpdate é uma ferramente um tanto "cega" - só pode ajustar o tempo uma vez ao dia. O daemon ntpd é mais adequado. Calcula a divergência do relógio do seu sistema e ajusta-o continuamente, pois não existem grandes correcções a fazer que possam levar a logs inconsistentes, por exemplo. O custo é um pouco mais processamento e memória, mas desprezável para um servidor moderno.

Para instalar o ntpd:

sudo apt-get install ntp-simple

Changing Time Servers

Em ambos dos acasos acima, seu sistema Ubuntu irá fazer uso do servidor NTP em ntp.ubuntu.com por defeito. Isto é correcto, mas poderá querer usar vários servidores para aumentar a sua fiabilidade,e pode até usar servidores que se encontrem mais próximos em termos geográficos de si. Para fazer isto no ntpdate, altere o conteúdo de /etc/cron.daily/ntpdate para:

ntpdate ntp.ubuntu.com pool.ntp.org 

E para o ntpd edite /etc/ntp.conf para incluir linhas adicionais no servidor:

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

Deverá reparar que pool.ntp.org surge nos exmplo acima. Esta é uma boa ideia que usa round-robin DNS para retornar um servidor NTP de dentro dos possíveis, espalhando a carga pelos vários servidores. Melhor ainda, existem para cada região conjuntos de servidores - por exemplo, se estiver na Nova Zelândia, poderá utilizar nz.pool.ntp.org em vez de pool.ntp.org. Veja ulink url="http://www.pool.ntp.org/">http://www.pool.ntp.org/

Pode também googlar por servidores NTP na sua região, adicionando-os à sua configuração. Para testar se um servidor está funcional, insira sudo ntpdate ntp.server.name no terminal e veja o que acontece.

Páginas Relacionadas