Configurando o Serviço NTP do Oracle Cloud Infrastructure para uma Instância

O Oracle Cloud Infrastructure oferece um serviço NTP totalmente gerenciado, seguro e de alta disponibilidade que você pode usar para definir a data e a hora das instâncias de computação e de banco de dados de dentro de uma VCN (rede virtual na nuvem). O serviço NTP do Oracle Cloud Infrastructure usa dispositivos Stratum 1 redundantes em cada domínio de disponibilidade. Os dispositivos Stratum 2 são sincronizados com dispositivos Stratum 1 dedicados com os quais cada host é sincronizado. O serviço está disponível em cada região.

Este tópico descreve como configurar instâncias de computação para usar este serviço NTP.

Você também pode optar por configurar as instâncias para usar um serviço NTP público ou usar o FastConnect para aproveitar um serviço NTP on-premises.

Observação

As imagens de plataforma do Oracle Autonomous Linux 8.x, Oracle Autonomous Linux 7.x, Oracle Linux 9.x, Oracle Linux 8.x, Oracle Linux 7.x, Oracle Linux Cloud Developer 8.x, CentOS 7.x lançadas após fevereiro de 2018 e CentOS Stream 8 incluem o serviço Chrony por padrão. Você não precisa configurar o serviço NTP do Oracle Cloud Infrastructure para essas instâncias.
Oracle Linux 6. x

Use as etapas a seguir para configurar instâncias do Oracle Linux 6. x para usar o serviço NTP do Oracle Cloud Infrastructure.

  1. Configure a ferramenta IPtables para permitir conexões ao serviço NTP do Oracle Cloud Infrastructure, usando os seguintes comandos:

    sudo iptables -I BareMetalInstanceServices 8 -d 169.254.169.254/32 -p udp -m udp --dport 123 -m comment --comment "Allow access to OCI local NTP service" -j ACCEPT
    sudo service iptables save
  2. Instale o serviço NTP com o seguinte comando:

    sudo yum install ntp
  3. Defina a data da sua instância com o seguinte comando:

    sudo ntpdate 169.254.169.254
  4. Configure a instância para usar o serviço NTP do Oracle Cloud Infrastructure para o iburst. Para configurar, modifique o arquivo /etc/ntp.conf da seguinte forma:

    1. Na seção server, comente as linhas especificando os servidores RHEL:

      #server 0.rhel.pool.ntp.org iburst
      #server 1.rhel.pool.ntp.org iburst
      #server 2.rhel.pool.ntp.org iburst
      #server 3.rhel.pool.ntp.org iburst
    2. Adicione uma entrada para o servidor NTP do Oracle Cloud Infrastructure:

      server 169.254.169.254 iburst

    A seção server modificada agora contém o seguinte:

    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    #server 0.rhel.pool.ntp.org iburst
    #server 1.rhel.pool.ntp.org iburst
    #server 2.rhel.pool.ntp.org iburst
    #server 3.rhel.pool.ntp.org iburst
    server 169.254.169.254 iburst
  5. Defina o serviço NTP para ser iniciado automaticamente quando a instância for inicializada com o seguinte comando:

    sudo chkconfig ntpd on
  6. Inicie o serviço NTP com o seguinte comando:

    sudo /etc/init.d/ntpd start
  7. Confirme se o serviço NTP está configurado corretamente com o seguinte comando:

    ntpq -p

    A saída será semelhante à seguinte:

    remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
    169.254.169.254 192.168.32.3     2 u    2   64    1    0.338    0.278   0.187
    						
Oracle Linux 7.x lançado em fevereiro de 2018 ou anterior

Use as etapas a seguir para configurar instâncias do Oracle Linux 7. x para usar o serviço NTP do Oracle Cloud Infrastructure.

  1. Execute os comandos nesta seção como root com o seguinte comando:
    sudo su -
  2. Instale o serviço NTP com o seguinte comando:
    yum -y install ntp
  3. Altere as regras do firewall para permitir tráfego de entrada e saída com o servidor NTP do Oracle Cloud Infrastructure, em 169.254.169.254, na porta UDP 123 com o seguinte comando:
    awk -v n=13 -v s=' <passthrough ipv="ipv4">-A OUTPUT -d 169.254.169.254/32 -p udp -m udp --dport 123 -m comment --comment "Allow access to OCI local NTP service" -j ACCEPT </passthrough>' 'NR == n {print s} {print}' /etc/firewalld/direct.xml > tmp && mv tmp /etc/firewalld/direct.xml

    No prompt mv: overwrite '/etc/firewalld/direct.xml'?, digite y.

  4. Reinicie o firewall com o seguinte comando:
    service firewalld restart
  5. Defina a data da sua instância com o seguinte comando:
    ntpdate 169.254.169.254
  6. Configure a instância para usar o serviço NTP do Oracle Cloud Infrastructure para o iburst. Para configurar, modifique o arquivo /etc/ntp.conf da seguinte forma:
    1. Na seção server, comente as linhas que especificam os servidores RHEL:
      #server 0.rhel.pool.ntp.org iburst
      #server 1.rhel.pool.ntp.org iburst
      #server 2.rhel.pool.ntp.org iburst
      #server 3.rhel.pool.ntp.org iburst
    2. Adicione uma entrada para o serviço NTP do Oracle Cloud Infrastructure:

      server 169.254.169.254 iburst

    A seção server modificada agora deve conter o seguinte:

    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    #server 0.rhel.pool.ntp.org iburst
    #server 1.rhel.pool.ntp.org iburst
    #server 2.rhel.pool.ntp.org iburst
    #server 3.rhel.pool.ntp.org iburst
    server 169.254.169.254 iburst
  7. Inicie e ative o serviço NTP com os seguintes comandos:

    systemctl start ntpd
    systemctl enable ntpd

    Você também precisa desativar o cliente NTP chrony para garantir que o serviço NTP inicie automaticamente após uma reinicialização, usando os seguintes comandos:

    systemctl stop chronyd
    systemctl disable chronyd
  8. Confirme se o serviço NTP está configurado corretamente com o seguinte comando:

    ntpq -p

    A saída será semelhante à seguinte:

         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
    169.254.169.254 192.168.32.3     2 u    2   64    1    0.338    0.278   0.187
    						
