Улучшения точности времени в Windows Server 2016

Windows Server 2016 улучшил алгоритмы, используемые для исправления времени и условия локальных часов для синхронизации с согласованным универсальным временем (UTC). Протокол сетевого времени (NTP) использует четыре значения для вычисления смещения времени на основе меток времени клиентского запроса или ответа и запроса сервера. Однако сети шумны и могут возникать пики данных из NTP из-за перегрузки сети и других факторов, влияющих на задержку сети. Алгоритмы Windows Server 2016 усреднены этим шумом с помощью нескольких различных методов, что приводит к стабильной и точной часовой часы. Источник, используемый для точного времени, также ссылается на улучшенный API, который дает нам лучшее разрешение. С помощью этих улучшений мы можем достичь точности 1 мс относительно UTC в домене.

Hyper-V

Windows Server 2016 улучшила службу TimeSync Hyper-V. Улучшения включают более точное начальное время запуска виртуальной машины или восстановление виртуальной машины и исправление задержки прерываний для примеров, предоставленных службе времени Windows (W32Time). Это улучшение позволяет оставаться в пределах 10 м от узла с корневой средней квадратом (который указывает на дисперсию) 50 мкм, даже на компьютере с 75 % нагрузки. Для получения дополнительных сведений см. раздел Архитектура Hyper-V.

Примечание.

Загрузка была создана с помощью теста prime95 с помощью сбалансированного профиля.

Уровень стратумов, который узел сообщает гостею, является более прозрачным. Ранее узел будет представлять фиксированный Стратум 2 независимо от его точности. При изменениях в Windows Server 2016 узел сообщает Stratum 1 больше, чем стратум узла, что приводит к лучшему времени для виртуальных гостей. Стратум узла определяется W32Time через обычные средства на основе исходного времени. Присоединенные к домену гости Windows Server 2016 находят наиболее точные часы, а не по умолчанию для узла. По этой причине рекомендуется вручную отключить параметр поставщика времени Hyper-V для компьютеров, участвующих в домене в Windows Server 2012 R2 и более ранних версиях.

Наблюдение

добавлены счетчики Монитор производительности. Эти счетчики позволяют выполнять базовые показатели, отслеживать и устранять неполадки с точностью времени. В следующей таблице перечислены счетчики.

Счетчик Description
Смещение вычисляемого времени Абсолютное смещение времени между системными часами и выбранным источником времени, вычисляемым службой W32Time в микросекундах. При наличии нового допустимого примера вычисленное время обновляется с использованием смещения времени, указанного в примере. Это фактическое смещение времени локального времени. W32Time инициирует исправление часов с помощью этого смещения и обновляет вычисляемое время между примерами с оставшимся смещением времени, которое необходимо применить к локальным часам. Точность часов можно отслеживать с помощью этого счетчика производительности с низким интервалом опроса (например, 256 секунд или меньше) и ищет значение счетчика меньше требуемого предела точности часов.
Настройка тактовой частоты Настройка абсолютной тактовой частоты, выполненная в локальных системных часах W32Time в частях на миллиард. Этот счетчик помогает визуализировать действия, выполняемые W32Time.
Задержка кругового пути NTP Последняя задержка раунда, возникшая клиентом NTP, при получении ответа от сервера в микросекундах. Эта задержка истекает на клиенте NTP между передачей запроса на сервер NTP и получением допустимого ответа от сервера. Этот счетчик помогает определять задержки, испытываемые NTP-клиентом. Более крупные или различные круглые передачи могут добавлять шум к вычислениям времени NTP, что, в свою очередь, может повлиять на точность синхронизации времени через NTP.
Число источников NTP-клиента Активное число источников времени NTP, используемых клиентом NTP. Это число является числом активных, уникальных IP-адресов серверов времени, которые отвечают на запросы этого клиента. Это число может быть больше или меньше настроенных одноранговых узлов в зависимости от разрешения DNS имен одноранговых узлов и текущей доступности.
Входящие запросы NTP-сервера Количество запросов, полученных сервером NTP (запросы/с).
Исходящие ответы NTP-сервера Количество запросов, отправляемых сервером NTP (ответы/с).

Первые три счетчика предназначены для устранения неполадок с точностью. Дополнительные сведения см. в разделе "Устранение неполадок с точностью времени" и NTP далее в этой статье. Последние три счетчика охватывают сценарии NTP-сервера и полезны при определении нагрузки и базирования текущей производительности.

Обновления конфигурации для каждой среды

В следующей таблице описываются изменения конфигурации по умолчанию между Windows Server 2016 и предыдущими версиями для каждой роли. Параметры для Windows Server 2016 и Юбилейного обновления Windows 10 (сборка 14393) теперь уникальны, поэтому они отображаются в виде отдельных столбцов.

