ECS: xDoctor: RAP081: Symptom Code: 2048: Różnica czasu systemu powyżej progu ERROR
Summary: xDoctor wykrył problem z demonem Network Time Protocol (NTP).
Symptoms
Wszystkie węzły w szafie serwerowej ECS powinny mieć uruchomionego demona NTP, a skonfigurowane serwery NTP powinny mieć możliwość synchronizacji czasu. Jeśli nie, może to prowadzić do problemów z pozyskiwaniem danych frontonu.
| Objaw |
Komunikat |
|---|---|
| Różnica czasu systemowego powyżej progu błędu |
Komunikat = Systemowa różnica czasu powyżej progu ERROR Threshold |
Cause
Powyższe objawy pozostają OSTRZEŻENIEM, jeśli nie wystąpią w ciągu 24 godzin.
Jeśli po 24 godzinach ten problem nie ustąpi, poziom ważności zostanie zwiększony do BŁĘDU i zostanie zgłoszony błąd RAP081.
Resolution
Różnica czasu węzła spowodowana plikiem dryfu NTP, który jest aktualizowany co godzinę przez usługę ntpd na węzłach. Ten problem może wystąpić, gdy problem z siecią wystąpił wcześniej w węźle. Po ponownym dołączeniu sieć tworzy nieprawidłowy plik dryfu, wymuszając różnicę czasu między węzłami.
Gdy węzeł ponownie przyłączy się do sieci po wystąpieniu problemu, może tymczasowo utworzyć plik dryfu zgodny z czasem NTP na serwerze NTP. Powinno to być tymczasowe, ale jeśli ntpd nie może usunąć pliku, możemy usunąć pliki dryfu i ponownie uruchomić usługę, aby je przywrócić.
Weryfikacji:
Sprawdź, czy wszystkie serwery NTP mogą wykonywać polecenia ping.
1. Sprawdź, czy opcja Zgodność jest włączona.
Polecenie:
# 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. Sprawdź ECS, aby określić, czy klaster jest zgodny, czy nie.
# 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
}
Oczekiwany wynik jest ZGODNY. Jeśli widzimy NON_COMPLIANT, musimy zbadać, dlaczego.
3. Uruchom skrypt sprawdzania zgodności dla każdego węzła, aby zidentyfikować niezgodne węzły, co może spowodować sprawdzenie ECS w celu wykazania niezgodności.
Uruchom skrypt zgodności na wszystkich węzłach, w przypadku których "niezsynchronizowani są elementy równorzędne NTP", w niektórych węzłach może występować problem z plikiem dryfu NTP. Dane wyjściowe "Sprawdzanie zgodności..." W węźle bez danych wyjściowych oznacza, że kontrola zakończyła się powodzeniem i nie znaleziono żadnych problemów.
# 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
Jeśli wynik to "Elementy równorzędne NTP są niezsynchronizowane", przejdź do sekcji "Elementy równorzędne niezsynchronizowane" poniżej.
Rezolucja:
1. Sprawdź, czy przesunięcie NTP przekracza 10 (+/-), co może spowodować alert zgodności.
# 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
Jeśli ponownie uruchomimy usługę ntpd, viprexec -i "ntpq -nc peers" przez kilka chwil mamy przesunięcie poniżej 10, a następnie wzrasta z powrotem do ponad 100.
2. Plik ntp.drift węzła powodujący ponowne zastosowanie nieprawidłowego przesunięcia po ponownym uruchomieniu usługi ntpd może spowodować następujący problem:
# 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
Plik dryfu NTP o tym rozmiarze przesunięcia może zostać wygenerowany automatycznie z powodu tymczasowego problemu z siecią. Gdy węzeł ponownie nawiązujący połączenie z usługą NTP znajdzie się poza właściwym czasem i wygeneruje plik do ponownej korekty. Po kilku chwilach plik dryfu nie jest potrzebny i można go usunąć. W związku z tym należy wykonać następujące czynności.
Uwaga: ntpd.service nie jest usługą, której nie dotyczy problem.
Polecenia:
# 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"
Uruchom ponownie skrypt sprawdzania zgodności: viprexec -i "/opt/emc/caspian/fabric/agent/conf/compliance_check.sh"
Jeśli wartości plików dryfu NTP wynoszą zero, sprawdź, czy w NTP występuje odchylenie daty i uruchom ponownie usługę 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
Różnica między węzłami wskazuje, że wymagany jest dryf NTP z ponownym uruchomieniem usługi ntpd. Sprawdź stan usługi ntpd, a następnie uruchom ponownie usługę. (Nawet jeśli stan jest włączony, uruchom ponownie komputer). Uwaga: ntpd.service nie jest usługą, której nie dotyczy problem.
# 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
Dryf NTP powinien zostać rozwiązany:
# 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
Jeśli problem nadal występuje lub nie odpowiada powyższemu problemowi, skontaktuj się z działem pomocy technicznej ECS.
Additional Information
Jeśli powyższe rozwiązanie nie zadziała, należy zaangażować zespół ds. sieci klienta w celu rozwiązania problemu NTP.
Aby uzyskać informacje na temat objawu "Demon NTP nie działa" (NTPD_NOT_RUNNING), zapoznaj się z artykułem z bazy wiedzy:
ECS: xDoctor: RAP081: Symptom Code: 2048: Demon NTP nie działa
Objaw "Wszystkie serwery NTP NIE nadają się do synchronizacji" (NTP_NOT_SUITABLE_ERROR), zapoznaj się z artykułem z bazy wiedzy:
ECS: xDoctor: RAP081: Symptom Code: 2048: Wszystkie serwery NTP NIE nadają się do synchronizacji.
Objaw "Wszystkie serwery NTP dostosowują przesunięcie wyższe niż próg błędów" (NTP_ERROR_OFFSET_ERROR), zapoznaj się z artykułem z bazy wiedzy:
ECS: xDoctor: RAP081: Symptom Code: 2048: Wszystkie serwery NTP korygują przesunięcie wyższe niż próg błędu.