У нас есть несколько экземпляров Windows Server 2008 VMware на нескольких физических серверах (размещенных) и приложение, которому требуется время для синхронизации между экземплярами сервера.
Очевидно, у VMware есть проблемы с этим, и у нас действительно никогда не получалось, чтобы он работал лучше, мы настроили серверы для опроса обновлений NTP каждую минуту, что смягчает проблему (довольно грубым способом). За исключением того, что время от времени обновление будет терпеть неудачу (потому что уже слишком большой дрейф), а затем Windows никогда не выполняет обновление NTP после этого, что в конечном итоге позволяет серверам дрейфовать достаточно далеко друг от друга, что наше приложение ломается, и мы это замечаем.
Мы думаем о замене хостов на серверы Xen примерно при такой же настройке, и я предвижу аналогичные проблемы.
Я познакомился с [ http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1318 ], и это помогло, но не совсем эффективно (см. выше).
большое спасибо!
Периодическое использование NTP (даже один раз в минуту) не очень поможет. NTP разработан для постоянных обновлений / настроек и не предназначен для дискретных скачков времени.
Если вы установите надлежащий демон NTP, вам повезет больше. я нашел http://www.meinberg.de/english/sw/ntp.htm (сборка Windows "стандартной" реализации NTPd) для обеспечения надежности на виртуальных машинах под управлением Windows Server 2003 и 2008.
Однако следует отметить четыре вещи:
Убедитесь, что методы синхронизации времени VMWare или отключены для гостей, NTP запущен, иначе они и NTP будут сражаться друг с другом. Установщик для сборки NTP, указанной выше, отключит обычное программное обеспечение для синхронизации времени, обнаруженное в гостевой системе, но не может включить VMWare, поэтому вам нужно будет сделать это самостоятельно.
Убедитесь, что у вас есть tinker panic 0
указанный в верхней части файла конфигурации NTPd. Это останавливает отказ службы NTP в случае внезапного изменения дрейфа часов, что не является редкостью для виртуальных машин из-за разницы в нагрузке на хост во времени.
Используйте источник местного времени для виртуальных машин для большей точности и синхронизируйте этот локальный источник с .pool.ntp.org или аналогичным вместо синхронизации виртуальных машин напрямую с внешним миром. Таким образом, если доступ к вашей внешней сети прекращается, виртуальные машины по-прежнему имеют источник часов, более надежный, чем собственный, для синхронизации (и вы будете добрее к общедоступным серверам времени). Вы можете использовать хост-машину VMWare в качестве этого локального источника времени, хотя я предпочитаю использовать машину в качестве внешнего сетевого шлюза, и она также выполняет эту работу.
Убедитесь, что у вас нет локальных часов виртуальной машины, указанных в качестве источника времени, даже в качестве крайней меры.
Я не знаю о проблемах синхронизации времени, которые конкретно связаны с VMWare, а скорее с проблемами виртуализации. Синхронизированы ли ваши хосты и VC по NTP, и если да, то включили ли вы параметр синхронизации времени в vmtools и выключили ли NTP в гостевой системе? Мы не видим проблем со временем.
Если время имеет решающее значение для вашего приложения (приложений), вам следует подумать о том, чтобы перейти непосредственно к источнику, используя сервер времени на основе GPS. Вот одна компания, которая предлагает решения