ECS: xDoctor: RAP081: Código de sintoma: 2048: Diferença de hora do sistema acima do limite de ERRO
Summary: O xDoctor detectou um problema de daemon NTP (Network Time Protocol).
Symptoms
Todos os nós de um rack ECS devem ter o daemon NTP em execução, e os servidores NTP configurados devem ser capazes de sincronizar o tempo. Caso contrário, isso pode levar a problemas com a ingestão de dados de front-end.
| Sintoma |
Mensagem |
|---|---|
| Diferença de horário do sistema acima do limite de ERROR |
Mensagem = diferença de hora do sistema acima do limite ERROR Extra |
Cause
Os sintomas acima permanecem como um AVISO se não ocorrerem dentro de 24 horas.
Após 24 horas, se isso persistir, a severidade será aumentada para um ERRO e um RAP081 será relatado.
Resolution
Diferença de hora do nó devido ao arquivo de desvio NTP que é atualizado a cada hora pelo serviço ntpd nos nós. Esse problema pode ocorrer quando um problema de rede ocorre anteriormente em um nó. Depois de reingressar na rede, ele cria um arquivo de desvio incorreto, impondo uma diferença de tempo entre os nós.
Quando um nó reingressa na rede após um problema, ele pode criar temporariamente um arquivo de desvio para corresponder ao horário do NTP no servidor NTP. Isso deve ser temporário, mas se o ntpd não puder remover o arquivo, podemos excluir os arquivos drift e reiniciar o serviço para restaurá-los.
Verificação:
Verifique se todos os servidores NTP podem fazer ping.
1. Confirme se a opção Compliance está ativada.
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. Verifique o ECS para determinar se o cluster é compatível ou não.
# 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
}
O resultado esperado é COMPLIANT. Se vemos NON_COMPLIANT, então temos de investigar porquê.
3. Execute o script de verificação de conformidade em cada nó para identificar quaisquer nós não compatíveis, o que pode resultar na verificação do ECS para mostrar não conformidade.
Execute o script de conformidade em todos os nós. Os nós com "NTP peers fora de sincronia" podem apresentar um problema de arquivo de desvio do NTP em alguns nós. Um resultado de "Verificando a conformidade..." Em um nó sem saídas de falha, a verificação foi aprovada sem nenhum problema encontrado.
# 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
Se houver uma saída de "Pares NTP fora de sincronia", vá para a seção "Pares fora de sincronia" abaixo.
Resolução:
1. Verifique se há uma diferença de NTP acima de 10 (+/-), o que pode causar o alerta de conformidade.
# 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
Se reiniciarmos o serviço ntpd, viprexec -i "ntpq -nc peers", teremos um deslocamento abaixo de 10 por alguns instantes e, em seguida, aumentará de volta para mais de 100.
2. O arquivo ntp.drift de um nó reaplicar um deslocamento incorreto após a reinicialização do serviço ntpd pode causar esse 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
Um arquivo de desvio NTP desse tamanho de deslocamento pode ser gerado automaticamente devido a um problema temporário de rede. Quando um nó restabelecer uma conexão com o serviço NTP se encontra fora do horário correto e gera o arquivo para corrigir-se novamente. Depois de alguns instantes, o arquivo drift não é necessário e pode ser removido. Portanto, o seguinte deve ser realizado.
Nota: ntpd.service é um serviço sem 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"
Execute novamente o script de verificação de conformidade: viprexec -i "/opt/emc/caspian/fabric/agent/conf/compliance_check.sh"
Se os arquivos de desvio do NTP forem zero, verifique se há algum desvio de data no NTP e reinicie o serviço 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
A diferença entre os nós indica que é necessário um desvio de NTP com uma reinicialização do serviço ntpd. Verifique o status do serviço ntpd e, em seguida, reinicie o serviço. (Mesmo que o status esteja ativo e em execução, prossiga com a reinicialização.) Nota: ntpd.service é um serviço sem 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
O desvio de NTP deve ser resolvido:
# 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
Se o problema persistir ou não corresponder ao problema acima, entre em contato com o suporte técnico do ECS.
Additional Information
Se a resolução acima não funcionar, a equipe de rede do cliente deverá ser envolvida para resolver o problema de NTP.
Para ver o sintoma "O daemon NTP não está em execução" (NTPD_NOT_RUNNING), consulte o artigo de conhecimento:
ECS: xDoctor: RAP081: Código de sintoma: 2048: O daemon NTP não está em execução
Para ver o sintoma "Todos os servidores NTP NÃO são adequados para sincronização" (NTP_NOT_SUITABLE_ERROR), consulte o artigo de conhecimento:
ECS: xDoctor: RAP081: Código de sintoma: 2048: Todos os servidores NTP NÃO são adequados para sincronização.
Para o sintoma "Todos os servidores NTP ajustam um deslocamento maior que o limite de erro" (NTP_ERROR_OFFSET_ERROR), consulte o artigo de conhecimento:
ECS: xDoctor: RAP081: Código de sintoma: 2048: Todos os servidores NTP ajustam uma compensação maior que o limite de erro.