Роль Параметр Windows Server 2016 Windows 10 Windows Server 2012 R2
Windows Server 2008 R2
Windows 10
Автономный сервер или Nano Server
Сервер времени time.windows.com Неприменимо time.windows.com
Частота опросов 64–1024 секунд Неприменимо Один раз в неделю
Периодичность обновления часов Один раз в секунду Неприменимо Раз в час
Автономный клиент
Сервер времени Неприменимо time.windows.com time.windows.com
Частота опросов Неприменимо Один раз в день Один раз в неделю
Периодичность обновления часов Неприменимо Один раз в день Раз в час
Контроллер домена
Сервер времени PDC/GTIMESERV Неприменимо PDC/GTIMESERV
Частота опросов 64 — 1024 секунд Неприменимо 1024 - 32 768 секунд
Периодичность обновления часов Один раз в секунду Неприменимо Раз в час
Рядовой сервер домена
Сервер времени DC Неприменимо DC
Частота опросов 64 -1024 секунды Неприменимо 1024 - 32 768 секунд
Периодичность обновления часов Один раз в секунду Неприменимо Запускается каждые 5 мин.
Клиент членов домена
Сервер времени Неприменимо DC DC
Частота опросов Неприменимо 1204 - 32 768 секунд 1024 - 32 768 секунд
Периодичность обновления часов Неприменимо Запускается каждые 5 мин. Запускается каждые 5 мин.
Гостевой сервер Hyper-V
Сервер времени Выбирает оптимальный вариант на основе стратума узла и сервера времени Выбирает оптимальный вариант на основе стратума узла и сервера времени По умолчанию для узла
Частота опросов На основе приведенной выше роли На основе приведенной выше роли На основе приведенной выше роли
Периодичность обновления часов На основе приведенной выше роли На основе приведенной выше роли На основе приведенной выше роли

Примечание.

Сведения о Linux в Hyper-V см. в разделе "Разрешить Linux использовать время узла Hyper-V".

Влияние увеличенной частоты опроса и обновления часов

Чтобы обеспечить более точное время, значения по умолчанию для частот опроса и обновления часов увеличиваются, что позволяет чаще вносить небольшие корректировки. Это изменение приводит к большему объему трафика пользовательской диаграммы данных (UDP)/NTP. Эти пакеты небольшие, поэтому должно быть мало или нет влияния на широкополосные каналы. Преимущество заключается в том, что время должно быть лучше на более широком спектре оборудования и сред.

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

Контроллеры домена (DCS) должны быть минимально затронуты даже при умноженном эффекте увеличения обновлений от клиентов NTP в домене Active Directory. NTP имеет гораздо меньшее потребление ресурсов по сравнению с другими протоколами и незначительным эффектом. Вы, скорее всего, достигнете ограничений для других функциональных возможностей домена, прежде чем влиять на увеличение параметров для Windows Server 2016. Active Directory использует безопасный NTP, который, как правило, синхронизирует время менее точно, чем простое NTP. Мы проверили, что он может масштабироваться до двух клиентов Стратум от основного контроллера домена (PDC).

Для консервативного плана необходимо резервировать 100 NTP-запросов в секунду на ядро. Например, с доменом, состоящим из четырех контроллеров домена с четырьмя ядрами каждый, вы сможете обслуживать 1600 запросов NTP в секунду. Если у вас есть 10 000 клиентов, настроенных на синхронизацию каждые 64 секунды, и запросы получаются равномерно с течением времени, вы увидите 10 000/64 или около 160 запросов в секунду, распределяются по всем контроллерам домена. Эта сумма легко попадает в пределах 1600 запросов NTP в секунду на основе этого примера. Эти рекомендации по планированию являются консервативными и в значительной степени зависят от вашей сети, скорости процессора и загрузки. Как всегда, базовые и тестовые показатели в средах.

Если ваши контроллеры домена работают с значительной нагрузкой ЦП, больше 40%, эта нагрузка почти наверняка добавляет шум к ответам NTP и влияет на точность времени в вашем домене. Опять же, чтобы понять фактические результаты, необходимо протестировать их в своей среде.

Измерения точности времени

Для измерения точности времени для Windows Server 2016 мы использовали различные средства, методы и среды. Эти методы можно использовать для измерения и настройки среды и определения соответствия результатов точности требованиям.

Методология

Наши исходные часы домена состоят из двух высокоточных NTP-серверов с оборудованием GPS. Мы также использовали отдельную эталонную тестовую машину для измерений, которая также имела высокоточное оборудование GPS, установленное от другого производителя. Для некоторых тестов требуется точный и надежный источник часов для использования в качестве ссылки в дополнение к источнику часов домена.

