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.
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.
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.
-
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
-
Installez le service NTP à l'aide de la commande suivante :
sudo yum install ntp
-
Définissez la date de votre instance à l'aide de la commande suivante :
sudo ntpdate 169.254.169.254
-
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 :-
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
-
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
-
-
Définissez le lancement automatique du service NTP lorsque l'instance est initialisée avec la commande suivante :
sudo chkconfig ntpd on
-
Démarrez le service NTP à l'aide de la commande suivante :
sudo /etc/init.d/ntpd start
-
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
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.
- Exécutez les commandes de cette section en tant qu'utilisateur root à l'aide de la commande suivante :
sudo su -
- Installez le service NTP à l'aide de la commande suivante :
yum -y install ntp
- 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'?
, entrezy
. - Redémarrez le pare-feu à l'aide de la commande suivante :
service firewalld restart
- Définissez la date de votre instance à l'aide de la commande suivante :
ntpdate 169.254.169.254
- 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 :- 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
-
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
- Dans la section
-
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
-
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
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.
-
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 :
- Définissez le type de serveur sur NTP :
- A partir de l'éditeur de registre, accédez à ce qui suit :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
- Cliquez sur Type.
- Définissez la valeur sur
NTP
, puis cliquez sur OK.
- A partir de l'éditeur de registre, accédez à ce qui suit :
-
Configurez le service de temps Windows pour activer les indicateurs
Timeserv_Announce_Yes
etReliable_Timeserv_Announce_Auto
.Pour effectuer la configuration, définissez le paramètre
AnnounceFlags
sur 5 :- A partir de l'éditeur de registre, accédez à ce qui suit :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
- Cliquez sur AnnounceFlags.
- Définissez la valeur sur
5
, puis cliquez sur OK.
- A partir de l'éditeur de registre, accédez à ce qui suit :
- Activez le serveur NTP :
- A partir de l'éditeur de registre, accédez à ce qui suit :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
- Cliquez sur Activé.
- Définissez la valeur sur
1
, puis cliquez sur OK.
- A partir de l'éditeur de registre, accédez à ce qui suit :
- Définissez les sources temporelles :
- A partir de l'éditeur de registre, accédez à ce qui suit :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
- Cliquez sur NtpServer.
- Définissez la valeur sur
169.254.169.254,0x9
, puis cliquez sur OK.
- A partir de l'éditeur de registre, accédez à ce qui suit :
- Définissez l'intervalle d'interrogation :
- A partir de l'éditeur de registre, accédez à ce qui suit :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\
- Cliquez sur SpecialPollInterval.
- 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.
- A partir de l'éditeur de registre, accédez à ce qui suit :
- Définissez les paramètres de limite de correction de phase pour restreindre les limites d'échantillon de temps :
- A partir de l'éditeur de registre, accédez à ce qui suit :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
- Cliquez sur MaxPosPhaseCorrection.
- 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. - Cliquez sur MaxNegPhaseCorrection.
- 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.
- A partir de l'éditeur de registre, accédez à ce qui suit :
- Définissez le type de serveur sur NTP :
-
- Redémarrez le service de temps en exécutant la commande suivante à partir d'une invite de commande :
net stop w32time && net start w32time
-
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 dePending
àActive
.