Windows Server
Dica

Se você encontrar uma mensagem de erro nenhum dado de tempo disponível ao configurar o serviço NTP no Windows Server, revise as informações no artigo Microsoft known issue.
  1. Configure uma instância do Windows Server para usar o serviço NTP do Oracle Cloud Infrastructure executando um dos seguintes procedimentos:

    • Para configurar o serviço NTP usando o Windows Powershell, execute os seguintes comandos no Powershell como Administrador:

      Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Parameters' -Name 'Type' -Value NTP -Type String
      Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Config' -Name 'AnnounceFlags' -Value 5 -Type DWord
      Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer' -Name 'Enabled' -Value 1 -Type DWord
      Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Parameters' -Name 'NtpServer' -Value '169.254.169.254,0x9' -Type String
      Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient' -Name 'SpecialPollInterval' -Value 900 -Type DWord
      Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Config' -Name 'MaxPosPhaseCorrection' -Value 1800 -Type DWord
      Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Config' -Name 'MaxNegPhaseCorrection' -Value 1800 -Type DWord
    • Para configurar o serviço NTP editando manualmente o registro, faça o seguinte:

      1. Altere o tipo de servidor para NTP:
        1. No Editor do Registro, navegue até:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
        2. Clique em Tipo.
        3. Altere o valor para NTP e clique em OK.
      2. Configure o serviço de Horário do Windows para ativar os flags Timeserv_Announce_Yes e Reliable_Timeserv_Announce_Auto.

        Para configurar, defina o parâmetro AnnounceFlags como 5:

        1. No Editor do Registro, navegue até:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
        2. Clique em AnnounceFlags.
        3. Altere o valor para 5 e clique em OK.
      3. Ativa o servidor NTP:
        1. No Editor do Registro, navegue até:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
        2. Clique em Ativado.
        3. Altere o valor para 1 e clique em OK.
      4. Defina as fontes de tempo:
        1. No Editor do Registro, navegue até:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
        2. Clique em NtpServer.
        3. Altere o valor para 169.254.169.254,0x9 e clique em OK.
      5. Definir o intervalo de sondagem:
        1. No Editor do Registro, navegue até:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\
        2. Clique em SpecialPollInterval.
        3. Defina o valor para o intervalo no qual você deseja sincronizar o serviço de tempo. O valor é expresso em segundos. Para defini-lo como 15 minutos, defina o valor como 900, e clique em OK.
      6. Defina as configurações de limite de correção de fase para restringir os limites de amostra de tempo:
        1. No Editor do Registro, navegue até:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
        2. Clique em MaxPosPhaseCorrection.
        3. Defina o valor como a diferença máxima de horário no futuro para amostras de tempo. O valor é expresso em segundos. Para defini-lo como 30 minutos, defina o valor como 1800 e clique em OK.
        4. Clique em MaxNegPhaseCorrection.
        5. Defina o valor como a diferença de horário máxima no passado para amostras de tempo. O valor é expresso em segundos. Para defini-lo como 30 minutos, defina o valor como 1800 e clique em OK.
  2. Reinicie o serviço de tempo executando o seguinte comando em um prompt de comando:
    net stop w32time && net start w32time
  3. Teste a conexão com o serviço NTP executando o seguinte comando em um prompt de comando:

    w32tm /query /peers

    A saída será semelhante à seguinte:

    #Peer: 1
     
    Peer: 169.254.169.254,0x9
    State: Active
    Time Remaining: 22.1901786s
    Mode: 3 (Client)
    Stratum: 0 (unspecified)
    PeerPoll Interval: 10 (1024s)
    HostPoll Interval: 10 (1024s)

    Após o tempo especificado no intervalo de sondagem ter decorrido, o State será alterado de Pending para Active.