PowerScale: OneFS: Час на кластері не синхронізується з Active Directory
Summary: Час перебування в кластері не синхронізується з контролером домену Active Directory. Це може призвести до помилок автентифікації для клієнтів.
Symptoms
Якщо час Active Directory відрізняється від часу кластера більш ніж на чотири хвилини, клієнти можуть не автентифікуватися. Кластер, приєднаний до домену AD, повинен майже відповідати часу контролера домену. Годинники вузла можуть змінюватися на секунди або до хвилини, але різниця у чотири хвилини або більше може викликати такі симптоми:
- Клієнти Windows не можуть автентифікуватися в кластері.
- Надсилаються сповіщення про помилки синхронізації часу.
- The
/var/log/messagesФайл містить записи, подібні до наступного:
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
У OneFS синхронізація часу керується двома способами:
-
Внутрішня синхронізація часу (всередині вузлів кластера)
- Зовнішня синхронізація часу (поза кластером)
Коли кластер приєднується до домену AD, він за замовчуванням використовує Server Messenger Block (SMB) для зовнішньої синхронізації часу, точний до секунди. Внутрішньо Network Time Protocol (NTP) керує синхронізацією часу з точністю до мілісекунд.
Щоб уникнути великих часових корекцій при синхронізації з контролером домену AD, налаштуйте контролер на використання NTP замість SMB для більшої точності. Значні коригування можуть спричинити проблеми з продуктивністю, наприклад, тікети Kerberos виглядають простроченими та викликають помилки автентифікації.
Resolution
Перевірте часовий зсув між кластером і доменами:
# isi_for_array -s date
# isi_for_array -s /usr/likewise/bin/lw-get-dc-time <domain_name>
Переконайтеся, що синхронізація часу налаштована коректно:
Виконайте всі наведені нижче кроки для налаштування контролерів домену AD і забезпечення правильної синхронізації кластера з контролерами AD.
Налаштуйте NTP на серверах Active Directory:
Для Windows 2003 - 2012 Server налаштуйте NTP для посилання на ваші NTP-сервери. Детальніше дивіться на сторінці «Інструменти та налаштування
Windows Time Services Tools» на сайті Microsoft TechNet.
ПРИМІТКА:
Переконайтеся, що два контролери домену AD доступні для резервування, якщо один стане недоступним. Час має слідувати точній ієрархії, або від публічних NTP-серверів, або з внутрішнього джерела, наприклад, системи з GPS.
Перевірте, чи підтримують контролери домену AD NTP і чи не блокується NTP міжмережевим екраном чи іншими налаштуваннями:
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему через обліковий запис "root".
- Виконайте наступні команди, де
<ipaddr1>і<ipaddr2>є IP-адресами першого та другого контролерів домену AD:
ntpdate -q -u <ipaddr1> ntpdate -q -u <ipaddr2>
Якщо контролери домену AD підтримують NTP, вихід кожної команди виглядає приблизно так:
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
Якщо контролери домену AD не підтримують NTP, результат виглядає схоже на наступне, у такому разі слід звернутися до адміністратора домену за допомогою.
b5-10-3: 11 May 15:49:40 ntpdate[79741]: no server suitable for synchronization found
Встановіть час на кластері так, щоб він співпав із часом на контролері домену AD:
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему через обліковий запис "root".
- Виконайте таку команду, де
<ippaddr1>— це IP-адреса контролера домену AD, з якою ви хочете синхронізувати кластер:isi_for_array -s "ntpdate -u -b <ipaddr1>"
Вихід виглядає подібно до наступного:
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
Видалити файл ntp.drift:
The ntp.drift File — це запис дрейфу тактового сигналу системи. Система відновлює цей файл після накопичення достатньої кількості даних.
-
Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему через обліковий запис "root".
-
Виконайте одну з наступних команд у командному рядку, залежно від версії OneFS, яку ви запускаєте:
isi_for_array -sX "rm -fv /var/crash/ntp.drift"
Налаштуйте кластер так, щоб використовувати контролери домену AD як NTP-сервери:
-
Відкрийте інтерфейс адміністрування веб-сервісу OneFS і зробіть одне з наступних:
-
У OneFS WebUI натисніть вкладку Cluster Management > General Settings > NTP .
-
Для кожного контролера домену AD введіть IP-адресу у полі IP сервера або ім'я хоста , потім натисніть Додати.
-
Натисніть «Надіслати».
Альтернативно, ви можете виконати це завдання через командний рядок:
-
Відкрийте SSH-з'єднання на будь-якому вузлі кластера та увійдіть у систему через обліковий запис "root".
-
Виконайте таку команду, де
<ipaddr1>і<ipaddr2>є IP-адресами першого та другого контролерів домену AD:isi_ntp_config add server <ipaddr1> isi_ntp_config add server <ipaddr2>
ПРИМІТКА
Нові налаштування NTP можуть поширитися на всі вузли кластера через 23 години. Вузли хімерів синхронізують свій час із контролерами домену AD, а вузли кластера синхронізують свій час із хімерними вузлами.