Улучшения точности времени в Windows Server 2016
Windows Server 2016 улучшил алгоритмы, используемые для исправления времени и условия локальных часов для синхронизации с согласованным универсальным временем (UTC). Протокол сетевого времени (NTP) использует четыре значения для вычисления смещения времени на основе меток времени клиентского запроса или ответа и запроса сервера. Однако сети шумны и могут возникать пики данных из NTP из-за перегрузки сети и других факторов, влияющих на задержку сети. Алгоритмы Windows Server 2016 усредняют этот шум, применяя несколько различных методов, что приводит к стабильным и точным часам. Источник, используемый для точного времени, также ссылается на улучшенный API, который дает нам лучшее разрешение. С помощью этих улучшений мы можем достичь точности 1 мс относительно UTC в домене.
Hyper-V
Windows Server 2016 улучшила службу TimeSync Hyper-V. Улучшения включают более точное начальное время при запуске виртуальной машины (VM) или её восстановлении, а также исправление задержки прерываний для временных образцов, предоставленных службе времени Windows (W32Time). Это улучшение позволяет оставаться в пределах 10 мкс от хоста при среднеквадратическом отклонении в 50 мкс, даже на компьютере с 75 % нагрузки. Для получения дополнительных сведений см. раздел Архитектура Hyper-V.
Примечание.
Загрузка была создана с использованием теста Prime95 с помощью сбалансированного профиля.
Уровень стратумов, который узел сообщает гостею, является более прозрачным. Ранее хост представлял фиксированный слой 2, независимо от его технической точности. В соответствии с изменениями в Windows Server 2016 хост сообщает о Стратуме 1, который выше по иерархии, чем Стратум хоста, что приводит к более точному времени для виртуальных гостей. Стратум хоста определяется W32Time обычными средствами на основе его исходного времени. Гости Windows Server 2016, присоединенные к домену, находят самые точные часы вместо того, чтобы по умолчанию использовать часы хоста. По этой причине рекомендуется вручную отключить настройку поставщика времени Hyper-V для машин, входящих в домен в системах Windows Server 2012 R2 и более ранних версиях.
Наблюдение
Добавлены счетчики производительности. Эти счетчики позволяют устанавливать базовые значения, отслеживать точность времени и устранять неполадки. В следующей таблице перечислены счетчики.
Счетчик | Описание |
---|---|
Смещение вычисленного времени | Абсолютное смещение времени между системными часами и выбранным источником времени, вычисляемым службой 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 в секунду на основе этого примера. Эти рекомендации по планированию являются консервативными и в значительной степени зависят от вашей сети, скорости процессора и загрузки. Как всегда, устанавливайте базовые показатели и тестируйте в своих средах.
Если ваши контроллеры домена работают со значительной нагрузкой CPU, больше 40%, эта нагрузка почти точно добавляет шум к ответам NTP и влияет на точность синхронизации времени в вашем домене. Опять же, чтобы понять фактические результаты, необходимо протестировать их в своей среде.
Измерения точности времени
Для измерения точности времени для Windows Server 2016 мы использовали различные средства, методы и среды. Эти методы можно использовать для измерения и настройки среды и определения соответствия результатов точности требованиям.
Методология
Наши исходные часы домена состоят из двух высокоточных NTP-серверов с оборудованием GPS. Мы также использовали отдельную эталонную тестовую машину для измерений, которая также имела высокоточное оборудование GPS, установленное от другого производителя. Для некоторых тестов требуется точный и надежный источник часов для использования в качестве ссылки в дополнение к источнику часов домена.
Мы использовали четыре разных метода для измерения точности как физических, так и виртуальных машин. Многочисленные методы предоставляют независимые средства проверки результатов.
Измеряйте местное время, которое сопоставляется с эталонной тестовой машиной, которая имеет отдельное оборудование GPS.
Измеряйте пинги NTP от сервера NTP к клиентам, используя
W32tm
стрип-диаграмму.Измерение пингов NTP от клиента к серверу NTP с помощью
W32tm
стрип-диаграммы.Измеряйте результаты Hyper-V от хоста к гостю с помощью счетчика меток времени (TSC). Этот счетчик совместно используется обоими разделами и системным временем в обоих разделах. Мы вычислили разницу времени узла и времени клиента на виртуальной машине. Затем мы использовали таймер TSC для интерполяции времени хоста на основе времени гостя, поскольку измерения не совпадают по времени. Кроме того, мы использовали сегментированные по времени часы объема, чтобы исключить задержки и латентность в API.
W32tm
встроен, но другие инструменты, которые мы использовали во время тестирования, доступны в репозитории Microsoft на GitHub как проект с открытым исходным кодом для вашего тестирования и использования. Для получения дополнительной информации об использовании средств для измерения смотрите вики-сайт средств калибровки времени Windows.
Показанные результаты теста представляют собой подмножество измерений, сделанных в одной из тестовых сред. Они иллюстрируют точность, поддерживаемую в начале иерархии времени и дочернего клиента домена в конце иерархии времени. Эти результаты сравниваются с теми же компьютерами в топологии на основе 2012 года для сравнения.
Топология
Для сравнения мы проверили топологии на основе Windows Server 2012 R2 и Windows Server 2016. Обе топологии состоят из двух физических хост-компьютеров Hyper-V, которые ссылаются на компьютер Windows Server 2016 с установленным оборудованием GPS. Каждый хост выполняет три гостевых системы Windows, присоединенных к домену, которые организованы в соответствии со следующей топологией. Строки представляют иерархию времени и используемый протокол или транспорт.
Обзор графических результатов
Следующие два графа представляют точность времени для двух определенных элементов в домене на основе предыдущей топологии. На каждом графе отображаются результаты Windows Server 2012 R2 и 2016, демонстрирующие улучшения визуально. Точность измерялась внутри гостевой машины по сравнению с хостом. Графические данные представляют собой подмножество всего набора выполненных тестов и показывает наиболее подходящие и худшие сценарии.
Производительность корневого домена PDC
Корневой PDC синхронизирован с узлом Hyper-V (с помощью VMIC), который работает на Windows Server 2016 с GPS-оборудованием, которое, как доказано, является точным и стабильным. Это требование крайне важно для точности 1 мс, которая отображается как заштрихованная область, обозначенная выноской.
Производительность дочернего клиента домена
Клиент дочернего домена подключен к дочернему домену PDC, который взаимодействует с корневым PDC. Его время также находится в пределах требования 1 мс.
Тестирование на длинное расстояние
На следующей диаграмме сравнивается один прыжк виртуальной сети с шестью прыжками физической сети с Windows Server 2016. Два графика накладываются друг на друга, используя прозрачную текстуру для отображения перекрывающихся данных. Увеличение количества сетевых промежуточных узлов означает более высокую задержку и большие временные отклонения. Диаграмма увеличена, поэтому границы размером в 1 мс, представленные затененной областью, кажутся больше. Как видите, время по-прежнему находится в пределах 1 мс с несколькими переходами. Это отрицательное смещение, которое демонстрирует асимметрию сети. Каждая сеть отличается, и измерения зависят от многих факторов окружающей среды.
Рекомендации по точному ведению учета времени
Следуйте этим рекомендациям для точного хранения времени.
Твердые исходные часы
Точность времени компьютера зависит от эталонных часов, с которыми он синхронизируется. Чтобы достичь точности 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
Вы можете указать один или несколько контроллеров домена в качестве точных эталонных часов с помощью флага Good Time Server GTIMESERV. Например, некоторые доменные контроллеры, оснащенные GPS-оборудованием, могут быть помечены как GTIMESERV. Этот флаг гарантирует, что домен ссылается на часы на основе оборудования GPS.
Примечание.
Дополнительные сведения о флагах домена см. в документации по протоколу MS-ADTS.
TIMESERV — это ещё один флаг доменных служб, показывающий, является ли компьютер в данный момент авторитетным, но это может измениться, если контроллер домена потеряет соединение. Контроллер домена (DC) в этом состоянии возвращает Unknown Stratum
при запросе через NTP. После нескольких попыток контроллер домена регистрирует событие службы времени с кодом 36.
Если вы хотите настроить контроллер домена в качестве GTIMESERV, настройте его вручную с помощью следующей команды. В этом случае контроллер домена использует другой компьютер в качестве главных часов. Этот компьютер может быть устройством или выделенным компьютером.
w32tm /config /manualpeerlist:"master_clock1,0x8 master_clock2,0x8" /syncfromflags:manual /reliable:yes /update
Примечание.
Дополнительные сведения см. в разделе "Настройка службы времени Windows"
Если оборудование GPS установлено на контроллере домена, выполните следующие шаги, чтобы отключить клиент 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 — весь специальный учёт времени |
Примечание.
Параметры NtpServer
и EventLogFlags
находится в разделе 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
журналы и журналы событий, а также сведения Монитора производительности. Позднее архивированные данные можно использовать для подтверждения соответствия в определенное время в прошлом. Для указания точности используются следующие факторы:
- Точность часов измеряется с использованием счетчика производительности вычисленного временного сдвига. Этот счетчик показывает часы в пределах требуемой точности.
- Источник часов ищется
Peer Response from
вw32tm
журналах. После текста сообщения следует IP-адрес или VMIC, который описывает источник времени и следующий элемент в цепочке ссылочных часов для проверки. - Состояние состояния часов с помощью
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 можно использовать для оценки точности и создания базовых показателей среды. Вы также можете выполнить устранение неполадок, чтобы определить текущее смещение любого устройства в вашей сети.
Существует два общих стандарта для точного времени в сети:
- Протокол времени точности — IEEE 1588 (PTP): PTP имеет более жесткие требования к сетевой инфраструктуре, но часто может обеспечить точность субмикроза.
- Протокол сетевого времени — RFC 1305(NTP): NTP работает над большим количеством сетей и сред, что упрощает управление.
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 минуты на несколько сотен микросекунд. | Обновите встроенное ПО или убедитесь, что другое оборудование не отображает одну и ту же проблему. |
Задержки сети. | Стрипчарт w32tm отображает RoundTripDelay более 10 мс. Изменение задержки может привести к шуму, сравнимому с половиной времени кругового путешествия, например, если задержка происходит только в одном направлении.UpstreamClockSource — несколько хопов, как указано в PING. TTL должен быть близок к 128.Используйте Tracert для поиска задержки на каждом прыжке. |
Найдите более близкий источник часов для времени. Одним из решений является установка исходных часов в одном сегменте или вручную указание на исходные часы, которые географически ближе. Для сценария домена добавьте компьютер с ролью GTimeServ. |
Не удалось надежно достичь источника NTP. |
W32tm /stripchart периодически возвращает значение "Время ожидания запроса". |
Источник NTP не отвечает. |
Источник NTP не отвечает. | Проверьте счетчики Perfmon для количества источников клиента NTP, входящих запросов сервера NTP и исходящих ответов сервера NTP и определите их использование по сравнению с базовыми показателями. | Используя счетчики производительности сервера, определите, изменилась ли нагрузка по сравнению с вашими базовыми показателями. Существуют ли проблемы из-за перегрузки сети? |
Контроллер домена не использует самые точные часы. | Изменения в топологии или недавно добавленных главных часов. | w32tm /resync /rediscover |
Часы клиента отклоняются. | Событие Time-Service 36 в системном журнале событий и/или текст в файле журнала, описывающий, что счетчик источника времени клиента NTP изменяется с 1 на 0. | Устраните неполадки в вышестоящей системе и выясните, возникли ли проблемы с производительностью. |
Время подстраивание
Базовый уровень важен, чтобы вы могли понять производительность и точность вашей сети, а затем сравнить ее с этим эталоном в будущем, когда возникнут проблемы. Вы хотите задать базовую конфигурацию корневого PDC или любых компьютеров, помеченных GTIMESRV. Кроме того, мы рекомендуем установить стандарт для PDC в каждом лесу. Наконец, выберите любые критически важные ЦОД или устройства с интересными характеристиками, такими как расстояние или высокая нагрузка, и установите для них базовые значения.
Кроме того, полезно сравнить базовые параметры 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 в Windows Server 2016 включает функцию Secure Time Seeding для безопасного заполнения времени. Эта функция определяет приблизительное текущее время от исходящих SSL-подключений. Это значение времени используется для отслеживания часов локальной системы и исправления грубых ошибок. Дополнительные сведения о функции можно узнать в этой статье в блоге. В развертываниях с надежными источниками времени и хорошо отслеживаемых машин, которые включают мониторинг смещения времени, можно отказаться от использования функции безопасного засеивания времени и полагаться на существующую инфраструктуру.
Чтобы отключить функцию, выполните следующие действия.
Используйте групповую политику для управления
SecureTimeSeeding
. См. раздел, ссылающийся на параметрUtilizeSslTimeData
: Learn: Policy CSP — ADMX_W32Time.Кроме того, можно вручную задать значение реестра.
UtilizeSSLTimeData
Задайте для параметра конфигурации реестра значение0
на определенном компьютере:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v UtilizeSslTimeData /t REG_DWORD /d 0 /f
Если вы не сможете немедленно перезагрузить компьютер, вы можете уведомить W32Time об обновлении конфигурации. Это уведомление останавливает мониторинг и принудительное выполнение на основе данных о времени, собранных из SSL-подключений.
W32tm.exe /config /update
После перезагрузки компьютера параметр сразу же вступает в силу, а также приводит к остановке сбора любых данных времени с SSL-соединений. Последняя часть имеет небольшие издержки и не должна быть проблемой производительности.
Чтобы применить этот параметр во всем домене, задайте
UtilizeSSLTimeData
значение в параметре0
групповой политики W32Time и опубликуйте этот параметр. Когда параметр подхватывается клиентом групповой политики, W32Time уведомляется и останавливает мониторинг времени и принудительное применение на основе данных времени по SSL. Сбор данных времени SSL останавливается при перезагрузке каждого компьютера. Если у вашего домена есть портативные тонкие ноутбуки и планшеты и другие устройства, может потребоваться исключить такие компьютеры из этой политики. Эти устройства в конечном итоге сталкиваются с разрядкой батареи и нуждаются в функции безопасного установления времени для его инициализации.