Настройка времени vmware esxi

Обновлено: 07.07.2024

Ранее, в статье Ошибки проектирования Active Directory, был поднят вопрос о времени. Точное время — гарантия успеха и корректной работы Active Directory Domain Services, но как обеспечить точность времени в среде VMware vSphere? Сегодня об этом практическом вопросе мы и поговорим.

Точный хронометраж — обязательное условие для проектирования служб Active Directory. Время участвует в множестве процессов, которые протекают в ИТ инфраструктуре. Если рассматривать пример служб каталогов, на точном времени завязаны процессы аутентификации и арбитраж репликации. Другим примером может послужить работа SIEM систем. Время для них не менее критично, так как их задача сводится к корреляции событий с различных источников данных. В случае рассинхронизации, контроли информационной безопасности просто не будут работать корректно.

Хронометраж в среде VMware vSphere

Существует расхожее мнение, что среда виртуализации оказывает влияние на механизмы исчисления времени внутри виртуальных машин, другими словами, хронометраж неточен. Погрешности происходят из-за совместного использования физических ресурсов гипервизора виртуальными машинами, которые работают на нем.

Для отслеживания течения времени, используется один из двух методов: подсчет тиков или отсчет времени. При подсчете тиков операционная система использует аппаратное устройство для передачи прерываний через заранее определенный интервал, например, 100 раз в секунду. Далее, отслеживаются эти прерывания или тики, чтобы определить, сколько времени прошло.

В режиме отсчета времени, происходит следующее: после старта системы аппаратное устройство начинает производить хронометраж. При необходимости производится считывание показаний этого счетчика. Системы на базе Windows используют периодический таймер CMOS для доставки прерываний или тиков.

Помимо подсчета времени, операционные системы также должны отслеживать абсолютное время. Когда система запускается, она считывает начальное время CMOS с точностью до секунды и запрашивает по сети данные с NTP сервера для получения более точных результатов. Затем используется один из методов, описанных выше, для измерения хода времени с этого момента.

Опция Synchronize guest time with host

Опция Synchronize guest time with host

При отставании часов в гостевой ОС, средства интеграции переместят часы в будущее, чтобы часы гостевой ОС и гипервизора совпадали. В обратном случае, когда часы гостевой ОС спешат по сравнению к часам гипервизора, будет начат процесс постепенного замедления времени до полной синхронизации. Синхронизация времени по умолчанию отключена для всех виртуальных машин. Чтобы убедиться в этом, можно проверить пользовательский интерфейс.

Но есть нюанс, даже если синхронизация времени VMware Tools отключена, синхронизация времени выполняется во время запуска гостевой операционной системы и во время некоторых операций обслуживания виртуальной машины на платформе vSphere. К этому интересному нюансу, я обязательно вернуть чуть позже в практической части.

Закладываем правильный фундамент

Чтобы заложить правильный фундамент, нужно выполнить 3 шага:

  1. Конфигурирвоание времени на хостах ESXi;
  2. Модификация параметров виртуальной машины с контроллером домена;
  3. Настройка служб точного времени Windows на самом контроллере домена.

Важно использовать несколько источников одного уровня.

Active Directory в среде виртуализации VMware vSphere

Active Directory в среде виртуализации VMware vSphere

Второй шаг – необходимо добиться условия, при котором время контроллером домена синхронизируется только на моменте старта.

Как уже писалось ранее, есть нюанс в работе VMware Tools. Даже если синхронизация времени отключена, существуют частные случаи, когда это происходит. Например, когда виртуальная машина восстанавливается со снепшота, гибернации или выполняет миграция чрез vMotion.

Для рядовых серверов домена, такое поведение не является критичным ввиду того, что контроллер домена выступает для них источником точного времени. Причем время от него является приоритетнее, чем от ESXi гипервизора. С контроллером домена, держателем FSMO роли PDC эмулятора, оставить дефолтную конфигурацию будет не корректно. Он сам выступает источником точного времени и не должен зависеть от среды виртуализации. В конфигурацию виртуальной машины необходимо добавить следующие строки:

NameValue
tools.syncTime0
time.synchronize.continue0
time.synchronize.restore0
time.synchronize.resume.disk0
time.synchronize.shrink0
time.synchronize.tools.startup0
time.synchronize.tools.enable0
time.synchronize.resume.host0

Более подробную информацию можно найти в соответствующей KB

Третий шаг – это настройка службы времени Windows (w32tm). На контроллере домена выполняем 3 команды в cmd:

w32tm /config /syncfromflags:manual /manualpeerlist:ntp.time.in.ua (NTP сервера могут быть любыми)

w32tm /config /update

w32tm /resync

Выводы

