PowerScale: OneFS: Č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. To může vést k chybám ověřování klientů.
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:
# 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žby Systémového času 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>, stratum 1, offset 0.427215, delay 0.04138
11 May 15:45:46 ntpdate[79498]: adjust time server <ipaddr1> offset 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 May 15:49:40 ntpdate[79741]: no server suitable for synchronization found
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:
example-1: 11 May 15:49:48 ntpdate[79756]: step time server <ipaddr1> offset 0.541754 sec
example-2: 11 May 15:49:48 ntpdate[99580]: step time server <ipaddr1> offset 0.541843 sec
example-3: 11 May 15:49:48 ntpdate[63251]: step time 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í dostatek 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ů:
-
Ve webovém uživatelském rozhraní OneFS klikněte na položku Cluster Management General Settings (Obecná nastavení > správy > clusteru) na kartu 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 add server <ipaddr1> isi_ntp_config add 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.