ECS: xDoctor: RAP081: Symptom Code: 2048: Rozdíl systémových časů nad prahovou hodnotou ERROR
Summary: Aplikace xDoctor zjistila problém s démonem NTP (Network Time Protocol).
Symptoms
Všechny uzly v racku ECS by měly mít spuštěného démona NTP a nakonfigurované servery NTP by měly být schopny synchronizovat čas. Pokud ne, může to vést k problémům s příjmem dat front-endu.
| Příznak |
Zpráva |
|---|---|
| System time difference above ERROR Threshold |
Zpráva = Rozdíl systémového času nad prahovou hodnotou |
Cause
Výše uvedené příznaky zůstávají jako VAROVÁNÍ, pokud se neobjeví do 24 hodin.
Pokud po 24 hodinách přetrvává, závažnost se zvýší na CHYBU a nahlásí se RAP081.
Resolution
Časový rozdíl uzlu způsobený souborem posunu NTP, který je každou hodinu aktualizován službou ntpd na uzlech. K tomuto problému může dojít, pokud se dříve na uzlu vyskytl problém se sítí. Po opětovném připojení síť vytvoří nesprávný soubor driftu, který vynucuje časový rozdíl mezi uzly.
Když se uzel po problému znovu připojí k síti, může dočasně vytvořit soubor driftu, který bude odpovídat času NTP na serveru NTP. Mělo by se jednat o dočasný postup, ale pokud ntpd nemůže soubor odebrat, můžeme odstranit soubory driftu a restartovat službu, aby se obnovily.
Ověření:
Zkontrolujte, zda všechny servery NTP mohou odeslat příkaz ping.
1. Ověřte, zda je povolena kompatibilita.
Příkaz:
# 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. Zkontrolujte systém ECS a zjistěte, zda je cluster kompatibilní.
# 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čekávaný výstup je COMPLIANT. Pokud vidíme NON_COMPLIANT, pak musíme prozkoumat proč.
3. Spuštěním skriptu kontroly shody na každém uzlu identifikujte uzly nesouladu. Výsledkem může být zjištění, že kontrola ECS neshodu prokáže.
Spusťte skript dodržování předpisů na všech uzlech a uzly s chybou "NTP peers out of sync" mohou mít na některých uzlech problém se souborem posunu NTP. Výstup "Checking compliance..." Na uzlu bez výstupu selhání znamená, že kontrola proběhla úspěšně a nebyly nalezeny žádné problémy.
# 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
Pokud je k dispozici výstup "NTP peers out of sync", přejděte k části "peers out of sync" níže.
Usnesení:
1. Zkontrolujte, zda je posun NTP větší než 10 (+/–), což může způsobit výstrahu dodržování předpisů.
# 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
Pokud restartujeme službu ntpd, viprexec -i "ntpq -nc peers" máme na několik okamžiků posun pod 10 a poté se zvýší zpět na více než 100.
2. Soubor ntp.drift uzlu, který po restartování služby ntpd znovu použije nesprávný posun, může vést k tomuto problému:
# 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
Soubor posunu NTP této velikosti posunu může být automaticky generován kvůli dočasnému problému se sítí. Když uzel, který znovu naváže připojení ke službě NTP, zjistí, že je ve správný čas mimo a vygeneruje soubor, který se má znovu opravit. Po chvíli není soubor posunu potřeba a může být odstraněn. Proto by mělo být provedeno následující.
Poznámka: ntpd.service je služba, která nemá žádný dopad.
Příkazy:
# 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"
Znovu spusťte skript pro kontrolu souladu: viprexec -i "/opt/emc/caspian/fabric/agent/conf/compliance_check.sh"
Pokud jsou soubory posunu NTP nastaveny na nulu, zkontrolujte, zda v protokolu NTP nedošlo k posunu data, a restartujte službu 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
Rozdíl mezi uzly znamená, že se vyžaduje posun protokolu NTP s restartováním služby ntpd. Zkontrolujte stav služby ntpd a poté ji restartujte (I když je stav Up and Running, pokračujte restartováním.) Poznámka: ntpd.service je služba, která nemá žádný dopad.
# 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
Posun NTP by měl být vyřešen:
# 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
Pokud problém stále přetrvává nebo neodpovídá výše uvedenému problému, obraťte se na technickou podporu ECS.
Additional Information
Pokud výše uvedené řešení nefunguje, je nutné do řešení problému s NTP zapojit zákazníkův síťový tým.
Příznak "NTP daemon není spuštěn" (NTPD_NOT_RUNNING) naleznete v článku znalostní databáze:
ECS: xDoctor: RAP081: Symptom Code: 2048: Démon NTP není spuštěn.
Příznak "Všechny servery NTP NEJSOU vhodné pro synchronizaci" (NTP_NOT_SUITABLE_ERROR) naleznete v článku znalostní databáze:
ECS: xDoctor: RAP081: Symptom Code: 2048: Všechny servery NTP NEJSOU vhodné pro synchronizaci.
Příznak "Všechny servery NTP upravují posun vyšší než prahová hodnota chyby" (NTP_ERROR_OFFSET_ERROR) naleznete v článku znalostní databáze:
ECS: xDoctor: RAP081: Symptom Code: 2048: Všechny servery NTP upraví posun vyšší, než je prahová hodnota chyby.