Время – критический элемент инфраструктуры. На нем завязана работа множества систем, а не только инфраструктуры Active Directory. Но именно Active Directory Domain Services выполняют роль источника точного времени для всей Windows инфраструктуры, что означает необходимость в ее правильной конфигурации.


Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
  • VMware Technology Network
  • :
  • Global
  • :
  • Russian
  • :
  • Russian Discussions
  • :
  • Синхронизация времени в ESXi
iltmpz
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Пытался искать решение в гугле, нашел почему-то только то, то ESXi использует UTC и поэтому все отлично.

А у меня проблема, и никак не могу сообразить:

Взял сервер, время в биосе правильное, допустим 1:50,

поставил на него EXSi, подключился через vSphere, смотрю configuration - time configuration - Date & Time: 1:50. Все правильно.

Теперь создаю виртуальную машину, захожу к ней в биос: там 21:50. С учетом часового пояса +4 - как раз на 4 назад время сдвинуто. Кстати, когда захожу в консоль (ssh), там date тоже выдает 21:50

Естественно, когда ставлю например винду на виртуальную машину, получаю на ней тоже время 21:50

И пусть бы - время в сети благополучно синхронизируется по NTP, но например после перезагрузки гостевой системы получаю опять скачок на 4 часа назад - крайне неприятно.

На ESXi-хосте время тоже синхронизировано с ntp.

Что с этим делать? Пытался вручную скопировать по ssh "правильный" файл зоны для МСК, после перезагрузки система вернулась к исходному состоянию.

michigun
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Сравните время в клиенте vsphere и в ssh (команда date вроде).

Клиент vsphere смещает отоброжаемое время esxi на часовой пояс машины, откуда запущен.

VTsukanov
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

(+) к ответу Михаила

1) ESXi по умолчанию считает себя живущим в UTC и это с точки зрения vmware не редактируется

ESXi uses UTC time and does not support changing time zones.

2) Для гостей обычно снимают галку "Synchronize guest time with host" в свойствах виртуальной машины и настраивают синхронизацию с оглядкой на

michigun
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Там еще есть подстава (иногда подстава) - вне зависимости от упомянутой галочки вм синхронизирует время с хостом притстарте. В некоторых сценариях это приходится лечить.

VTsukanov
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Возможно. Насколько я помню этим управляют не очень прозрачные строки в vmx файле : tools.syncTime, time.synchronize.tools.startup, time.synchronize.continue etc

iltmpz
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Клиент vsphere смещает отоброжаемое время esxi на часовой пояс машины, откуда запущен.

Про отображаемое время понял - выставил на клиенте часовой пояс UTC - действительно теперь везде время одинаковое, сдвинутое на 4 часа назад.

Но отображение времени - вопрос второстепенный, важнее, как мне синхронизировать время на esxi и время в остальной сети, так, чтобы при этом время на клиентах выдавалось правильно?

2) Для гостей обычно снимают галку "Synchronize guest time with host" в свойствах виртуальной машины и настраивают синхронизацию с оглядкой на

Да, это я тоже проверил, она по умолчанию в esxi снята.

Ссылки посмотрел - там про синхронизацию между гостями и остальной сетью, с этим у меня как раз все хорошо. Проблемы именно с синхронизацией между гостями и esxi.

Там еще есть подстава (иногда подстава) - вне зависимости от упомянутой галочки вм синхронизирует время с хостом притстарте.

Именно: по этому поводу я и создал тему.

Кстати, время синхронизируется не всегда: захожу в биос гостя, выставляю произвольное время, перезагружаю гостя (да и хост перезагружать пробовал) - время клиента сохраняется как я выставил. А вот в некоторых случаях сбивается.

Но эти нюансы не сильно интересуют - интереснее, как сделать, чтобы esxi отдавал клиенту правильное время?

Насколько я помню этим управляют не очень прозрачные строки в vmx файле : tools.syncTime, time.synchronize.tools.startup, time.synchronize.continue etc

Хотелось бы все-таки не отучивать гостей во всех возможных случаях синхронизироваться с хостом, а наоборот, настроить хост так, чтобы гости при синхронизации с ним получали время корректно. Синхронизация была бы очень удобной штукой, если бы работала как следует.

Кто как вообще решает эту проблему? Не поверю, что нет простого тривиального решения в пару кликов мышкой и никто этого не делал - ведь задача возникает у всех и каждого (кто живет не в 0 поясе).

Еще раз: сеть живет в UTC+4, есть ntp-сервер: есть esxi-хост, есть гостевая машина на хосте. Когда я синхронизирую гостевую машину с ntp - все ок, когда я синхронизирую esxi с ntp - меня не волнует, что показывает esxi в админке или по какому времени он живет сам, меня волнует, чтобы esxi отдавал правильное время гостю, а он выдает на 4 часа меньше.

В сегодняшней заметке я покажу, как произвести настройки по синхронизации времени между виртуальной машиной и « ESXi » сервером.

Подключаем « vsphere » клиентом (версия 5.0) к « ESXi » серверу (версия 5.0), открываем настройки управления :

