Настройка высокой точности в системах

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 11, Windows 10 версии 1607 и более поздних версий, Azure Stack HCI версии 21H2 и 20H2

Синхронизация времени в Windows 10 и Windows Server 2016 была значительно улучшена. В разумных условиях системы можно настроить для поддержания точности в 1 мс (миллисекунда) или более поздней (в соответствии с UTC).

Предупреждение

Windows Server 2012 R2 и более ранней версии не может соответствовать тем же самым целям высокой точности. Эти операционные системы не поддерживаются для высокой точности. В этих версиях служба времени Windows выполняет следующие действия.

  • Предоставляет необходимую точность времени для выполнения требований проверки подлинности Kerberos версии 5.
  • Предоставляет условно точное время для клиентов и серверов Windows, присоединенных к общему лесу Active Directory.

Большая погрешность в версии 2012 R2 и ранних версиях выходит за пределы спецификации службы времени Windows.

Конфигурация Windows 10 и Windows Server 2016 по умолчанию

Хотя мы поддерживаем точность до 1 мс в Windows 10 или Windows Server 2016, большинство клиентов не требуют очень точного времени.

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

  • Предоставляют необходимую точность времени для выполнения требований проверки подлинности Kerberos версии 5.
  • Предоставляют условно точное время для клиентов и серверов Windows, присоединенных к общему лесу Active Directory.

Как настроить системы для высокой точности

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

Ознакомьтесь со статьей Support boundary for high-accuracy time (Граница области поддержки для высокоточного времени), которая содержит сведения о требованиях к среде, которые также должны быть удовлетворены для получения высокой точности.

Требования к операционной системе

Для конфигураций с высокой точностью требуется Windows 10 или Windows Server 2016. Все устройства Windows в топологии времени должны соответствовать этому требованию, включая более высокие стратумные серверы времени Windows, а также в виртуализированных сценариях узлы Hyper-V, на которых работают виртуальные машины с ограничением по времени. Все эти устройства должны быть как минимум под управлением Windows 10 или Windows Server 2016.

Предупреждение

Настоятельно рекомендуется отключить функцию безопасного заполнения времени (STS) для службы времени Windows на устройствах, которые уже синхронизируются с надежным источником времени, таким как NTP-сервер. Это включает как контроллеры домена Active Directory, так и серверы-члены. Это связано с тем, что STS был разработан специально для исправления только грубых ошибок часов на портативных устройствах, таких как планшеты и ноутбуки, батареи которых могут умереть или чьи аппаратные часы могут быть не столь надежными. Кроме того, служба STS может неправильно задать системные часы, если получено достаточное количество подтверждений на основе SSL, содержащих случайные данные.

Дополнительные сведения см. в разделе "Улучшения точности времени" для Windows Server 2016.

На приведенной ниже иллюстрации показаны виртуальные машины, для которых необходима высокая точность и которые работают под управлением Windows 10 или Windows Server 2016. Аналогично, узел Hyper-V, на котором находятся виртуальные машины, и вышестоящий сервер времени Windows также должны работать под управлением Windows Server 2016.

A diagram that shows three virtual machines connected to a Windows Server 2016 Hyper-V host utilizing the Windows Time service.

Совет

Вы можете выполнить команду winver в командной строке, чтобы убедиться, что используется ОС версии 1607 (или выше) и сборка 14393 (или выше), как показано ниже:

A screenshot of the winver command displaying Windows Server 2016 version 1607 and operating system build 14393.

Конфигурация системы

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

Тип запуска службы времени Windows

Служба времени Windows (W32time) должна работать постоянно. Для этого настройте тип запуска службы времени Windows для автоматического запуска.

A screenshot of the Windows Time service properties box displaying its startup type set to automatic.

Совокупная односторонняя задержка сети

Неопределенность измерения и "шум" увеличивают задержку в сети. Таким образом, крайне важно, чтобы задержка сети была в пределах разумной границы. Конкретные требования зависят от целевой точности и описаны в статье Support boundary for high-accuracy time (Граница области поддержки для высокоточного времени).

Чтобы вычислить совокупную одностороннюю задержку сети, добавьте отдельные односторонние задержки между парами узлов NTP-сервера клиента в топологии времени, начиная с целевого объекта и заканчивая источником времени страты 1 с высокой точностью.

Например: рассмотрим иерархию синхронизации времени с высоко точным источником, двумя промежуточными серверами NTP A и B и целевым компьютером в этом порядке. Чтобы получить совокупную задержку сети между целью и источником, измерьте среднее время циклического прохождения (RTTs) отдельного NTP между:

  • целью и сервером времени Б;
  • сервером времени Б и сервером времени А;
  • сервером времени А и источником.

Эти измерения можно сделать с помощью встроенного средства w32tm.exe. Для этого:

  1. Выполните вычисления между целевым объектом и сервером времени Б.

    w32tm /stripchart /computer:TimeServerB /rdtsc /samples:450 > c:\temp\Target_TsB.csv
    
  2. Выполните вычисление с сервера времени B на сервере времени (указывает на сервер времени А).

    w32tm /stripchart /computer:TimeServerA /rdtsc /samples:450 > c:\temp\Target_TsA.csv
    
  3. Выполните вычисление с сервера времени A в источнике.

  4. Затем добавьте среднее значение RoundTripDelay, измеренное на предыдущем шаге, и разделите на 2, чтобы получить совокупную задержку сети между целевым объектом и источником.

Параметры реестра

MinPollInterval

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

Description Значение
Расположение ключа HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config.
Параметр 6
Результат Минимальный интервал опроса теперь составляет 64 секунды.

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

w32tm /config /update

MaxPollInterval

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

Description Значение
Расположение ключа HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config.
Параметр 6
Результат Максимальный интервал опроса теперь составляет 64 секунды.

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

w32tm /config /update

UpdateInterval

Количество тактов часов между настройками фазовой коррекции.

Description Значение
Расположение ключа HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config.
Параметр 100
Результат Количество тактов часов между настройками фазовой коррекции теперь имеет значение — 100.

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

w32tm /config /update

SpecialPollInterval

Настраивает интервал опроса в секундах, когда включен флаг SpecialInterval 0x1.

Description Значение
Расположение ключа HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient.
Параметр 64
Результат Интервал опроса теперь составляет 64 секунды.

Следующая команда перезапускает службу времени Windows, чтобы получить обновленные параметры:

net stop w32time && net start w32time

FrequencyCorrectRate

Description Значение
Расположение ключа HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config.
Параметр 2

Примечание.

Дополнительные сведения о параметрах реестра W32Time см . в справочнике по реестру времени Windows