Мы использовали четыре разных метода для измерения точности как физических, так и виртуальных машин. Многочисленные методы предоставляют независимые средства проверки результатов.

  1. Измеряйте местные часы, которые обусловлены w32tmнашей эталонной тестовой машиной, которая имеет отдельное оборудование GPS.

  2. Измерение ping-адресов NTP от сервера NTP к клиентам с помощью W32tm стрип-диаграммы.

  3. Измерение пингов NTP от клиента к серверу NTP с помощью W32tm стрип-диаграммы.

  4. Измеряйте результаты Hyper-V от узла к гостею с помощью счетчика меток времени (TSC). Этот счетчик совместно используется обоими разделами и системным временем в обоих разделах. Мы вычислили разницу времени узла и времени клиента на виртуальной машине. Затем мы использовали часы TSC для интерполяции времени узла от гостя, так как измерения не происходят одновременно. Кроме того, мы использовали часов тома, сегментированные по времени, чтобы исключить задержки и задержки в API.

W32tmвстроенный, но другие инструменты, которые мы использовали во время тестирования, доступны для репозитория Майкрософт на GitHub как открытый код для тестирования и использования. Дополнительные сведения об использовании средств для измерения см . вики-сайте средств калибровки времени Windows.

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

Топология

Для сравнения мы проверили топологии на основе Windows Server 2012 R2 и Windows Server 2016. Обе топологии состоят из двух физических хост-компьютеров Hyper-V, которые ссылаются на компьютер Windows Server 2016 с установленным оборудованием времени GPS. Каждый узел выполняет три присоединенных к домену гостей Windows, которые упорядочены в соответствии со следующей топологией. Строки представляют иерархию времени и используемый протокол или транспорт.

Diagram that shows the Windows time topology with only one child domain client running in the first Hyper-V host.

Diagram that shows the Windows time topology with two child domain clients. One runs in the first Hyper-V host and another runs in the second Hyper-V host.

Обзор графических результатов

Следующие два графа представляют точность времени для двух определенных элементов в домене на основе предыдущей топологии. На каждом графе отображаются результаты Windows Server 2012 R2 и 2016, демонстрирующие улучшения визуально. Точность измерялась на гостевом компьютере по сравнению с узлом. Графические данные представляют собой подмножество всего набора выполненных тестов и показывает наиболее подходящие и худшие сценарии.

Diagram that shows the Windows time topology with the root domain PDC server and the child domain client servers in the first Hyper-V host called out.

Производительность корневого домена PDC

Корневой PDC синхронизирован с узлом Hyper-V (с помощью VMIC), который является windows Server 2016 с оборудованием GPS, который, как оказалось, является точным и стабильным. Это требование крайне важно для точности 1 мс, которая отображается как затеняемая область, определяемая выноской.

Diagram that shows the root domain.

Производительность дочернего клиента домена

Клиент дочернего домена подключен к дочернему домену PDC, который взаимодействует с корневым PDC. Его время также находится в пределах требования 1 мс.

Diagram that shows the child domain client.

Тестирование на длинное расстояние

На следующей диаграмме сравнивается один прыжк виртуальной сети с шестью прыжками физической сети с Windows Server 2016. Два графика накладываются друг на друга, используя прозрачную текстуру для отображения перекрывающихся данных. Увеличение сетевых прыжков означает более высокую задержку и большее отклонение времени. Диаграмма увеличена, поэтому 1-мс границы, представленные затененную область, больше. Как видите, время по-прежнему находится в пределах 1 мс с несколькими прыжками. Это отрицательное смещение, которое демонстрирует асимметрию сети. Каждая сеть отличается, и измерения зависят от многих факторов окружающей среды.

Diagram that shows the long-distance test.

Рекомендации по точному времени хранения

Следуйте этим рекомендациям для точного хранения времени.

Твердые исходные часы

Время компьютера хорошо, как и исходные часы, с которыми он синхронизируется. Чтобы достичь точности 1 мс, вам потребуется оборудование GPS или время (модуль) в сети, на которые вы ссылаетесь в качестве главного источника часов. Использование значения по умолчанию time.windows.com может не предоставлять стабильный и локальный источник времени. По мере того как вы получите дальше от исходного времени, сеть влияет на точность. Наличие часов главного источника в каждом центре обработки данных требуется для оптимальной точности.

Аппаратные параметры GPS

Различные аппаратные решения могут обеспечить точное время. Как правило, современные решения основаны на антеннах GPS. Решения для модема для радио и телефонного подключения используют выделенные линии. Они подключаются к сети как (модуль) или подключаются к компьютеру, например Windows через PCIe или USB-устройство. Различные параметры обеспечивают различные уровни точности, и, как всегда, результаты зависят от вашей среды. Переменные, влияющие на точность, включают доступность GPS, стабильность сети и нагрузку, а также оборудование пк. Эти факторы важны при выборе источника часов, что является обязательным требованием для стабильного и точного времени.

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

