ECS: xDoctor: RAP081: Código del síntoma: 2048: Diferencia horaria del sistema por encima del umbral de ERROR
Summary: xDoctor detectó un problema con el demonio Network Time Protocol (NTP).
Symptoms
Todos los nodos de un rack de ECS deben tener el demonio NTP en ejecución y los servidores NTP configurados deben poder sincronizar la hora. De lo contrario, esto puede provocar problemas con la ingesta de datos de front-end.
| Síntoma |
Mensaje |
|---|---|
| Diferencia horaria del sistema por encima del umbral de ERROR |
Mensaje = Diferencia horaria del sistema por encima del umbral |
Cause
Los síntomas anteriores permanecen como una ADVERTENCIA si no ocurren dentro de las 24 horas.
Después de 24 horas, si esto persiste, la gravedad aumentará a ERROR y se informará un RAP081.
Resolution
La diferencia horaria del nodo se debe al archivo de desviación de NTP que el servicio ntpd actualiza cada hora en los nodos. Este problema puede ocurrir cuando un problema de red ya ocurrió en un nodo. Después de que se vuelve a unir, la red crea un archivo de deriva incorrecto, lo que impone una diferencia horaria entre los nodos.
Cuando un nodo se reincorpora a la red después de un problema, puede crear temporalmente un archivo de deriva para que coincida con la hora de NTP en el servidor NTP. Esto debe ser temporal, pero si ntpd no puede eliminar el archivo, podemos eliminar los archivos de deriva y reiniciar el servicio para restaurarlo.
Verificación:
Compruebe si todos los servidores NTP pueden hacer ping.
1. Confirme si la opción Cumplimiento está habilitada.
Comando:
# domulti 'cat /opt/emc/caspian/fabric/agent/conf/agent_customize.conf | grep compliance_enabled'
admin@node1:~> domulti 'cat /opt/emc/caspian/fabric/agent/conf/agent_customize.conf | grep compliance_enabled' 192.168.219.1 ======================================== compliance_enabled = true 192.168.219.2 ======================================== compliance_enabled = true 192.168.219.3 ======================================== compliance_enabled = true 192.168.219.4 ======================================== compliance_enabled = true
2. Compruebe ECS para determinar si el clúster cumple o no.
# viprexec -i "/opt/emc/caspian/fabric/cli/bin/fcli lifecycle cluster.compliance"
admin@node1:~> viprexec -i "/opt/emc/caspian/fabric/cli/bin/fcli lifecycle cluster.compliance"
Output from host : 192.168.219.1
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
Output from host : 192.168.219.2
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
Output from host : 192.168.219.3
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
Output from host : 192.168.219.4
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
El resultado esperado es COMPLIANT. Si vemos NON_COMPLIANT, entonces debemos investigar por qué.
3. Ejecute el script de comprobación de cumplimiento en cada nodo para identificar cualquier nodo que no cumpla con las normas, lo que puede provocar que la comprobación de ECS muestre un estado de incumplimiento.
Ejecute el script de cumplimiento en todos los nodos; los nodos con "pares NTP no sincronizados" pueden tener el problema de archivo de deriva de NTP en algunos nodos. Una salida de "Checking compliance..." En un nodo sin resultado de falla, la comprobación se aprobó sin problemas.
# domulti /opt/emc/caspian/fabric/agent/conf/compliance_check.sh
admin@node1:~> domulti /opt/emc/caspian/fabric/agent/conf/compliance_check.sh
192.168.219.1
========================================
Checking compliance...
NTP peers out of sync
192.168.219.2
========================================
Checking compliance...
192.168.219.3
========================================
Checking compliance...
NTP peers out of sync
192.168.219.4
========================================
Checking compliance...
NTP peers out of sync
Si hay un resultado de "pares NTP no sincronizados", vaya a la sección "pares no sincronizados" a continuación.
Resolución:
1. Compruebe si la compensación de NTP es superior a 10 (+/-), lo que puede causar la alerta de cumplimiento.
# viprexec -i "ntpq -nc peers"
admin@node1:~> viprexec -i "ntpq -nc peers" Output from host : 169.254.1.1 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 31 64 377 0.103 -367.66 44.909 +10.xxx.xxx.33 .GPSs. 1 u 32 64 377 0.097 -368.68 44.341 +10.xxx.xxx.35 .GPSs. 1 u 16 64 377 0.107 -338.96 69.736 Output from host : 169.254.1.2 remote refid st t when poll reach delay offset jitter ============================================================================== +10.xxx.xxx.16 .GPSs. 1 u 26 64 377 0.089 8.566 0.746 *10.xxx.xxx.33 .GPSs. 1 u 26 64 377 0.100 8.585 0.739 +10.xxx.xxx.35 .GPSs. 1 u 23 64 377 0.104 8.888 0.592 Output from host : 169.254.1.3 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 31 64 377 0.101 -354.40 52.444 +10.xxx.xxx.33 .GPSs. 1 u 29 64 377 0.101 -338.84 63.750 +10.xxx.xxx.35 .GPSs. 1 u 39 64 377 0.106 -387.28 44.286 Output from host : 169.254.1.4 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 26 64 377 0.084 72.675 9.200 +10.xxx.xxx.33 .GPSs. 1 u 37 64 377 0.107 65.047 14.913 +10.xxx.xxx.35 .GPSs. 1 u 33 64 377 0.103 87.374 13.435 Output from host : 169.254.1.5 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 27 64 377 0.094 352.741 54.056 +10.xxx.xxx.33 .GPSs. 1 u 26 64 377 0.103 413.893 43.770 +10.xxx.xxx.35 .GPSs. 1 u 33 64 377 0.101 334.493 69.059 Output from host : 169.254.1.6 remote refid st t when poll reach delay offset jitter ============================================================================== +10.xxx.xxx.16 .GPSs. 1 u 27 64 377 0.101 -428.51 54.955 +10.xxx.xxx.33 .GPSs. 1 u 26 64 377 0.097 -326.21 91.208 *10.xxx.xxx.35 .GPSs. 1 u 32 64 377 0.098 -349.00 70.110
Si reiniciamos el servicio ntpd, viprexec -i "ntpq -nc peers" tenemos un desplazamiento de menos de 10 durante unos momentos, y luego vuelve a aumentar a más de 100.
2. El archivo ntp.drift de un nodo que vuelve a aplicar una compensación incorrecta después del reinicio del servicio ntpd puede provocar este problema:
# viprexec -i "cat /var/lib/ntp/drift/ntp.drift"
admin@node1:~> viprexec -i "cat /var/lib/ntp/drift/ntp.drift" Output from host : 169.254.1.1 500.000 Output from host : 169.254.1.2 -14.212 Output from host : 169.254.1.3 500.000 Output from host : 169.254.1.4 -102.474 Output from host : 169.254.1.5 -500.000 Output from host : 169.254.1.6 500.000
Es posible que se genere automáticamente un archivo de desviación de NTP de este tamaño de desplazamiento debido a un problema temporal de red. Cuando un nodo que restablece una conexión al servicio NTP se encuentra fuera de la hora correcta, genera el archivo para volver a corregirse. Después de unos momentos, el archivo de deriva no es necesario y se puede eliminar. Por lo tanto, se debe llevar a cabo lo siguiente.
Nota: ntpd.service es un servicio sin impacto.
Comandos:
# viprexec -i "systemctl stop ntpd" # viprexec -i "cat /var/lib/ntp/drift/ntp.drift # viprexec -i "rm -f /var/lib/ntp/drift/ntp.drift" # viprexec -i "ntpd -gq" # viprexec -i "systemctl start ntpd" # viprexec -i "ntpq -p"
Vuelva a ejecutar el script de comprobación de cumplimiento: viprexec -i "/opt/emc/caspian/fabric/agent/conf/compliance_check.sh"
Si los archivos de desfase de NTP son cero, compruebe si hay algún cambio de fecha en NTP y reinicie el servicio ntpd.
# viprexec "date +%s" 2>&1 | grep "^15"
admin@node1:~> viprexec "date +%s" 2>&1 | grep "^15" 1554470147 1554470111 1554470096 1554470142 1554470144 1554470109 1554470124 1554470140
La diferencia entre los nodos indica que se requiere una desviación de NTP con un reinicio del servicio ntpd. Compruebe el estado del servicio ntpd y, a continuación, reinicie el servicio. (Incluso si el estado es activo y en ejecución, continúe con el reinicio). Nota: ntpd.service es un servicio sin impacto.
# viprexec systemctl status ntpd.service | grep Active:
admin@node1:~> viprexec systemctl status ntpd.service | grep Active: Active: active (running) since Tue 2019-08-06 02:49:06 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Wed 2019-08-07 20:13:27 UTC; 58min ago Active: active (running) since Tue 2019-08-06 02:49:06 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago
# viprexec -i "systemctl restart ntpd.service"
admin@node1:~> viprexec systemctl restart ntpd.service Output from host : 192.168.219.1 Output from host : 192.168.219.2 Output from host : 192.168.219.3 Output from host : 192.168.219.4 Output from host : 192.168.219.5 Output from host : 192.168.219.6 Output from host : 192.168.219.7 Output from host : 192.168.219.8
La desviación de NTP se debe resolver:
# viprexec -i "date +%s" 2>&1 | grep "^15"
admin@node1:~> viprexec -i "date +%s" 2>&1 | grep "^15" 1585746672 1585746672 1585746672 1585746672 1585746672 1585746672 1585746672 1585746672
Si el problema persiste o no coincide con el problema anterior, comuníquese con el soporte técnico de ECS.
Additional Information
Si la resolución anterior no funciona, se debe involucrar al equipo de red del cliente para resolver el problema de NTP.
Para el síntoma "El demonio NTP no se está ejecutando" (NTPD_NOT_RUNNING), consulte el artículo de la base de conocimientos ECS
: xDoctor: RAP081: Código del síntoma: 2048: El demonio NTP no se está ejecutando
Para el síntoma "Todos los servidores NTP NO son adecuados para la sincronización" (NTP_NOT_SUITABLE_ERROR), consulte el artículo de la base de conocimientos ECS
: xDoctor: RAP081: Código del síntoma: 2048: Ninguno de los servidores NTP es apto para la sincronización.
Para el síntoma "Todos los servidores NTP ajustan una compensación mayor que el umbral de error" (NTP_ERROR_OFFSET_ERROR), consulte el artículo de la base de conocimientos ECS
: xDoctor: RAP081: Código del síntoma: 2048: Todos los servidores NTP ajustan una compensación mayor que el umbral de error.