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

Синхронизация времени в 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.

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

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

Совет

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

Снимок экрана: команда winver, отображающая Windows Server 2016 версии 1607 и сборка операционной системы 14393.

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

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

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

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

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

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

Неопределенность измерения и "шум" увеличивают задержку в сети. Таким образом, крайне важно, чтобы задержка сети была в пределах разумной границы. Конкретные требования зависят от целевой точности и описаны в статье 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