Члены домена используют доменную иерархию для определения компьютера-источника для синхронизации времени. Каждый член домена находит другой компьютер для синхронизации и сохраняет его в качестве источника часов. Каждый тип члена домена следует другому набору правил, чтобы найти источник часов для синхронизации времени. PDC в корне леса — это источник часов по умолчанию для всех доменов. Ниже перечислены различные роли и высокоуровневые описания того, как они находят источник:

  • Контроллер домена с ролью PDC: этот компьютер является авторитетным источником времени для домена. Он имеет самое точное время, доступное в домене. Он должен синхронизироваться с контроллером домена в родительском домене, за исключением случаев, когда роль GTIMESERV включена.
  • Любой другой контроллер домена: этот компьютер выступает в качестве источника времени для клиентов и серверов-членов в домене. Контроллер домена может синхронизироваться с PDC собственного домена или любого контроллера домена в родительском домене.
  • Клиенты и серверы-члены: этот компьютер может синхронизироваться с любым контроллером домена или PDC собственного домена или контроллером домена или PDC в родительском домене.

Система оценки используется для поиска лучшего источника времени на основе доступных кандидатов. Эта система учитывает надежность источника времени и его относительное расположение. Это проверка происходит один раз при запуске службы времени. Если требуется более точное управление синхронизацией времени, можно добавить хорошие серверы времени в определенные расположения или добавить избыточность. Дополнительные сведения см. в разделе "Указание локальной надежной службы времени" с помощью GTIMESERV.

Смешанные среды ОС (Windows Server 2012 R2 и Windows Server 2008 R2)

Хотя для оптимальной точности требуется чистая среда домена Windows Server 2016, в смешанной среде по-прежнему существуют преимущества. Развертывание Windows Server 2016 Hyper-V в домене Windows Server 2012 дает гостям преимущества из-за улучшений, которые мы упоминание, но только если гости также находятся в Windows Server 2016. PDC Windows Server 2016 может обеспечить более точное время из-за улучшенных алгоритмов, поэтому это более стабильный источник. Так как замена PDC может не быть вариантом, вместо этого можно добавить контроллер домена Windows Server 2016 с набором свертки GTIMESERV, который будет обновлением точности для вашего домена. Контроллер домена Windows Server 2016 может обеспечить лучшее время для подчиненных клиентов времени, но это только так хорошо, как и исходное время NTP.

Кроме того, как указано, частоты опроса и обновления часов были изменены в Windows Server 2016. Эти частоты можно изменить вручную на компьютеры нижнего уровня или применить с помощью групповой политики. Мы не проверили эти конфигурации, но они должны работать хорошо в Windows Server 2008 R2 и Windows Server 2012 R2 и обеспечить некоторые преимущества.

Версии до Windows Server 2016 имели несколько проблем с точным временем хранения, что привело к смещения системного времени сразу после внесения корректировки. Из-за этой проблемы часто получение выборок времени из точного источника NTP и кондиционирование локальных часов с данными приводит к уменьшению смещения системных часов в период внутри выборки. Результатом является лучшее время хранения на версиях ОС нижнего уровня. Лучшая наблюдаемая точность составила примерно 5 мс, когда клиент NTP Windows Server 2012 R2, настроенный с параметрами высокой точности, синхронизировал свое время с точного сервера NTP Windows Server 2016.

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

Чтобы отключить службу TimeSync Hyper-V от предоставления примеров в W32Time, задайте следующий раздел гостевого реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider "Enabled"=dword:00000000

Разрешить Linux использовать время узла Hyper-V

Для гостевых ОС Linux в Hyper-V клиенты обычно настроены на использование управляющей программы NTP для синхронизации времени с NTP-серверами. Если дистрибутив Linux поддерживает протокол TimeSync версии 4, а гость Linux включает службу интеграции TimeSync, она синхронизируется со временем узла. Этот сценарий может привести к несогласованному времени хранения, если оба метода включены.

Чтобы синхронизировать только время узла, рекомендуется отключить синхронизацию времени NTP одним из двух методов:

  • Отключите все серверы NTP в ntp.conf файле.
  • Отключите управляющая программа NTP.

В этой конфигурации параметр сервера времени является этим узлом. Частота опроса составляет 5 секунд, также, как и частота обновления часов.

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

Примечание.

Поддержка точного времени для гостей Linux требует функции, которая поддерживается только в последних вышестоящий ядрах Linux. Эта функция пока недоступна во всех дистрибутивах Linux. Дополнительные сведения о дистрибутивах поддержки см. в статье "Поддерживаемые виртуальные машины Linux и FreeBSD" для Hyper-V в Windows.

Указание локальной службы надежного времени с помощью GTIMESERV

Вы можете указать один или несколько контроллеров домена в качестве точных исходных часов с помощью флага GTIMESERV сервера хорошего времени. Например, определенные контроллеры домена, оснащенные оборудованием GPS, можно пометить как GTIMESERV. Этот флаг гарантирует, что домен ссылается на часы на основе оборудования GPS.

Примечание.

Дополнительные сведения о флагах домена см. в документации по протоколу MS-ADTS.

TIMESERV — это другой связанный флаг доменных служб, указывающий, является ли компьютер авторитетным в настоящее время, что может измениться, если контроллер домена теряет подключение. Контроллер домена в этом состоянии возвращается Unknown Stratum при запросе через NTP. После нескольких попыток контроллера домена журналы системных событий Time-Service Event 36.

Если вы хотите настроить контроллер домена в качестве GTIMESERV, настройте его вручную с помощью следующей команды. В этом случае контроллер домена использует другой компьютер в качестве главных часов. Этот компьютер может быть (модуль) или выделенным компьютером.

w32tm /config /manualpeerlist:"master_clock1,0x8 master_clock2,0x8" /syncfromflags:manual /reliable:yes /update

Примечание.

Дополнительные сведения см. в разделе "Настройка службы времени Windows"

Если контроллер домена установлен, выполните следующие действия, чтобы отключить клиент NTP и включить NTP-сервер.

Начните с отключения клиента NTP и включения сервера NTP с помощью этих изменений раздела реестра:

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient /v Enabled /t REG_DWORD /d 0 /f

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpServer /v Enabled /t REG_DWORD /d 1 /f

Затем перезапустите службу времени Windows:

net stop w32time && net start w32time

Наконец, вы указываете, что этот компьютер имеет надежный источник времени:

w32tm /config /reliable:yes /update

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

w32tm /query /configuration

Value|Expected Setting|
----- | ----- |
AnnounceFlags| 5 (Local)|
NtpServer |(Local)|
DllName |C:\WINDOWS\SYSTEM32\w32time.DLL (Local)|
Enabled |1 (Local)|
NtpClient| (Local)|

w32tm /query /status /verbose

Value| Expected Setting|
----- | ----- |
Stratum| 1 (primary reference - syncd by radio clock)|
ReferenceId| 0x4C4F434C (source name: "LOCAL")|
Source| Local CMOS Clock|
Phase Offset| 0.0000000s|
Server Role| 576 (Reliable Time Service)|

Windows Server 2016 на сторонних виртуальных платформах

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

Обнаружение иерархии

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

Если вы хотите устранить неполадки с конкретным клиентом, первым шагом является понимание источника времени с помощью следующей w32tm команды:

w32tm /query /status

Результаты отображают источник, помимо прочего. Источник указывает, с кем синхронизируется время в домене. Это первый шаг иерархии времени этого компьютера. Затем используйте исходную запись из предыдущей команды и используйте /stripchart параметр для поиска следующего источника в цепочке.

w32tm /stripchart /computer:MySourceEntry /packetinfo /samples:1

Кроме того, следующая команда перечисляет каждый контроллер домена, который он может найти в указанном домене и выводит результат, позволяющий определить каждого партнера. Эта команда включает компьютеры, настроенные вручную.

w32tm /monitor /domain:my_domain

С помощью списка можно отслеживать результаты по домену и понимать иерархию и смещение времени на каждом шаге. Находясь в точке, где смещение времени значительно хуже, можно определить корень неверного времени. Оттуда можно попытаться понять, почему это время неправильно, включив w32tm ведение журнала.

Использование групповой политики

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

Виртуализированные домены: чтобы управлять виртуализированными контроллерами домена в Windows Server 2012 R2, чтобы синхронизировать время с доменом, а не с узлом Hyper-V, эту запись реестра можно отключить. Для PDC не требуется отключить запись, так как узел Hyper-V предоставляет наиболее стабильный источник времени. Запись реестра требует перезапуска W32Time после изменения.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider] "Enabled"=dword:00000000

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

Параметр групповой политики Новое значение
NtpServer ClockMasterName,0x8
MinPollInterval 6 — 64 секунд
MaxPollInterval 6
UpdateInterval 100 — раз в секунду
EventLogFlags 3 — специальное ведение журнала

Примечание.

EventLogFlags Параметры NtpServer находятся в разделе System\Windows Time Service\Time Providers с помощью параметров клиента Windows NTP. Остальные три находятся в разделе System\Windows Time Service с помощью параметров глобальной конфигурации .

Чувствительность к удаленной точности загружает удаленные нагрузки: для систем в доменах филиалов, например розничной торговли и кредитной индустрии оплаты (PCI), Windows использует текущие сведения о сайте и указатель контроллера домена для поиска локального контроллера домена, если только не настроен источник времени NTP вручную. Эта среда требует точность в 1 секунду, которая использует более быстрое схождение в нужное время. Этот параметр позволяет W32Time перемещать часы назад. Если это поведение приемлемо и соответствует вашим требованиям, можно создать следующую политику. Как и в любой среде, обязательно протестируйте и наведите базовый план сети.

Параметр групповой политики Новое значение
MaxAllowedPhaseOffset 1, но если более одной секунды, задайте часы для правильного времени.

Этот MaxAllowedPhaseOffset параметр расположен в разделе System\Windows Time Service с помощью глобальных параметров конфигурации .

Примечание.

Дополнительные сведения о групповой политике и связанных записях см. в статьях службы "Время Windows" и Параметры статьи в TechNet.

