PowerScale: OneFS: Tiden i klustret är inte synkroniserad med Active Directory
Summary: Tiden i klustret synkroniseras inte med Active Directory-domänkontrollanten. Detta kan resultera i autentiseringsfel för klienter.
Symptoms
Om Active Directory-tiden skiljer sig från klustertiden med mer än fyra minuter kan det hända att klienterna inte kan autentiseras. Ett kluster som är anslutet till en AD-domän måste matcha domänkontrollantens tid. Nodklockor kan variera med sekunder eller upp till en minut, men en skillnad på fyra minuter eller mer kan orsaka följande symptom:
- Windows-klienter kan inte autentisera till klustret.
- Aviseringar skickas om tidssynkroniseringsfel.
- Informationen
/var/log/messagesFilen innehåller poster som liknar följande:
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
I OneFS hanteras tidssynkronisering på två sätt:
-
Intern tidssynkronisering (inom klusternoderna)
- Extern tidssynkronisering (utanför klustret)
När ett kluster ansluter till en AD-domän använder det Server Messenger Block (SMB) för extern tidssynkronisering som standard, med noggrannhet för sekunden. Internt hanterar Network Time Protocol (NTP) tidssynkronisering med millisekunders precision.
Om du vill förhindra stora tidskorrigeringar vid synkronisering med en AD-domänkontrollant konfigurerar du kontrollanten så att den använder NTP i stället för SMB för större precision. Betydande justeringar kan orsaka prestandaproblem, till exempel att Kerberos-biljetter verkar ha upphört att gälla och utlöser autentiseringsfel.
Resolution
Kontrollera tidsförskjutningen mellan klustret och domänerna:
# isi_for_array -s date
# isi_for_array -s /usr/likewise/bin/lw-get-dc-time <domain_name>
Kontrollera att tidssynkroniseringen är korrekt inställd:
Utför alla steg nedan för att konfigurera AD-domänkontrollanterna och för att säkerställa att klustret synkroniseras korrekt med AD-kontrollanterna.
Konfigurera NTP på Active Directory-servrarna:
För Windows 2003–2012 Server konfigurerar du NTP så att det refererar till NTP-servrarna. Mer information finns på sidan Verktyg och inställningar
för Windows tidstjänster på webbplatsen Microsoft TechNet.
NOT:
Se till att två AD-domänkontrollanter är tillgängliga för redundans om en blir onåbar. Tiden måste följa en korrekt hierarki, antingen från offentliga NTP-servrar eller en intern källa, t.ex. ett GPS-utrustat system.
Kontrollera att AD-domänkontrollanterna stöder NTP och att NTP inte blockeras av en brandvägg eller andra inställningar:
- Öppna en SSH-anslutning på en nod i klustret och logga in med ”rot”-kontot.
- Kör följande kommandon, där
<ipaddr1>och<ipaddr2>är IP-adresserna för den första och andra AD-domänkontrollanten:
ntpdate -q -u <ipaddr1> ntpdate -q -u <ipaddr2>
Om AD-domänkontrollanterna stöder NTP ser utdata för varje kommando ut ungefär så här:
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
Om AD-domänkontrollanterna inte stöder NTP ser utdata ut ungefär så här, i så fall bör du kontakta domänadministratören för att få hjälp.
b5-10-3: 11 May 15:49:40 ntpdate[79741]: no server suitable for synchronization found
Ställ in tiden på klustret så att den matchar tiden på AD-domänkontrollanten:
- Öppna en SSH-anslutning på en nod i klustret och logga in med ”rot”-kontot.
- Kör följande kommando där
<ippaddr1>är IP-adressen för den AD-domänkontrollant som du vill att klustret ska synkronisera med:isi_for_array -s "ntpdate -u -b <ipaddr1>"
Utdata ser ut ungefär så här:
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
Ta bort filen ntp.drift:
Informationen ntp.drift file är en post över klockdriften för systemklockan. Systemet återskapar den här filen när tillräckligt med data har samlats in.
-
Öppna en SSH-anslutning på en nod i klustret och logga in med ”rot”-kontot.
-
Kör något av följande kommandon från kommandoraden, beroende på vilken version av OneFS du kör:
isi_for_array -sX "rm -fv /var/crash/ntp.drift"
Konfigurera klustret så att AD-domänkontrollanterna används som NTP-servrar:
-
Öppna OneFS-webbadministrationsgränssnittet och gör något av följande:
-
I OneFS WebUI klickar du på fliken NTP för allmänna inställningar > för klusterhantering>.
-
För varje AD-domänkontrollant anger du IP-adressen i rutan Server-IP eller värdnamn och klickar sedan på Lägg till.
-
Klicka på Skickat.
Du kan också utföra den här uppgiften från kommandotolken:
-
Öppna en SSH-anslutning på en nod i klustret och logga in med ”rot”-kontot.
-
Kör följande kommando, där
<ipaddr1>och<ipaddr2>är IP-adresserna för den första och andra AD-domänkontrollanten:isi_ntp_config add server <ipaddr1> isi_ntp_config add server <ipaddr2>
NOT
Det kan ta 23 timmar innan de nya NTP-inställningarna sprids till alla noder i klustret. Chimernoderna synkroniserar sina tider med AD-domänkontrollanterna och noderna i klustret synkroniserar sina tider med chimernoderna.