Как отключить синхронизацию времени
Перейти к содержимому

Как отключить синхронизацию времени

  • автор:

Отключение синхронизации времени в Windows

Отключение синхронизации времени в Windows

По умолчанию, компьютеры под управлением операционной системы Windows постоянно синхронизируют время с NTP серверами, с целью поддержания верных настроек времени на компьютере. На компьютерах входящих в домен Active Directory, в роли NTP серверов выступают контроллеры домена. За синхронизацию времени отвечает служба времени Windows, она же W32Time. Включенная синхронизация времени никак не мешает поменять время на компьютере, однако, спустя какое-то время после смены времени или даты, оно будет синхронизировано с NTP сервером, после чего будет принудительно выставлено его актуальное значение. Однако, всегда есть возможность отключить принудительную синхронизацию времени, о чем и пойдет речь в материале ниже.

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

Отключение синхронизации времени через командную строку

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

w32tm /config /syncfromflags:no /update net stop w32time && net start w32time

А вот команда на включение синхронизации времени зависит от того, входит ли Ваш компьютер в домен Active Directory, или нет.
Если компьютер не входит в домен, то команда на включение синхронизации времени выглядит следующим образом:

w32tm /config /syncfromflags:all /update net stop w32time && net start w32time

Если же компьютер находится в домене Active Directory, то команда уже имеет такой вид:

w32tm /config /syncfromflags:domhier /update net stop w32time && net start w32time

Отключение синхронизации времени через редактирование реестра

    Выключение синхронизации времени:
REG add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v Type /d NoSync /f net stop w32time && net start w32time
REG add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v Type /d NTP /f net stop w32time && net start w32time
REG add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v Type /d NT5DS /f net stop w32time && net start w32time

PowerShell

    Выключение синхронизации времени:

PowerShell Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Parameters -Name "Type" -Value "NoSync" Restart-Service -Name w32time
PowerShell Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Parameters -Name "Type" -Value "NTP" Restart-Service -Name w32time
PowerShell Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Parameters -Name "Type" -Value "NT5DS" Restart-Service -Name w32time

Как отключить синхронизацию времени

Синхронизация времени позволяет обеспечить постоянное соответствие времени гостевой операционной системы и хоста средствами гипервизора. Если синхронизация времени включена, то время гостевой операционной системы всегда синхронизировано с временем хоста.

Если вы хотите использовать протокол сетевого времени (Network Time Protocol), рекомендуется отключить синхронизацию времени на уровне гипервизора:

  • Для настройки гипервизора ESXi обратитесь к документации VMware ESXi.
  • Для настройки гипервизора Hyper-V обратитесь к документации Microsoft.

Как отключить синхронизацию времени

Синхронизация времени позволяет обеспечить постоянное соответствие времени гостевой операционной системы и хоста средствами гипервизора. Если синхронизация времени включена, то время гостевой операционной системы всегда синхронизировано с временем хоста.

Если вы хотите использовать протокол сетевого времени (Network Time Protocol), рекомендуется отключить синхронизацию времени на уровне гипервизора:

  • Для настройки гипервизора ESXi обратитесь к документации VMware ESXi.
  • Для настройки гипервизора Hyper-V обратитесь к документации Microsoft.

Полное отключение синхронизации времени между виртуальной машиной и гипервизором VMware ESXi

Небольшая, но довольно полезная статья. Надеюсь поможет кому-нибудь избежать проблем в будущем.
Недавно на одном из наших проектов случился неожиданный шторм инцидентов, вызванный рассинхронизацией времени между виртуалками и NTP-серверами. Причину нашли довольно быстро: в это время происходила массовая онлайн-миграция vMotion между хостами, вызванная обновлением BIOS гипервизоров. Причем хосты тоже получали время с NTP-сервера, но виртуалки на них начинали мигрировать сразу после включения гипервизоров, когда последние еще не успевали полностью синхронизировать время, соответственно возникала разница во времени между хостами между которыми происходила миграция. Очевидно, что это была ошибка со стороны команды виртуализации, однако это вызвало шторм инцидентов на нас, UNIX команде.

Ситуация вызвала большое удивление, ведь настройка “Synchronize time with host” была отключена на всех виртуалках. Причина была найдена в КБ-шке VMware:
Особого внимания заслуживают строчки:

  • When you suspend a virtual machine, the next time you resume that virtual machine it synchronizes the time to adjust it to the host.
  • Time is resynchronized when you migrate the virtual machine using vMotion, take a snapshot, restore to a snapshot, shrink the virtual disk, or restart the VMware Tools service in the virtual machine (including rebooting the virtual machine).

Вот так нежданчик. Получается, что Вмваря принудительно синхронизирует время при миграции, снятии снапшотов и в других «особых» случаях. В случае если между двумя хостами существует разница во времени, и вы мигрируете виртуалку между ними – эта разница во времени отразится на системных часах, что может привести к известным проблемам с ntpd.

И наконец самое главное, ради чего написал статью: там же в статье говорится о том, как навсегда избавиться от этой проблемы – нужно произвести определенные настройки свойств каждой виртуальной машины, а именно внести изменения в vmx-файл виртуалки:

tools.syncTime = «0»
time.synchronize.continue = «0»
time.synchronize.restore = «0»
time.synchronize.resume.disk = «0»
time.synchronize.shrink = «0»
time.synchronize.tools.startup = «0»
time.synchronize.tools.enable = «0»
time.synchronize.resume.host = «0»

То же самое можно сделать через интерфейс vSphere Client’а.
Таким образом можно обезопасить себя от любых неправильных настроек времени на стороне гипервизоров, вызванных человеческим фактором либо объективными причинами.

  • vmware esxi
  • ntp
  • синхронизация времени

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *