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).

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

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
di ERRORE Extra = [Elenco dei nodi]

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'
Esempio:
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. 

Comando: 
# viprexec -i "/opt/emc/caspian/fabric/cli/bin/fcli lifecycle cluster.compliance"
Esempio:
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.

Comando:
# domulti /opt/emc/caspian/fabric/agent/conf/compliance_check.sh
Esempio:
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à.

Comando:
# viprexec -i "ntpq -nc peers"
Esempio: Nota: Sono presenti tre server NTP per nodo, esempio.)
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:

Comando:
# viprexec -i "cat /var/lib/ntp/drift/ntp.drift"
Esempio:
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. 

1. Il servizio ntpd deve essere interrotto.
2. Il file ntp.drift viene rimosso.
3. Il servizio ntpd deve essere riavviato.

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. 

Comando:
# viprexec "date +%s" 2>&1 | grep "^15"
Esempio:
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.

Comando:
# viprexec systemctl status ntpd.service | grep Active:
Esempio:
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
Comando:
# viprexec -i "systemctl restart ntpd.service"
Esempio:
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:

Comando:
# viprexec -i "date +%s" 2>&1 | grep "^15"
Esempio:
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.

Affected Products

ECS

Products

ECS Appliance, ECS Appliance Gen 1, ECS Appliance Gen 2, ECS Appliance Gen 3, ECS Software
Article Properties
Article Number: 000230636
Article Type: Solution
Last Modified: 03 Oct 2024
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.