Рекомендации по Azure и IaaS для Windows

Ниже приведены некоторые моменты, которые следует учитывать для инфраструктуры Azure и Windows в качестве службы (IaaS).

Виртуальная машина Azure: службы домен Active Directory

Если виртуальная машина Azure под управлением служб домен Active Directory входит в существующий лес локальная служба Active Directory, необходимо отключить TimeSync (VMIC). Это действие позволяет всем контроллерам домена в лесу, как физическому, так и виртуальному, использовать одну иерархию синхронизации во время. Дополнительные сведения см. в разделе "Запуск контроллеров домена" в Hyper-V.

Виртуальная машина Azure: присоединенный к домену компьютер

Если вы размещаете компьютер, присоединенный к существующему лесу Active Directory, виртуальному или физическому, рекомендуется отключить TimeSync для гостя и убедиться, что W32Time настроен для синхронизации с его контроллером домена с помощью настройки времени Type=NTP5.

Виртуальная машина Azure: автономная рабочая группа

Если виртуальная машина Azure не присоединена к домену и не является контроллером домена, рекомендуется сохранить конфигурацию времени по умолчанию и синхронизировать виртуальную машину с узлом.

Приложению Windows требуется точное время

Ниже приведены некоторые действия, которые можно предпринять, если приложению Windows требуется точное время.

Метка времени в формате API

Программы, требующие наибольшей точности относительно UTC, а не времени, должны использовать API GetSystemTimePreciseAsFileTime. Использование этого API гарантирует, что приложение получает системное время, которое обусловлено службой времени Windows.

Производительность UDP

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

Для Windows Server 2012 и Windows Server 2008 сначала необходимо установить исправление. Дополнительные сведения см. в разделе "Потеря диаграммы данных" при запуске приложения приемника многоадресной рассылки в Windows 8 и Windows Server 2012.

Обновление сетевых драйверов

Некоторые поставщики сети имеют обновления драйверов, которые повышают производительность относительно задержки драйвера и буферизации пакетов UDP. Обратитесь к поставщику сети, чтобы узнать, есть ли обновления для поддержки пропускной способности UDP.

Ведение журнала для целей аудита

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

  1. Точность часов с помощью счетчика Монитор производительности смещения вычисляемого времени. Этот счетчик показывает часы в пределах требуемой точности.
  2. Источник часов ищется Peer Response from в w32tm журналах. После текста сообщения используется IP-адрес или VMIC, описывающий источник времени и следующий в цепочке ссылочных часов для проверки.
  3. Состояние состояния часов с помощью w32tm журналов для проверки этого ClockDispl Discipline: \*SKEW\*TIME\* события. Это состояние указывает, что w32tm активен во время.

ведение журнала событий.

Чтобы получить полную историю, вам также нужны сведения о журнале событий. Собирая системный журнал событий и фильтруя на Time-Server, Microsoft-Windows-Kernel-Boot и Microsoft-Windows-Kernel-General, вы можете обнаружить, изменили ли другие влияния время, например сторонние. Эти журналы могут потребоваться для того, чтобы исключить внешние помехи. Групповая политика может повлиять на запись журналов событий в журнал. Дополнительные сведения см. в предыдущем разделе "Использование групповой политики".

Ведение журнала отладки W32Time

Чтобы включить w32tm для аудита, следующая команда включает ведение журнала, показывающее периодические обновления часов и указывающее исходные часы. Перезапустите службу, чтобы включить новое ведение журнала.

Дополнительные сведения см. в разделе "Включение ведения журнала отладки" в службе времени Windows.

w32tm /debug /enable /file:C:\Windows\Temp\w32time-test.log /size:10000000 /entries:0-73,103,107,110

Монитор производительности

Служба времени Windows Server 2016 предоставляет счетчики производительности, которые можно использовать для сбора журналов для аудита. Эти счетчики можно регистрировать локально или удаленно. Вы можете записать счетчики смещений времени компьютера и задержки кругового пути. Как и любой счетчик производительности, вы можете удаленно отслеживать их и создавать оповещения с помощью System Center Operations Manager. Например, вы можете использовать оповещение для оповещения, когда смещение времени смещается от требуемой точности. Дополнительные сведения см. в пакете управления System Center.

Пример трассировки Windows

Из w32tm файлов журнала необходимо проверить два фрагмента информации. Первое — это указание на то, что файл журнала в настоящее время является часовом условием. Это свидетельствует о том, что ваши часы были обусловлены службой времени Windows в спорное время.

 151802 20:18:32.9821765s - ClockDispln Discipline: *SKEW*TIME* - PhCRR:223 CR:156250 UI:100 phcT:65 KPhO:14307
 151802 20:18:33.9898460s - ClockDispln Discipline: *SKEW*TIME* - PhCRR:1 CR:156250 UI:100 phcT:64 KPhO:41
 151802 20:18:44.1090410s - ClockDispln Discipline: *SKEW*TIME* - PhCRR:1 CR:156250 UI:100 phcT:65 KPhO:38

Основной момент заключается в том, что вы видите сообщения, префиксированные с ClockDispln Disciplineпомощью которых является подтверждение того, что W32Time взаимодействует с системными часами.

Затем необходимо найти последний отчет в журнале перед спорным временем, который сообщает исходному компьютеру, который в настоящее время используется в качестве эталонных часов. Эти сведения могут быть IP-адресом, именем компьютера или поставщиком VMIC, который указывает, что он синхронизируется с узлом для Hyper-V. В следующем примере представлен IPv4-адрес 10.197.216.105:

151802 20:18:54.6531515s - Response from peer 10.197.216.105,0x8 (ntp.m|0x8|0.0.0.0:123->10.197.216.105:123), ofs: +00.0012218s

Теперь, когда вы проверили первую систему в цепочке времени ссылок, необходимо исследовать файл журнала в источнике ссылочного времени и повторить те же действия. Этот процесс продолжается до тех пор, пока вы не получите к физическим часам, таким как GPS, или известный источник времени, например NIST. Если эталонные часы — это оборудование GPS, также могут потребоваться журналы из производства.

Рекомендации по сети

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

Монитор производительности и новые счетчики времени Windows в Windows Server 2016 можно использовать для оценки точности и создания базовых показателей среды. Вы также можете выполнить устранение неполадок, чтобы определить текущее смещение любого компьютера в сети.

Существует два общих стандарта для точного времени в сети:

Windows поддерживает простые NTP (RFC2030) по умолчанию для компьютеров, присоединенных к недомену. Для компьютеров, присоединенных к домену, мы используем безопасный NTP с именем MS-SNTP, который использует секреты, согласованные с доменом, которые обеспечивают преимущество управления по сравнению с прошедшим проверку подлинности NTP, описанным в RFC1305 и RFC5905.

Для присоединенных к домену протоколов и протоколов, присоединенных к домену, требуется порт UDP 123. Дополнительные сведения о рекомендациях NTP см. в разделе "Рекомендации по протоколу сетевого времени" в проекте IETF.

Надежные аппаратные часы (RTC)

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

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

Устранение неполадок с точностью времени и NTP

Вы можете использовать раздел "Обнаружение иерархии " для понимания источника неточного времени. Глядя на смещение времени, найдите точку в иерархии, где время расходится больше всего от своего источника NTP. Когда вы понимаете иерархию, вы хотите попытаться понять, почему этот конкретный источник времени не получает точное время.

Сосредоточив внимание на системе с расходящимся временем, вы можете использовать следующие средства для сбора дополнительных сведений, чтобы помочь вам определить проблему и найти решение. Ссылка UpstreamClockSource — это часы, обнаруженные с помощью w32tm /config /status:

  • Журналы системных событий
  • Включение ведения журнала с помощью w32tm logs - w32tm /debug /enable /file:C:\Windows\Temp\w32time-test.log /size:10000000 /entries:0-300
  • Раздел реестра w32Time HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
  • Трассировки локальной сети
  • Счетчики производительности (с локального компьютера или UpstreamClockSource)
  • W32tm /stripchart /computer:UpstreamClockSource
  • PING UpstreamClockSource , чтобы понять задержку и количество прыжков в источник
  • Tracert UpstreamClockSource
Проблема Симптомы Разрешение
Локальные часы TSC не стабильны. Вы стабилизируете часы с помощью "Perfmon — Физический компьютер — Синхронизация времени" синхронизации часов, но по-прежнему видите каждые 1-2 минуты из нескольких 100US. Обновите встроенное ПО или убедитесь, что другое оборудование не отображает одну и ту же проблему.
Задержки сети. Полосовая w32tm диаграмма отображает RoundTripDelay более 10 мс. Вариация задержки может вызвать шум как большую половину времени кругового пути, например задержка, которая находится только в одном направлении.

UpstreamClockSource — несколько прыжков, как указано в PING. Срок жизни должен быть близок к 128.

Используйте Tracert для поиска задержки на каждом прыжке.
Найдите более близкий источник часов для времени. Одним из решений является установка исходных часов в одном сегменте или вручную указание на исходные часы, которые географически ближе. Для сценария домена добавьте компьютер с ролью GTimeServ.
Не удалось надежно достичь источника NTP. W32tm /stripchart периодически возвращает значение "Время ожидания запроса". Источник NTP не отвечает.
Источник NTP не отвечает. Проверьте счетчики perfmon для счетчиков источника NTP, входящих запросов на сервер NTP и исходящих ответов NTP-сервера и определите использование по сравнению с базовыми показателями. Используя счетчики производительности сервера, определите, изменилась ли загрузка в ссылке на базовые показатели.

