ECS: xDoctor: RAP081: Symptom Code: 2048: Systemzeitdifferenz über dem FEHLERSCHWELLENWERT
Summary: xDoctor hat ein Problem mit dem Network Time Protocol (NTP)-Daemon erkannt.
Symptoms
Auf allen Nodes in einem ECS-Rack sollte der NTP-Daemon ausgeführt werden und die konfigurierten NTP-Server sollten in der Lage sein, die Zeit zu synchronisieren. Andernfalls kann dies zu Problemen bei der Front-end-Datenaufnahme führen.
| Symptom |
Meldung |
|---|---|
| Systemzeitdifferenz über dem Fehlerschwellenwert |
Meldung = Systemzeitdifferenz über FEHLERSCHWELLENWERT |
Cause
Die oben genannten Symptome bleiben als WARNUNG bestehen, wenn sie nicht innerhalb von 24 Stunden auftreten.
Wenn dies nach 24 Stunden weiterhin auftritt, wird der Schweregrad auf ERROR erhöht und RAP081 wird gemeldet.
Resolution
Node-Zeitunterschied aufgrund der NTP-Abweichungsdatei, die stündlich vom ntpd-Service auf den Nodes aktualisiert wird. Dieses Problem kann auftreten, wenn zuvor ein Netzwerkproblem auf einem Node aufgetreten ist. Nach dem erneuten Beitritt erstellt das Netzwerk eine falsche Abweichungsdatei, wodurch ein Zeitunterschied zwischen den Nodes erzwungen wird.
Wenn ein Node nach einem Problem wieder mit dem Netzwerk verbunden ist, kann vorübergehend eine Abweichungsdatei erstellt werden, die der NTP-Zeit auf dem NTP-Server entspricht. Dies sollte vorübergehend sein, aber wenn ntpd die Datei nicht entfernen kann, können wir die Abweichungsdateien löschen und den Dienst neu starten, um sie wiederherzustellen.
Verifizierung:
Überprüfen Sie, ob alle NTP-Server Ping können.
1. Überprüfen Sie, ob Compliance aktiviert ist.
Befehl:
# 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. Überprüfen Sie den ECS, um festzustellen, ob der Cluster konform ist oder nicht.
# 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
}
Die erwartete Ausgabe ist KONFORM. Wenn wir NON_COMPLIANT sehen, dann müssen wir untersuchen, warum.
3. Führen Sie das Skript für die Compliance-Prüfung auf jedem Node aus, um alle nicht konformen Nodes zu identifizieren, was dazu führen kann, dass die ECS-Prüfung eine Nichtkonformität anzeigt.
Führen Sie das Compliance-Skript auf allen Nodes aus. Bei Nodes mit der Meldung "NTP-Peers nicht synchron" tritt möglicherweise das Problem mit der NTP-Driftdatei auf einigen Nodes auf. Eine Ausgabe von "Checking compliance..." Auf einem Node ohne Fehlerausgabe bedeutet, dass die Prüfung ohne Probleme bestanden wurde.
# 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
Wenn die Ausgabe "NTP-Peers out of sync" ausgegeben wird, fahren Sie mit dem Abschnitt "Peers out of sync" weiter unten.
Auflösung:
1. Prüfen Sie, ob ein NTP-Offset über 10 (+/-) liegt, was zu einer Compliance-Warnmeldung führen kann.
# 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
Wenn wir den ntpd-Service viprexec -i "ntpq -nc peers" neu starten, haben wir für einige Augenblicke einen Offset von unter 10 und steigen dann wieder auf über 100 an.
2. Wenn die ntp.drift-Datei eines Node nach dem Neustart des ntpd-Dienstes erneut einen falschen Offset anwendet, kann dies zu diesem Problem führen:
# 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
Eine NTP-Abweichungsdatei dieser Offsetgröße wird möglicherweise aufgrund eines temporären Netzwerkproblems automatisch erzeugt. Wenn ein Node, der eine Verbindung zum NTP-Dienst wiederherstellt, nicht zur richtigen Zeit ist, erzeugen Sie die Datei, um sich selbst zu korrigieren. Nach einigen Augenblicken wird die Abweichungsdatei nicht mehr benötigt und kann entfernt werden. Daher sollte folgendes durchgeführt werden.
Hinweis: ntpd.service ist ein Dienst ohne Auswirkung.
Befehle:
# 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"
Führen Sie das Skript zur Compliance-Prüfung erneut aus: viprexec -i "/opt/emc/caspian/fabric/agent/conf/compliance_check.sh"
Wenn die NTP-Abweichungsdateien null sind, überprüfen Sie, ob eine Datumsabweichung in NTP vorliegt, und starten Sie den ntpd-Service neu.
# viprexec "date +%s" 2>&1 | grep "^15"
admin@node1:~> viprexec "date +%s" 2>&1 | grep "^15" 1554470147 1554470111 1554470096 1554470142 1554470144 1554470109 1554470124 1554470140
Der Unterschied zwischen den Nodes weist darauf hin, dass eine NTP-Abweichung mit einem ntpd-Serviceneustart erforderlich ist. Überprüfen Sie den Status des ntpd-Dienstes und starten Sie den Dienst neu. (Auch wenn der Status "Up" lautet, fahren Sie mit dem Neustart fort.) Hinweis: ntpd.service ist ein Dienst ohne Auswirkung.
# 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
NTP-Abweichung sollte behoben werden:
# 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
Wenn das Problem weiterhin besteht oder nicht mit dem oben genannten Problem übereinstimmt, wenden Sie sich an den technischen Support von ECS.
Additional Information
Wenn die obige Lösung nicht funktioniert, muss das Netzwerkteam des Kunden einbezogen werden, um das NTP-Problem zu lösen.
Informationen zum Symptom "NTP-Daemon wird nicht ausgeführt" (NTPD_NOT_RUNNING) finden Sie im Wissensdatenbank-Artikel:
ECS: xDoctor: RAP081: Symptom Code: 2048: NTP-Daemon wird nicht ausgeführt
Informationen zum Symptom "Alle NTP-Server eignen sich NICHT für die Synchronisierung" (NTP_NOT_SUITABLE_ERROR) finden Sie im Wissensdatenbank-Artikel:
ECS: xDoctor: RAP081: Symptom Code: 2048: Alle NTP-Server eignen sich NICHT für die Synchronisierung.
Für das Symptom "Alle NTP-Server passen einen Offset höher als den Fehlerschwellenwert an" (NTP_ERROR_OFFSET_ERROR) siehe Wissensdatenbank-Artikel:
ECS: xDoctor: RAP081: Symptom Code: 2048: Alle NTP-Server passen einen Offset an, der höher als der Fehlerschwellenwert ist.