ECS: xDoctor: RAP081: Symptom Code: 2048: Differenza di ora di sistema superiore alla soglia di ERRORE
Summary: xDoctor ha rilevato un problema del daemon NTP (Network Time Protocol).
Symptoms
Tutti i nodi in un rack ECS devono avere il daemon NTP in esecuzione e i server NTP configurati devono essere in grado di sincronizzare l'ora. In caso contrario, potrebbero verificarsi problemi con l'acquisizione dei dati front-end.
| Sintomo |
Messaggio |
|---|---|
| Differenza nell'orario di sistema sopra la soglia ERRORE |
Messaggio = Differenza di fuso orario del sistema superiore alla soglia |
Cause
I sintomi di cui sopra rimangono come AVVERTENZA se non si verificano entro 24 ore.
Dopo 24 ore, se il problema persiste, la gravità viene aumentata a ERROR, e viene segnalato un RAP081.
Resolution
Differenza di orario del nodo a causa del file di deriva NTP che viene aggiornato ogni ora dal servizio ntpd sui nodi. Questo problema può verificarsi quando in precedenza si è verificato un problema di rete su un nodo. Dopo il ricongiungimento, la rete crea un file di deriva errato, applicando una differenza di orario tra i nodi.
Quando un nodo si è ricollegato alla rete in seguito a un problema, può creare temporaneamente un file di deviazione in modo che corrisponda all'ora NTP sul server NTP. Questo dovrebbe essere temporaneo, ma se ntpd non riesce a rimuovere il file, è possibile eliminare i file di deriva e riavviare il servizio per ripristinarlo.
Verifica:
Verificare se tutti i server NTP sono in grado di eseguire il ping.
1. Verificare se la conformità è abilitata.
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. Controllare ECS per determinare se il cluster è conforme o meno.
# 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
}
L'output previsto è COMPLIANT. Se vediamo NON_COMPLIANT, allora dobbiamo indagare sul perché.
3. Eseguire lo script del controllo di conformità su ciascun nodo per identificare eventuali nodi non conformi, il che potrebbe comportare il controllo ECS per mostrare la non conformità.
Eseguire lo script di conformità su tutti i nodi; i nodi con "peer NTP non sincronizzati" potrebbero presentare il problema di file di deriva NTP su alcuni nodi. Viene visualizzato l'output "Checking compliance..." Su un nodo senza errori, l'output indica che il controllo è stato superato senza problemi.
# 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 viene visualizzato l'output "Peer NTP non sincronizzati", passare alla sezione "Peer non sincronizzati" di seguito.
Risoluzione:
1. Verificare che l'offset NTP sia superiore a 10 (+/-), che può causare l'avviso di conformità.
# 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 riavviamo il servizio ntpd, viprexec -i "ntpq -nc peers" abbiamo un offset inferiore a 10 per alcuni istanti, per poi aumentare nuovamente a oltre 100.
2. Il file ntp.drift di un nodo che riapplica un offset errato dopo il riavvio del servizio ntpd può causare il seguente 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
Un file di deviazione NTP di queste dimensioni di offset potrebbe essere generato automaticamente a causa di un problema temporaneo della rete. Quando un nodo che ristabilisce una connessione al servizio NTP si trova fuori dall'ora corretta e generare il file per correggersi nuovamente. Dopo alcuni istanti il file di deriva non è necessario e potrebbe essere rimosso. Pertanto, è necessario eseguire quanto segue.
Nota: ntpd.service è un servizio senza impatto.
Comandi:
# 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"
Eseguire nuovamente lo script di controllo della conformità: viprexec -i "/opt/emc/caspian/fabric/agent/conf/compliance_check.sh"
Se i file di deriva NTP sono pari a zero, verificare se vi è una deviazione della data in NTP e riavviare il servizio 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 differenza tra i nodi indica che è necessaria una deviazione NTP con un riavvio del servizio ntpd. Check for the ntpd service status and then restart the service. (anche se lo stato è attivo, procedere con il riavvio). Nota: ntpd.service è un servizio senza impatto.
# 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 deriva NTP deve essere risolta:
# 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 il problema persiste o non corrisponde al problema precedente, contattare il supporto tecnico ECS.
Additional Information
Se la risoluzione di cui sopra non funziona, è necessario contattare il team di rete del cliente per risolvere il problema NTP.
Per il sintomo "daemon NTP not running" (NTPD_NOT_RUNNING), consultare l'articolo della knowledgebase:
ECS: xDoctor: RAP081: Symptom Code: 2048: Daemon NTP non in esecuzione
Per il sintomo "All NTP servers are not suitable for synchronization" (NTP_NOT_SUITABLE_ERROR), consultare l'articolo della knowledgebase:
ECS: xDoctor: RAP081: Symptom Code: 2048: Tutti i server NTP NON sono adatti per la sincronizzazione.
Per il sintomo "Tutti i server NTP regolano un offset superiore alla soglia di errore" (NTP_ERROR_OFFSET_ERROR), consultare l'articolo della knowledgebase:
ECS: xDoctor: RAP081: Symptom Code: 2048: Tutti i server NTP regolano un offset superiore alla soglia di errore.