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 las instancias informáticas y de base de datos desde una red virtual en la nube (VCN). El servicio NTP de Oracle Cloud Infrastructure utiliza dispositivos Stratum 1 redundantes en cada dominio 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 de modo que utilicen un servicio NTP público o FastConnect para aprovechar un servicio NTP local.

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 configurar el servicio NTP de Oracle Cloud Infrastructure para estas instancias.
Oracle Linux 6.x

Utilice los pasos siguientes para configurar las instancias de Oracle Linux 6.x para que usen el servicio NTP de Oracle Cloud Infrastructure.

  1. Configure IPtables para permitir conexiones con el servicio NTP de Oracle Cloud Infrastructure mediante los siguientes 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 el servicio NTP con el comando siguiente:

    sudo yum install ntp
  3. Establezca la fecha de la instancia con el comando siguiente:

    sudo ntpdate 169.254.169.254
  4. Configure la instancia para usar el servicio NTP de Oracle Cloud Infrastructure 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 servidor NTP de Oracle Cloud Infrastructure:

      server 169.254.169.254 iburst

    La sección server modificada ahora contiene 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
  5. Configure el servicio NTP para que se lance automáticamente cuando se inicie la instancia con el comando siguiente:

    sudo chkconfig ntpd on
  6. Inicie el servicio NTP con el comando siguiente:

    sudo /etc/init.d/ntpd start
  7. 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
    						
Oracle Linux 7.x publicado en febrero de 2018 o en versiones anteriores

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

  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 del firewall para permitir el tráfico entrante y saliente con el servidor NTP de Oracle Cloud Infrastructure, en 169.254.169.254, en el puerto UDP 123 con el comando siguiente:
    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 usar el servicio NTP de Oracle Cloud Infrastructure 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 NTP de Oracle Cloud Infrastructure:

      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 de error no time data was available al configurar el servicio NTP en Windows Server, revise la información del artículo Problema de conocido de Microsoft.
  1. Configure una instancia de Windows Server para que utilice el servicio NTP de Oracle Cloud Infrastructure 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 configurarlo durante 15 minutos, establezca 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 configurarlo durante 30 minutos, establezca 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 configurarlo durante 30 minutos, establezca 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.