systemd-timesyncd (Português)

From ArchWiki

Status de tradução: Esse artigo é uma tradução de systemd-timesyncd. Data da última tradução: 2022-11-15. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Da lista de discussão do systemd (traduzido):

systemd-timesyncd é um daemon que foi adicionado para sincronizar o relógio do sistema na rede. Ele implementa um cliente SNTP. Em contraste com implementações NTP como chrony ou o servidor de referência NTP, ele implementa apenas um lado do cliente e não se preocupa com a complexidade total do NTP, concentrando-se apenas em consultar o tempo de um servidor remoto e sincronizar o relógio local com ele. A menos que você pretenda servir NTP para clientes em rede ou queira se conectar a relógios de hardware locais, este cliente NTP simples deve ser mais do que apropriado para a maioria das instalações. O daemon é executado com privilégios mínimos e foi conectado ao networkd para operar apenas quando a conectividade de rede estiver disponível. O daemon salva o relógio atual no disco toda vez que uma nova sincronização NTP é adquirida e usa isso para possivelmente corrigir o relógio do sistema no início da inicialização, a fim de acomodar sistemas que não possuem RTC, como o Raspberry Pi e dispositivos incorporados, e certifique-se de que o tempo progride monotonicamente nesses sistemas, mesmo que nem sempre esteja correto. Para fazer uso deste daemon, um novo usuário do sistema e grupo "systemd-timesync" precisa ser criado na instalação do systemd.

Configuração

Inicie/habilite systemd-timesyncd.service, o qual está disponível com systemd.

Ao iniciar, systemd-timesyncd lerá o arquivo de configuração de /etc/systemd/timesyncd.conf, que se parece com isso:

/etc/systemd/timesyncd.conf
[Time]
#NTP=
#FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
#...

Para adicionar servidores de tempo ou alterar os fornecidos, descomente a linha relevante e liste seu nome de host ou IP separado por um espaço. Por exemplo, você pode usar qualquer servidor fornecido por the NTP pool project ou usar os servidores padrão do Arch (também fornecido pelo projeto NTP pool):

/etc/systemd/timesyncd.conf
[Time]
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org

Para verificar sua configuração:

$ timedatectl show-timesync --all
LinkNTPServers=
SystemNTPServers=
FallbackNTPServers=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
ServerName=0.arch.pool.ntp.org
ServerAddress=103.47.76.177
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=1min 4s
NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-21, RootDelay=177.398ms, RootDispersion=142.196ms, Reference=C342F10A, OriginateTimestamp=Mon 2018-07-16 13:53:43 +08, ReceiveTimestamp=Mon 2018-07-16 13:53:43 +08, TransmitTimestamp=Mon 2018-07-16 13:53:43 +08, DestinationTimestamp=Mon 2018-07-16 13:53:43 +08, Ignored=no PacketCount=1, Jitter=0 }
Frequency=22520548

Além da configuração do daemon, os servidores NTP também podem ser fornecidos através de uma configuração do systemd-networkd com uma opção NTP= ou, dinamicamente, via um servidor DHCP.

O servidor NTP a ser usado será determinado usando as seguintes regras:

  • Quaisquer servidores NTP por interface obtidos da configuração do systemd-networkd.service(8) ou via DHCP têm precedência.
  • Os servidores NTP definidos em /etc/systemd/timesyncd.conf serão anexados à lista por interface em tempo de execução e o daemon entrará em contato com os servidores até que seja encontrado um que responda.
  • Se nenhuma informação do servidor NTP for adquirida após a conclusão dessas etapas, os nomes de host do servidor NTP ou endereços IP definidos em FallbackNTP= serão usados.
Nota: O serviço grava em um arquivo local /var/lib/systemd/timesync/clock a cada sincronização. Este local é codificado e não pode ser alterado. Isso pode ser problemático para executar a partição raiz somente leitura ou tentar minimizar as gravações em um cartão SD.

Uso

Para habilitá-lo e iniciá-lo, basta executar:

# timedatectl set-ntp true 

O processo de sincronização pode ser notavelmente lento. Isso é esperado, deve-se esperar um pouco antes de determinar que há um problema. Para verificar o status do serviço, use:

$ timedatectl status
               Local time: ter 2022-11-15 10:43:14 -03
           Universal time: ter 2022-11-15 13:43:14 UTC
                 RTC time: ter 2022-11-15 13:43:14
                Time zone: America/Sao_Paulo (-03, -0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Para ver informações detalhadas do serviço, use:

$ timedatectl timesync-status
       Server: 200.192.232.8 (0.arch.pool.ntp.org)
Poll interval: 1min 4s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 2
    Reference: C8A007BA
    Precision: 1us (-23)
Root distance: 11.115ms (max: 5s)
       Offset: +3.182ms
        Delay: 59.700ms
       Jitter: 1.202ms
 Packet count: 2
    Frequency: +0,000ppm

Veja também