PowerScale: Čas v clusteru není synchronizován se službou Active Directory
Summary: Čas v clusteru není synchronizován s řadičem domény služby Active Directory.
Symptoms
Pokud se čas služby Active Directory liší od času clusteru o více než čtyři minuty, ověření klientů se nemusí podařit. Cluster připojený k doméně AD se musí co nejvíce shodovat s časem řadiče domény. Hodiny uzlu se mohou lišit o sekundy nebo až minutu, ale rozdíl čtyř minut nebo více může způsobit následující příznaky:
- Klienti se systémem Windows se nemohou ověřit v clusteru.
- Jsou odesílána upozornění na chyby synchronizace času.
- Skript
/var/log/messagessoubor obsahuje položky podobné těm následujícím:
2014-04-07T04:15:01-03:00 <4.5> example-1(id1) lsass[60726]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Clock skew too great) 2014-04-07T07:41:28-03:00 <30.3> example-3(id3) lsass[59264]: [lsass] Resetting schannel due to status STATUS_TIME_DIFFERENCE_AT_DC (0xc0000133) while authenticating user 'LAB\jdoe' 2014-04-07T07:41:28-03:00 <30.3> example-3(id3) lsass[59264]: [lsass] AD_NetrlogonOpenSchannel(dc1.example.com) failed with 3221225779 (0xc0000133) (symbol: 'STATUS_TIME_DIFFERENCE_AT_DC') 2014-04-07T07:41:28-03:00 <30.3> example-3(id3) lsass[59264]: [lsass] Network error connecting to EXAMPLE.COM. Error code: 40134 (symbol: LW_ERROR_RPC_ERROR) 2014-04-07T07:41:28-03:00 <30.5> example-3(id3) lsass[59264]: [lsass] Domain 'example.com' is now offline
Cause
V systému OneFS je synchronizace času spravována dvěma způsoby:
-
Interní synchronizace času (v rámci uzlů clusteru)
- Externí synchronizace času (mimo cluster)
Když se cluster připojí k doméně AD, použije ve výchozím nastavení blok SMB (Server Messenger Block) pro externí synchronizaci času, přesně na sekundu. Protokol NTP (Network Time Protocol) interně spravuje synchronizaci času s přesností na milisekundy.
Pokud chcete zabránit velkým časovým opravám při synchronizaci s řadičem domény AD, nakonfigurujte řadič tak, aby místo protokolu SMB používal protokol NTP, abyste dosáhli větší přesnosti. Významné úpravy můžou způsobit problémy s výkonem, jako jsou lístky protokolu Kerberos, které zobrazují vypršení platnosti a aktivují chyby ověřování.
Resolution
Ověřte časový posun mezi clusterem a doménami:
Spuštěním níže uvedených příkazů ověřte datum a čas na uzlech a řadičích domény:
# isi_for_array -s date
# isi_for_array -s /usr/likewise/bin/lw-get-dc-time <domain_name>
Ověřte, že je synchronizace času správně nastavena:
Provedením všech níže uvedených kroků nakonfigurujte řadiče domény služby AD a ujistěte se, že se cluster správně synchronizuje s řadiči AD.
Konfigurace protokolu NTP na serverech služby Active Directory:
V systému Windows 2003–2012 Server nakonfigurujte protokol NTP tak, aby odkazoval na servery NTP. Podrobnosti naleznete na stránce Nástroje a nastavení služeb služby Systémový čas na webu Microsoft TechNet.
POZNÁMKA
Ujistěte se, že jsou k dispozici dva řadiče domény AD pro redundanci, pokud se jeden stane nedostupným. Čas se musí řídit přesnou hierarchií, a to buď z veřejných serverů NTP, nebo z interního zdroje, jako je systém vybavený GPS.
Ověřte, že řadiče domény AD podporují protokol NTP a že protokol NTP není blokovaný bránou firewall nebo jinými nastaveními:
-
Navažte připojení SSH s libovolným uzlem v clusteru a přihlaste se pomocí účtu „root“.
-
Spusťte následující příkazy, kde část
<ipaddr1>a<ipaddr2>jsou IP adresy prvního a druhého řadiče domény AD:
ntpdate -q -u <ipaddr1>
ntpdate -q -u <ipaddr2>
Pokud řadiče domény služby AD podporují protokol NTP, výstup pro každý příkaz vypadá podobně jako v následujícím příkladu:
server <ipaddr1>, vrstva 1, offset 0.427215, zpoždění 0.04138
11. května 15:45:46 ntpdate[79498]: úprava časového posunu serveru <ipaddr1> 0.427215 sec
Pokud řadiče domény služby AD nepodporují protokol NTP, výstup vypadá podobně jako v následujícím případě. V takovém případě byste se měli obrátit na správce domény a požádat o pomoc.
B5-10-3: 11. května 15:49:40 ntpdate[79741]: nebyl nalezen žádný server vhodný pro synchronizaci
Nastavte čas v clusteru tak, aby odpovídal času na řadiči domény AD:
- Navažte připojení SSH s libovolným uzlem v clusteru a přihlaste se pomocí účtu „root“.
- Spusťte následující příkaz, kde část
<ippaddr1>je IP adresa řadiče domény AD, se kterým chcete cluster synchronizovat:
isi_for_array -s "ntpdate -u -b <ipaddr1>"
Výstup vypadá podobně jako v následujícím příkladu:
Příklad-1: 11. května 15:49:48 ntpdate[79756]: krokový časový server <ipaddr1> posun 0,541754 sec
příklad-2: 11. května 15:49:48 ntpdate[99580]: krokový časový server <ipaddr1> offset 0.541843 sec
příklad-3: 11. května 15:49:48 ntpdate[63251]: krokový časový server <ipaddr1> offset 0.480573 sec
Odstraňte soubor ntp.drift:
Skript ntp.drift file je záznam posunu systémových hodin. Systém tento soubor znovu vytvoří poté, co nashromáždí dostatečné množství dat.
-
Navažte připojení SSH s libovolným uzlem v clusteru a přihlaste se pomocí účtu „root“.
-
V závislosti na používané verzi systému OneFS spusťte z příkazového řádku jeden z následujících příkazů:
isi_for_array -sX "rm -fv /var/crash/ntp.drift"
Nakonfigurujte cluster tak, aby používal řadiče domény služby AD jako servery NTP:
-
Otevřete webové rozhraní pro správu OneFS a proveďte jeden z následujících postupů:
-
V systému OneFS 7.0 a novějším klikněte na kartu Cluster Management > General Settings > NTP .
-
U každého řadiče domény AD zadejte IP adresu do pole IP adresa serveru nebo název hostitele a klikněte na tlačítko Přidat.
-
Klikněte na tlačítko Submit.
Případně to můžete provést z příkazového řádku:
-
Navažte připojení SSH s libovolným uzlem v clusteru a přihlaste se pomocí účtu „root“.
-
Spusťte následující příkaz, kde část
<ipaddr1>a<ipaddr2>jsou IP adresy prvního a druhého řadiče domény AD:
isi_ntp_config Přidat server <iPadDr1>
isi_ntp_config Přidat server <iPadDr2>
POZNÁMKA
Může trvat 23 hodin, než se nové nastavení NTP rozšíří do všech uzlů v clusteru. Uzly chimér synchronizují své časy s řadiči domény služby AD a uzly v clusteru synchronizují své časy s uzly chimeréz.