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.
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.
Utilice los pasos siguientes para configurar las instancias de Oracle Linux 6.x para que usen el servicio NTP de Oracle Cloud Infrastructure.
-
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
-
Instale el servicio NTP con el comando siguiente:
sudo yum install ntp
-
Establezca la fecha de la instancia con el comando siguiente:
sudo ntpdate 169.254.169.254
-
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:-
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
-
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
-
-
Configure el servicio NTP para que se lance automáticamente cuando se inicie la instancia con el comando siguiente:
sudo chkconfig ntpd on
-
Inicie el servicio NTP con el comando siguiente:
sudo /etc/init.d/ntpd start
-
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
Utilice los pasos siguientes para configurar las instancias de Oracle Linux 7.x para que usen el servicio NTP de Oracle Cloud Infrastructure.
- Ejecute comandos en esta sección como raíz con el siguiente comando:
sudo su -
- Instale el servicio NTP con el comando siguiente:
yum -y install ntp
- 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'?
, introduzcay
. - Reinicie el firewall con el siguiente comando:
service firewalld restart
- Establezca la fecha de la instancia con el comando siguiente:
ntpdate 169.254.169.254
- 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:- 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
-
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
- En la sección
-
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
-
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
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.
-
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:
- Cambie el tipo de servidor a NTP:
- Desde el editor del registro, vaya a:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
- Haga clic en Tipo.
- Cambie el valor a
NTP
y haga clic en Aceptar.
- Desde el editor del registro, vaya a:
-
Configure el servicio de hora de Windows para activar los indicadores
Timeserv_Announce_Yes
yReliable_Timeserv_Announce_Auto
.Para realizar la configuración, establezca el parámetro
AnnounceFlags
en 5:- Desde el editor del registro, vaya a:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
- Haga clic en AnnounceFlags.
- Cambie el valor a
5
y haga clic en Aceptar.
- Desde el editor del registro, vaya a:
- Active el servidor NTP:
- Desde el editor del registro, vaya a:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
- Haga clic en Activado.
- Cambie el valor a
1
y haga clic en Aceptar.
- Desde el editor del registro, vaya a:
- Configure los orígenes de tiempo:
- Desde el editor del registro, vaya a:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
- Haga clic en NtpServer.
- Cambie el valor a
169.254.169.254,0x9
y haga clic en Aceptar.
- Desde el editor del registro, vaya a:
- Establezca el intervalo de encuesta:
- Desde el editor del registro, vaya a:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\
- Haga clic en SpecialPollInterval.
- 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 .
- Desde el editor del registro, vaya a:
- Establezca la configuración del límite de corrección de fase para restringir los límites de muestra de tiempo:
- Desde el editor del registro, vaya a:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
- Haga clic en MaxPosPhaseCorrection.
- 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 . - Haga clic en MaxNegPhaseCorrection.
- 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 .
- Desde el editor del registro, vaya a:
- Cambie el tipo de servidor a NTP:
-
- Reinicie el servicio de tiempo ejecutando el siguiente comando desde un símbolo del sistema:
net stop w32time && net start w32time
-
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á dePending
aActive
.