« Configuration » – « Time Configuration » – « Properties …» в появившемся окне активируем элемент настройки: « NTP Client Enabled » и после нажимаем кнопку « Options …».

Запускаем на ESXi сервер NTP клиент

Далее в появившемся окне « NTP Daemon ( ntpd ) Options » (NTP/123/ udp ) слева выбираем параметр « NTP Settings » и нажимаем кнопку « Add …» и вводим адрес сервера в локальной сети (, адрес 10.10.0.2 — это адрес моего Домен контроллера, в вашем случае это может быть, как также «DC», так и Cisco с поднятой службой NTP).

Указываем IP NTP сервера в Вашей локальной сети

Активируем пункт «Restart NTP Service to apply changes» и нажимаем кнопку «OK».

Перезапускаем NTP клиент

Изменяем политику запуска

С настройкой на « ESXi » разобрались, далее берем виртуальную машину , открываем ее настройки и следуем по шагам:

Открываем настройки виртуальной машины

Закрываем настройки виртуальной машины. Подводя итог можно сказать, что теперь на виртуальных машинах в принудительном порядке активирована возможность синхронизации точного времени получаемого с « ESXi » на виртуальную машину.

Данные даты и времени на виртуальной машине – « cluster 1» – они верны на момент написания заметки.

Заметка работоспособна и в полной мере соответствует тому результату, к которому я стремился, время начинает синхронизироваться с виртуальными машинами . Задача выполнена. С уважением, ekzorchik .

Как настроить время и NTP клиента в ESXI 5.5-01

Как настроить время и NTP клиента в ESXI 5.5-01

Всем привет сегодня расскажу как настроить время и NTP клиента в ESXI 5.5. Для начала давайте вспомним что такое NTP server - это сервер времени с которым все остальные клиенты синхронизируют время, например это может быть контроллер домена. Точное время вам поможет когда вы будите например смотреть логи и будите видеть реальное время, а не отличное от нужного на несколько часов.

После того как вы установили ESXi 5.5 сразу нужно настроить NTP клиента или время в ручную.

Как настроить время и NTP клиента в ESXI 5.5 через VMware client

Для этого конектимся к вашему хосту например через vCenter 5.5 выбираем ваш host ESXI и переходим на вкладку Configuration-Time Configuration. Видим, что время у нас подсвечено красным, что означает, что клиент NTP не включен. Жмем Properties

Как настроить время и NTP клиента в ESXI 5.5-02

Как настроить время и NTP клиента в ESXI 5.5-02

Перед вами откроется окно где можно будет просто в ручную установить время либо включить NTP Client Enable и нажать Options

Как настроить время и NTP клиента в ESXI 5.5-03

Как настроить время и NTP клиента в ESXI 5.5-03

где вы можете указать тип запуска службы NTP и включить ее, а так же перейти на вкладку NTP Settings

Как настроить время и NTP клиента в ESXI 5.5-04

Как настроить время и NTP клиента в ESXI 5.5-04

Где вы можете указать ваш NTP Server в локальной сети.

Как настроить время и NTP клиента в ESXI 5.5-05

Как настроить время и NTP клиента в ESXI 5.5-05

Далее рассмотрим на мой взгляд более удобный способ через Web Client.

Как настроить время и NTP клиента в ESXI 5.5 через vsphere web client.

Заходим через веб интефейс vsphere web client выбираем нужный вам хост и переходим на вкладку Manage-Settings-Time Configuration и нажимаем кнопку Edit.

Как настроить время и NTP клиента в ESXI 5.5-06

Как настроить время и NTP клиента в ESXI 5.5-06

Тут так же но в более удобной форме можно задать ручное время и указать NTP Server для синхронизации с ним.

date

12.12.2019

directory

VMWare

comments

Один комментарий

Не секрет, что в домене 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» отключена!

vmtools синхронизация времени

Настроить синхронизацию времени вашего сервера vSphere с доменом можно следующим образом:

  • Подключитесь к консоли управления vCenter / хоста ESX.
  • Перейдите на вкладку Configuration и выберите пункт TimeConfiguration в разделе Software. Убедитесь, что время на хосте отличается от времени вашего домена Windows.

Настрока синхронизации времени в ESX

  • В правом верхнем углу вкладки Configuration выберите Properties. В результате откроется окно настройки времени Time Configuration.

Настрока синхронизации времени в ESX

Настрока синхронизации времени в ESX

Синхронизации времени с доменом Windows в ESX

Для того, чтобы внутри гостевых ОС началась синхронизация времени с доменом, вам придется их перезапустить. Дело в том, что служба Windows Time автоматически не исправит время, если время виртуальной машины сильно отличается от доменного. А при загрузке же, все члены домена выполняют синхронизацию своего времени с временем домена, не зависимо от того, какое время на их установлено.

Читайте также: