Не секрет, що в домені Windows синхронізація часу має величезне значення. Адже в тому випадку, якщо час на рядовому сервері домену буде більш ніж на 5 хвилин відрізнятися від часу інших служб домену, то почнуться проблеми з отриманням квитків від служби Kerberos. В результаті клієнт не зможе нормально користуватися мережевими сервісами і в системному балці будуть з'являтися різні помилки аутентифікації, в яких часто дуже складно розібратися і діагностувати.
Синхронізація часу в домені Windows заснована на чіткій ієрархії домену. Контролер домену з роллю FSMO зазвичай налаштований на отримання часу з авторитетного сервера часу NTP (настройка синхронізації із зовнішнім NTP сервером), і в подальшому всі інші контролери домену синхронізують час саме з ним. Клієнти домену в різних сайтах синхронізують свій час з контролером домену в своєму сайті, тим самим реалізується механізм синхронізації часу в домені Windows.
Віртуальні машини нічим не відрізняються від фізичних комп'ютерів і зазвичай синхронізують час по тій же самій ієрархічній схемі домену. Однак, я не раз помічав, що віртуальні машини на VMware vSphere завантажуються з часом, істотно розходяться з доменним. Саме про цю проблему і поговоримо в цій статті.
Така ситуація виникає, коли VMware vSphere (точніше сервер ESX або ESXi), не налаштований на синхронізацію часу з зовнішнім NTP сервером, або ж коли час на фізичному сервері "плаває" через проблеми з системним таймером. Так як сервера ESX / ESXi використовують власну ОС, і не є членами домену, вони не потрапляють в струнку синхронізації часу в ієрархії домену.
Як ви знаєте, багато організацій, які застосовують віртуалізацію в своїй інфраструктурі, для управлінням парком гіпервізора ESX використовується vCenter. І тому сервер з встановленим vCenter є членом домену Windows, адміністратори думають, що тому vCenter синхронізує свій час з доменним, то час на серверах ESXi і запущених на них віртуальних машинах також синхронізовано з доменом. Але це не так! Ви можете налаштувати сервер vSphere або ESX на синхронізацію часу з певним джерелом, проте гостьові ОС все одно можуть завантажуватися з неправильним часом, навіть якщо в VMWare Tools опція "time synchronization between the virtual machine and the ESX server " відключена!
Налаштувати синхронізацію часу вашого сервера vSphere з доменом можна наступним чином:
- Підключіться до консолі управління vCenter / хоста ESX.
- Перейдіть на вкладку Configuration і виберіть пункт Time Configuration в розділі Software. Переконайтеся, що час на хості відрізняється від часу вашого домену Windows.
- У правому верхньому куті вкладки Configuration виберіть Properties. В результаті відкриється вікно налаштування часу Time Configuration.
- Натисніть кнопку Options і вкажіть новий NTP сервер, який буде служити джерелом часу. Я рекомендую вказати тут адресу вашого контролера домену PDC, тому що він налаштований на отримання мережевого часу від авторитетного джерела.
- відзначте чекбокс Restart NTP service to apply changes і двічі клацніть OK. В результаті ви побачите, що ваш сервер ESX отримує доменне час від сервера NTP з ім'ям dc01.companyabc.com.
Для того, щоб усередині гостьових ОС почалася синхронізація часу з доменом, вам доведеться їх перезапустити. Справа в тому, що служба Windows Time автоматично не виправить час, якщо час віртуальної машини сильно відрізняється від доменного. А при завантаженні ж, всі члени домену виконують синхронізацію свого часу з часом домену, не залежно від того, який час на їх встановлено.