Configuration du service NTP d'Oracle Cloud Infrastructure pour une instance

Oracle Cloud Infrastructure offre un service NTP entièrement géré, sécurisé et hautement disponible que vous pouvez utiliser pour définir la date et l'heure des instances de calcul et de base de données à partir d'un réseau cloud virtuel. Le service NTP Oracle Cloud Infrastructure utilise des dispositifs Stratum 1 redondants dans chaque domaine de disponibilité. Les dispositifs Stratum 2 sont synchronisés avec les dispositifs Stratum 1 dédiés sur lesquels chaque hôte est synchronisé. Le service est disponible dans chaque région.

Cette rubrique explique comment configurer des instances de calcul pour qu'elles utilisent ce service NTP.

Vous pouvez également choisir de configurer des instances afin qu'elles utilisent un service NTP public ou FastConnect pour tirer parti d'un service NTP sur site.

Remarque

Les images de plate-forme pour 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 publiées après février 2018 et CentOS Stream 8 incluent le service Chrony par défaut. Vous n'avez pas besoin de configurer le service NTP Oracle Cloud Infrastructure pour ces instances.
Oracle Linux 6.x

Suivez les étapes ci-après afin de configurer des instances Oracle Linux 6.x de sorte à utiliser le service NTP d'Oracle Cloud Infrastructure.

  1. Configurez IPtables pour autoriser les connexions au service NTP Oracle Cloud Infrastructure à l'aide des commandes suivantes :

    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. Installez le service NTP à l'aide de la commande suivante :

    sudo yum install ntp
  3. Définissez la date de votre instance à l'aide de la commande suivante :

    sudo ntpdate 169.254.169.254
  4. Configurez l'instance afin qu'elle utilise le service NTP Oracle Cloud Infrastructure pour iburst. Pour effectuer la configuration, modifiez le fichier /etc/ntp.conf comme suit :

    1. Dans la section, server, transformez les lignes indiquant les serveurs RHEL en commentaires :

      #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. Ajoutez une entrée pour le serveur NTP Oracle Cloud Infrastructure :

      server 169.254.169.254 iburst

    La section server modifiée contient désormais les éléments suivants :

    # 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. Définissez le lancement automatique du service NTP lorsque l'instance est initialisée avec la commande suivante :

    sudo chkconfig ntpd on
  6. Démarrez le service NTP à l'aide de la commande suivante :

    sudo /etc/init.d/ntpd start
  7. Vérifiez que le service NTP est correctement configuré à l'aide de la commande suivante :

    ntpq -p

    Le résultat obtenu est semblable au résultat suivant :

    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 - Publication en février 2018 ou avant

Suivez les étapes ci-après afin de configurer des instances Oracle Linux 7.x de sorte à utiliser le service NTP d'Oracle Cloud Infrastructure.

  1. Exécutez les commandes de cette section en tant qu'utilisateur root à l'aide de la commande suivante :
    sudo su -
  2. Installez le service NTP à l'aide de la commande suivante :
    yum -y install ntp
  3. Modifiez les règles de pare-feu pour autoriser le trafic entrant et sortant avec le serveur NTP Oracle Cloud Infrastructure, à l'adresse 169.254.169.254, sur le port UDP 123 avec la commande suivante :
    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

    A l'invite mv: overwrite '/etc/firewalld/direct.xml'?, entrez y.

  4. Redémarrez le pare-feu à l'aide de la commande suivante :
    service firewalld restart
  5. Définissez la date de votre instance à l'aide de la commande suivante :
    ntpdate 169.254.169.254
  6. Configurez l'instance afin qu'elle utilise le service NTP Oracle Cloud Infrastructure pour iburst. Pour effectuer la configuration, modifiez le fichier /etc/ntp.conf comme suit :
    1. Dans la section server, transformez les lignes indiquant les serveurs RHEL en commentaires :
      #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. Ajoutez une entrée pour le service NTP Oracle Cloud Infrastructure :

      server 169.254.169.254 iburst

    La section server modifiée doit désormais contenir ce qui suit :

    # 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. Démarrez et activez le service NTP à l'aide des commandes suivantes :

    systemctl start ntpd
    systemctl enable ntpd

    Vous devez également désactiver le client NTP Chrony pour vous assurer que le service NTP démarre automatiquement après un redémarrage, à l'aide des commandes suivantes :

    systemctl stop chronyd
    systemctl disable chronyd
  8. Vérifiez que le service NTP est correctement configuré à l'aide de la commande suivante :

    ntpq -p

    Le résultat obtenu est semblable au résultat suivant :

         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
