Configuración del servicio NTP de Oracle Cloud Infrastructure para una instancia

Oracle Cloud Infrastructure ofrece un servicio NTP totalmente gestionado, seguro y altamente disponible que puede usar para establecer la fecha y hora de los recursos informáticos y de bases de datos desde una red virtual en la nube (VCN). El servicio Oracle Cloud Infrastructure NTP utiliza dispositivos Stratum 1 redundantes en todos los dominios de disponibilidad. Los dispositivos Stratum 2 se sincronizan con dispositivos Stratum 1 dedicados con los que se sincroniza cada host. El servicio está disponible en todas las regiones.

En este tema, se describe cómo configurar las instancias informáticas para que utilicen este servicio NTP.

También puede configurar las instancias para que utilicen un servicio NTP público o FastConnect para aprovechar un servicio NTP on-premises.

Nota

Las imágenes de plataforma para 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 publicado después de febrero de 2018 y CentOS Stream 8 incluyen el servicio Chrony por defecto. No es necesario que configure el servicio Oracle Cloud Infrastructure NTP para estas instancias.
Oracle Linux 7.x publicado en febrero de 2018 o en versiones anteriores

Utilice los siguientes pasos para configurar las instancias de Oracle Linux 7.x para utilizar el servicio Oracle Cloud Infrastructure NTP.

  1. Ejecute comandos en esta sección como raíz con el siguiente comando:
    sudo su -
  2. Instale el servicio NTP con el comando siguiente:
    yum -y install ntp
  3. Cambie las reglas de firewall para permitir el tráfico entrante y saliente con el servidor Oracle Cloud Infrastructure NTP, en 169.254.169.254, en el puerto UDP 123 con el siguiente 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

    Cuando se le indique mv: overwrite '/etc/firewalld/direct.xml'?, introduzca y.

  4. Reinicie el firewall con el siguiente comando:
    service firewalld restart
  5. Establezca la fecha de la instancia con el comando siguiente:
    ntpdate 169.254.169.254
  6. Configure la instancia para que utilice el servicio Oracle Cloud Infrastructure NTP para iburst. Para realizar la configuración, modifique el archivo /etc/ntp.conf de la siguiente manera:
    1. En la sección server, introduzca un comentario en las líneas que especifican los 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. Agregue una entrada para el servicio Oracle Cloud Infrastructure NTP:

      server 169.254.169.254 iburst

    La sección server modificada ahora debe contener lo siguiente:

    # 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 y active el servicio NTP con los comandos siguientes:

    systemctl start ntpd
    systemctl enable ntpd

    También debe desactivar el cliente NTP de chrony para asegurarse de que el servicio NTP se inicie automáticamente tras un reinicio, utilizando los comandos siguientes:

    systemctl stop chronyd
    systemctl disable chronyd
  8. Confirme que el servicio NTP esté configurado correctamente con el comando siguiente:

    ntpq -p

    La salida será similar a la siguiente:

         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
Consejo

Si encuentra un mensaje del error no time data was available al configurar el servicio NTP en Windows Server, revise la información del artículo Problema de conocida de Microsoft.
  1. Configure una instancia de Windows Server para utilizar el servicio Oracle Cloud Infrastructure NTP realizando una de las siguientes acciones:

    • Para configurar el servicio NTP mediante Windows Powershell, ejecute los siguientes comandos en 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 el servicio NTP editando manualmente el registro, haga lo siguiente:

      1. Cambie el tipo de servidor a NTP:
        1. Desde el editor del registro, vaya a:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
        2. Haga clic en Tipo.
        3. Cambie el valor a NTP y haga clic en Aceptar.
      2. Configure el servicio de hora de Windows para activar los indicadores Timeserv_Announce_Yes y Reliable_Timeserv_Announce_Auto.

        Para realizar la configuración, establezca el parámetro AnnounceFlags en 5:

        1. Desde el editor del registro, vaya a:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
        2. Haga clic en AnnounceFlags.
        3. Cambie el valor a 5 y haga clic en Aceptar.
      3. Active el servidor NTP:
        1. Desde el editor del registro, vaya a:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
        2. Haga clic en Activado.
        3. Cambie el valor a 1 y haga clic en Aceptar.
      4. Configure los orígenes de tiempo:
        1. Desde el editor del registro, vaya a:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
        2. Haga clic en NtpServer.
        3. Cambie el valor a 169.254.169.254,0x9 y haga clic en Aceptar.
      5. Establezca el intervalo de encuesta:
        1. Desde el editor del registro, vaya a:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\
        2. Haga clic en SpecialPollInterval.
        3. Establezca el valor en el intervalo en el que desea que se sincronice el servicio horario. El valor es en segundos. Para definirlo durante 15 minutos, defina el valor en 900 y haga clic en Aceptar.
      6. Establezca la configuración del límite de corrección de fase para restringir los límites de muestra de tiempo:
        1. Desde el editor del registro, vaya a:
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
        2. Haga clic en MaxPosPhaseCorrection.
        3. Establezca el valor en el desplazamiento de tiempo máximo en el futuro para muestras de tiempo. El valor es en segundos. Para definirlo durante 30 minutos, defina el valor en 1800 y haga clic en Aceptar.
        4. Haga clic en MaxNegPhaseCorrection.
        5. Establezca el valor en el desfase de tiempo máximo en el pasado para muestras de tiempo. El valor es en segundos. Para definirlo durante 30 minutos, defina el valor en 1800 y haga clic en Aceptar.
  2. Reinicie el servicio de tiempo ejecutando el siguiente comando desde un símbolo del sistema:
    net stop w32time && net start w32time
  3. Pruebe la conexión con el servicio NTP ejecutando el siguiente comando desde un símbolo del sistema:

    w32tm /query /peers

    La salida será similar a la siguiente:

    #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)

    Una vez transcurrido el tiempo especificado en el intervalo de sondeo, State cambiará de Pending a Active.