Настройка синхронизации времени в домене Active Directory.
Вообще служба времени является достаточно важной службой в работе всех систем в целом. Порой многие админы откладывают ее настройку на потом или вообще никак не настраивают ее в дальнейшем. И все бы ничего, но порой это начинает приводить к проблемам (например отказе некоторых сервисов, аутентификации по Kerberos в домене и прочим багам). В данном посте, я приведу некоторые настройки собственные и наших коллег по цеху и в двух словах расскажу о нюансах с которыми я столкнулся в жизни. Итак приступим:
- топологии синхронизации времени среди участников Active Directory
- оптимальной с моей точки зрения конфигурации сервера времени корневого эмулятора PDC
- полезных командах для настройки и диагностики синхронизации времени
- особенностях, которые нужно учитывать для виртуализированных контроллеров домена
Топология синхронизации времени среди участников Active Directory
Среди компьютеров, участвующих в Active Directory работает следующая схема синхронизация времени.
- Контроллер корневого домена в лесу AD, которому принадлежит FSMО-роль эмулятора PDC (назовем его корневым PDC), является источником времени для всех остальных контроллеров этого домена.
- Контроллеры дочерних доменов синхронизируют время с вышестоящих по топологии AD контроллеров домена.
- Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.
Корневой PDC может синхронизировать свое время как со внешним источником, так и с самим собой, последнее задано конфигурацией по умолчанию и является абсурдом, о чем периодически намекают ошибки в системном журнале.
Синхронизация клиентов корневого PDC может осуществятся как с его внутренних часов, так и с внешнего источника. В первом случае сервер времени корневого PDC объявляет себя как «надежный» (reliable).
Далее будет приведена оптимальная конфигурация сервера времени корневого PDC, при которой сам корневой PDC периодически синхронизирует свое время от достоверного источника в интернете, а время обращающихся к нему клиентов синхронизирует со своими внутренними часами.
Конфигурация NTP-сервера на корневом PDC
Конфигурирование сервера времени (NTP-сервера) может осуществляться как с помощью утилиты командной строки w32tm, так и через реестр. Где возможно, будут показаны оба варианта.
Включение синхронизации внутренних часов с внешним источником
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
“Type”=”NTP” - w32tm /config /syncfromflags:manual
Подробности — в библиотеке TechNet.
Объявление NTP-сервера в качестве надежного
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
“AnnounceFlags”=dword:0000000a - w32tm /config /reliable:yes
Подробности — в библиотеке TechNet.
Включение NTP-сервера
NTP-сервер по умолчанию включен на всех контроллерах домена, однако его можно включить и на рядовых серверах.
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer]
“Enabled”=dword:00000001
Задание списка внешних источников для синхронизации
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
“NtpServer”=”time.nist.gov,0×8 ntp1.imvp.ru,0×8 ntp2.imvp.ru,0×8 time.windows.com,0×8 ru.pool.ntp.org,0×8″ - w32tm /config /manualpeerlist:”time.nist.gov,0×8 ntp1.imvp.ru,0×8 ntp2.imvp.ru,0×8 time.windows.com,0×8 ru.pool.ntp.org,0×8″
Флаг 0×8 на конце означает, что синхронизация должна происходить в режиме клиента NTP, через предложенные этим сервером интервалы времени. Для того, чтобы задать свой интервал синхронизации, необходимо использовать флаг 0×1. Все остальные флаги описаны в библиотеке TechNet.
Задание интервала синхронизации с внешним источником
Время в секундах между опросами источника синхронизации, по умолчанию 900с = 15мин. Работает только для источников, помеченных флагом 0×1.
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
“SpecialPollInterval”=dword:00000384
Установка минимальной положительной и отрицательной коррекции
Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
“MaxPosPhaseCorrection”=dword:FFFFFFFF
“MaxNegPhaseCorrection”=dword:FFFFFFFF
Все необходимое одной строкой
w32tm.exe /config /manualpeerlist:”time.nist.gov,0×8 ntp1.imvp.ru,0×8 ntp2.imvp.ru,0×8 time.windows.com,0×8 pool.ntp.org,0×8″ /syncfromflags:manual /reliable:yes /update
Полезные команды
- Применение внесенных в конфигурацию службы времени изменений
w32tm /config /update - Принудительная синхронизация от источника
w32tm /resync /rediscover - Отображение состояния синхронизации контроллеров домена в домене
w32tm /monitor - Отображение текущих источников синхронизации и их статуса
w32tm /query /peers
Особенности виртуализированных контроллеров домена
Контроллеры домена, работающие в виртуализированной среде, требуют к себе особенного отношения.
- Средства синхронизации времени виртуальной машины и хостовой ОС должны быть выключены. Во всех адекватных системах виртуализации (Microsoft, vmWare и т. д.) присутствуют компоненты интеграции гостевой ОС с хостовой, которые значительно повышают производительность и управляемость гостевой системой. Среди этих компонентов всегда есть средство синхронизации времени гостевой ОС с хостовой, которое очень полезно для рядовых машин, но противопоказано для контроллеров домена. Потому как в этом случае весьма вероятен цикл, при котором контроллер домена и хостовая ОС будут синхронизировать друг друга. Последствия печальны.
- Для корневого PDC синхронизация с внешним источником должна быть настроена всегда. В виртуальной среде часы не настолько точны как в физической, потому как виртуальная машина работает с виртуальным процессором и прерываниями, для которых характерно как замедление, так и ускорение относительно «обычной» частоты. Если не настроить синхронизацию виртуализированного корневого PDC с внешним источником, время на всех компьютерах предприятия может убегать/отставать на пару часов в сутки. Не трудно представить неприятности, которые может принести такое поведение.
В данном посте Максим Ефремов рассказал о настройке NTP в Win2008, Vista в семерке это делается аналогично.
Если у Вас домен, то он сам синхронизирует время на рабочих станциях. Только, для того чтоб он сам не искал с кем-бы ему синхронизироваться, надо в реестре:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters”
Установить значение параметра LocalNTP равным 1.
На рабочих станциях (на всех) один раз прописать “net time \\имя_сервера /set”
Ах да, после изменений в реестре еще надо перезапустить службу: “net w32time stop” и “net w32time start” поочереди.
Если скажем, вы хотите чтоб время синхронизировалось каждый час, то сделайте следуеще:
1. В реестре, по тому же адресу, удалить параметр “Period”.
2. Вместо него создать параметр с тем же именем, только типа REG_DWORD.
3. Для нового параметра задать значение 24
На компах с 2000 и выше “левые” программы не нужны, все решается стандартными средствами.
Например, на компе подключенном к Инету:
1. net time /setsntp:”192.5.41.209 192.5.41.41″
2. Рестарт time service
На контроллере домена:
1. net time /setsntp:”АйПи_компа_подключенного_к_инету”
2. Рестарт time service
Да, но все вышенаписанное, при правильной настройке, нормально работает в виндовых платформах. Но в определенный момент, я столкнулся с тем, что сервак телефонии Авая, так и не смог синхронизироваться с виндовым сервером времени, как я ни старался. Зато с сервером времени развернутым на линухе (или на юнихе, я уже не вспомню точно) синхронихировался за 2 секунды и без проблем.
По сему для себя мы сделали вывод, что при наличии в компании смешанной инфраструктуры (windows+nix) актуальней будет использовать NTP сервер на nix платформе (в моем случае это будет freebsd), а далее соответственно как сами настроите. О настройке NTP сервака на freebsd в моих будущих постах.
Всем удачи в работе !!!
Постоянное самопроизвольное отключение Админской учетки.
На днях столкнулся с интересной темой. Моя учетка обладает правами Администратор домена, но по неясной причине стала самопроизвольно блокироваться, что не мало озадачило меня. Проверил сервер DC на вирусы -нет. Проанализировал логи с виду ничего подозрительного. Но учетка по прежнему продолжала самопроизвольно блокироваться, при том достаточно интересно: на сервер не удается попасть пишет “Ваша учетная запись заблокирована”, но при запуске mmc на моем компе и подключении оснасток домена дает спокойно ее подключит и соответственно разблокировать себя самому. Я озадачился, долго читал различные форумы в интернете, пока не наткнулся на Блог Михаила Даньшина (я кстати являюсь постоянным читателем его блога), где собственно Миша и описал решение моей проблемы. Итак читаем здесь:
http://www.danshin.ms/2009/11/blog-post_20.html
Всем удачи!!!
Upgrade Win2008 Standard x32 to Win2008 Enterprise x32.
Исходные данные:
- Сервак HP DL360 Xeon 2GHz 6Gb 2*2Tb RAID1
- Софт Win2008Std_x32(sp2)+SQL2008Std_x32(sp2)+ TermServer+1C+Apache+PHP
Так получилось, что изначально не обратили внимание, что установлена стандарт винда 2008 (не р2), что собственно говоря и сыграло с нами злую шутку в будущем. Изначально здесь просто стояла винда и крутилась так называемая файловая версия 1с8 собственно 2 базы. И все бы ничего, так одна из баз уже достигла размера 3гб да и бэкапы до нас никто как оказалось не делал, в итоге было принято решения добавить на этот сервак еще пару баз 1С различного назначения и законвертить все это дело в SQL. Сказано-сделано. В итоге, прикрутили SQL2008 законвертили базы, прикрутили апач для веб-интерфейса и посадили 20 пользователей на терминал. И все бы ничего, но вот здесь нас и ожидал глобальный «косяк», на который мы собственно изначально не обратили внимания. В штатном режиме при стандартной работе пользователей на серваке осталось 6 мегабайт свободной оперативной памяти+ своп он сделал 3 гига (пришла мысль, что в отчетный период при формировании различных обработок 1с мы можем получить некие тормоза). Вот тут то мы и озадачились: сервак видит 6 гигов оперативки, а использует только 4 гига. Вот здесь встал вопрос: Как решить эту проблему?
Стали почитывать Технет:
http://technet.microsoft.com/en-us/library/cc755199(WS.10).aspx#BKMK_Supported
Разные форумы:
или
много воды, но мало конкретики.
Ясно написано, что апгрейд на R2 (х64) не поддерживается, остается один вариант Энтерпрайс. Ну чтож, есть лицензия и на Энтерпрайс, будем апгрейдить на Энтерпрайз.
Что нам об этом говорит Майкрософт? – А собственно ничего, там просто написано черным по белому, мол возьмите дистрибутив, запустите его и нажмите кнопку UPGRADE. Мы быстренько развернули две виртуальных машинки воспроизвели на них все приложения установленные на боевом серваке и приступили к самой процедуре апгрейда.
Самое интересное, что кнопка UPGRADE оказалась не активной, в итоге путем долгих изысканий удалось выяснить следующее:
- Если у вас установлен Win2008std_sp2_x32 и вы хотите апгрейдить его на версию Win2008ent_x32, то это вряд ли получится сделать, так как для начала необходимо будет «пристрелить» SP2 а только потом апгрейлить.
- Здесь же может встретиться и обратная ситуация, если у вас установлен Win2008std_x32 и вы хотите апгрейдить его на версию Win2008ent_sp2_x32, то также вряд ли получится так как исходную винду необходимо будет обновить до SP2 и только потом апгрейд станет доступен.
- Есть еще один нюанс: язык винды, соответственно если у вас установлена русская винда, то апгрейдим так же на русскую если английская, то н английскую. Если была установлена английская винда с русским MUI то апгрейдим на английскую.
В итоге, я был поражен: Апгрейд на боевом сервере (достаточно мощном, как видно из конфигурации указанной в начале поста) занял 3,5 часа, за это время мы бы лучше переставили винду и весь установленный софт с нуля. Апгрейд сопровождался массой перезагрузок. До апгрейда было установлено 132 (точно не вспомню уже, но порядок приблизительно таков) обновления, а после апгрейда осталось только 13 обновлений, собственно пришлось вновь закачивать все апдейты. Вот таков тернист апгрейд, но только практика позволила нам до конца познать все нюансы. В итоге все благополучно завершилось, и вот уже 5 дней сервак отработал в боевом положении.
Всем удачи !!!

В этом блоге, я пишу заметки о своей жизни в сфере IT технологий. Собираю интересные ссылки, выражаю свои мысли и прочее… В основном статьи посвящены, различным продуктам от Microsoft, которые я юзаю многие годы, а так же продуктам от VMWare и nix, которые также представляют огромный интерес для меня. Здесь приведены не только мои статьи, но и статьи, которые были найдены мною на безграничных просторах интернета. Но все написаное здесь, было проделано мною на виртуальных машинах или в продакшин среде, о чем свидетельствуют комментарии в текстах. Всем удачи в работе.