Conseil

Si vous rencontrez le message d'erreur aucune donnée de temps n'était disponible lors de la configuration du service NTP sur Windows Server, consultez les informations de cet article de problème connu de Microsoft.
  1. Configurez une instance Windows Server de sorte qu'elle utilise le service NTP d'Oracle Cloud Infrastructure en procédant de l'une des manières suivantes :

    • Pour configurer le service NTP à l'aide de Windows PowerShell, exécutez les commandes suivantes dans PowerShell en tant qu'administrateur :

      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
    • Pour configurer le service NTP en modifiant manuellement le registre, procédez comme suit :

      1. Définissez le type de serveur sur NTP :
        1. A partir de l'éditeur de registre, accédez à ce qui suit :
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
        2. Cliquez sur Type.
        3. Définissez la valeur sur NTP, puis cliquez sur OK.
      2. Configurez le service de temps Windows pour activer les indicateurs Timeserv_Announce_Yes et Reliable_Timeserv_Announce_Auto.

        Pour effectuer la configuration, définissez le paramètre AnnounceFlags sur 5 :

        1. A partir de l'éditeur de registre, accédez à ce qui suit :
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
        2. Cliquez sur AnnounceFlags.
        3. Définissez la valeur sur 5, puis cliquez sur OK.
      3. Activez le serveur NTP :
        1. A partir de l'éditeur de registre, accédez à ce qui suit :
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
        2. Cliquez sur Activé.
        3. Définissez la valeur sur 1, puis cliquez sur OK.
      4. Définissez les sources temporelles :
        1. A partir de l'éditeur de registre, accédez à ce qui suit :
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
        2. Cliquez sur NtpServer.
        3. Définissez la valeur sur 169.254.169.254,0x9, puis cliquez sur OK.
      5. Définissez l'intervalle d'interrogation :
        1. A partir de l'éditeur de registre, accédez à ce qui suit :
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\
        2. Cliquez sur SpecialPollInterval.
        3. Définissez la valeur sur l'intervalle de synchronisation du service de temps souhaité. La valeur est exprimée en secondes. Pour un décalage de 15 minutes, définissez la valeur sur 900, et cliquez sur OK.
      6. Définissez les paramètres de limite de correction de phase pour restreindre les limites d'échantillon de temps :
        1. A partir de l'éditeur de registre, accédez à ce qui suit :
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
        2. Cliquez sur MaxPosPhaseCorrection.
        3. Définissez la valeur sur le décalage temporel maximal dans le futur pour les échantillons de temps. La valeur est exprimée en secondes. Pour un décalage de 30 minutes, définissez la valeur sur 1800 et cliquez sur OK.
        4. Cliquez sur MaxNegPhaseCorrection.
        5. Définissez la valeur sur le décalage temporel maximal dans le passé pour les échantillons de temps. La valeur est exprimée en secondes. Pour un décalage de 30 minutes, définissez la valeur sur 1800 et cliquez sur OK.
  2. Redémarrez le service de temps en exécutant la commande suivante à partir d'une invite de commande :
    net stop w32time && net start w32time
  3. Testez la connexion au service NTP en exécutant la commande suivante à partir d'une invite de commande :

    w32tm /query /peers

    Le résultat obtenu est semblable au résultat suivant :

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

    Une fois que le temps indiqué dans l'intervalle d'interrogation est écoulé, la valeur State passe de Pending à Active.