Существуют ли проблемы из-за перегрузки сети?
Контроллер домена не использует самые точные часы. Измените топологию или недавно добавленные часы, задающие время. w32tm /resync /rediscover
Часы клиента смеиваются. Событие Time-Service 36 в системном журнале событий и (или) текст в файле журнала, описывающее, что счетчик источника времени клиента NTP собирается от 1 до 0. Устраните неполадки в вышестоящем источнике и выясните, не возникли ли проблемы с производительностью.

Время подстраивание

Базовая структура важна, чтобы вы могли понять производительность и точность сети, а затем сравнить ее с базовыми показателями в будущем при возникновении проблем. Вы хотите создать базовый базовый PDC или любые компьютеры, помеченные GTIMESRV. Кроме того, рекомендуется на основе PDC в каждом лесу. Наконец, выберите все критически важные DCs или компьютеры с интересными характеристиками, такими как расстояние или высокая нагрузка, и базовые показатели.

Кроме того, полезно базовой версии Windows Server 2016 и 2012 R2. Однако у вас есть w32tm /stripchart только средство, которое можно использовать для сравнения, так как Windows Server 2012 R2 не имеет счетчиков производительности. Вы должны выбрать два компьютера с одинаковыми характеристиками или обновить компьютер и сравнить результаты после обновления. Приложение Windows Time Measurements имеет дополнительные сведения о том, как выполнять подробные измерения между 2016 и 2012.

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

Избыточность сервера NTP

Для конфигурации сервера NTP вручную, используемой с компьютерами, присоединенными к недомену, или PDC, наличие нескольких серверов является хорошей мерой избыточности в случае доступности. Это также может дать лучшую точность, предполагая, что все источники являются точными и стабильными. Однако, если топология не хорошо разработана или источники времени не стабильны, результирующая точность может быть хуже, поэтому рекомендуется соблюдать осторожность. Ограничение поддерживаемых серверов времени, на которые W32Time может ссылаться вручную, равно 10.

Прыжок секунд

Период поворота земли изменяется со временем из-за климатических и геологических событий. Как правило, вариация составляет около секунды каждые два года. Всякий раз, когда вариация из атомарного времени растет слишком большой, вставляется исправление одной секунды (вверх или вниз), которая называется прыжком секунды. Это вставка выполняется таким образом, чтобы разница никогда не превышала 0,9 секунды. Это исправление объявляется за шесть месяцев до фактического исправления. До Windows Server 2016 служба времени Майкрософт не знала о секундах скачка, но опиралась на службу внешнего времени, чтобы заботиться об этой проблеме. С увеличением точности времени Windows Server 2016 корпорация Майкрософт работает над более подходящим решением для проблем с корректировочной минутой.

Безопасное заполнение времени

W32Time в Server 2016 включает функцию безопасного заполнения времени. Эта функция определяет приблизительное текущее время от исходящих SSL-подключений. Это значение времени используется для отслеживания часов локальной системы и исправления грубых ошибок. Дополнительные сведения о функции можно узнать в Secure Time Seeding — improving time keeping in Windows (Безопасное заполнение времени — улучшение учета времени в Windows). В развертываниях с надежными источниками времени и хорошо отслеживаемых компьютеров, которые включают мониторинг смещения времени, вы можете не использовать функцию безопасного заполнения времени и полагаться на существующую инфраструктуру.

Чтобы отключить функцию, выполните следующие действия.

  1. Используйте групповую политику для управления SecureTimeSeeding. См. раздел, ссылающийся на параметр UtilizeSslTimeData: Learn: Policy CSP — ADMX_W32Time.

  2. Кроме того, можно вручную задать значение реестра. UtilizeSSLTimeData Задайте для параметра конфигурации реестра значение 0 на определенном компьютере:

    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v UtilizeSslTimeData /t REG_DWORD /d 0 /f
    
  3. Если вы не сможете немедленно перезагрузить компьютер, вы можете уведомить W32Time об обновлении конфигурации. Это уведомление останавливает мониторинг времени и принудительное применение на основе данных времени, собранных из SSL-подключений.

    W32tm.exe /config /update
    
  4. После перезагрузки компьютера параметр сразу же вступает в силу, а также приводит к остановке сбора любых данных времени с SSL-соединений. Последняя часть имеет небольшие издержки и не должна быть проблемой производительности.

  5. Чтобы применить этот параметр во всем домене, задайте UtilizeSSLTimeData значение в параметре 0 групповой политики W32Time и опубликуйте этот параметр. Когда параметр выбирается клиентом групповой политики, W32Time уведомляется и останавливает мониторинг времени и принудительное применение с помощью данных времени SSL. Сбор данных времени SSL останавливается при перезагрузке каждого компьютера. Если у вашего домена есть портативные тонкие ноутбуки и планшеты и другие устройства, может потребоваться исключить такие компьютеры из этой политики. Эти устройства в конечном итоге сталкиваются с очисткой батареи и нуждаются в функции безопасного заполнения времени для загрузки времени.