Зачем нужно перезагружать контроллеры домена раз в месяц

от автора

Для оптимальной производительности и безопасности контроллеров домена службы каталогов Active Directory требуется их регулярное  обслуживание. Наше новое руководство поможет вам максимально эффективно настроить работу ваших контроллеров домена при обслуживании запросов аутентификации и авторизации.

Active Directory предоставляет сервисы аутентификации и авторизации. Работоспособная среда  Active Directory позволяет эффективно работать другим службам.

Ранее в руководстве по проверке работоспособности Active Directory (Active Directory Health Check Server Tutorial)  мы рассмотрели  2 важных вопроса связанных с проверкой надлежащей работы службы каталогов: «Реплицированная топология Active Directory» и «Подсети не связанные с сайтами Active Directory". Мы рассказали о преимуществах использования сетевой топологии по сравнению с «ячеичной топологией», а также предложили скрипт в PowerShell, который вы можете использовать для получения информации о количестве сайтов, связанных по ссылке AD.

Сегодня мы объясним, для чего нужно перезагружать хотя бы раз в месяц контроллеры доменов и как можно использовать скрипт Power Shell для получения информации об аптайме контроллеров домена. Скрипт будет представлен ниже.

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

Перед тем как рассмотреть скрипт Power Shell для получения информации об аптайме контроллеров домена, давайте определимся с тем, зачем нам необходимо перезагружать контроллеры домена. Есть две веские причины, которые необходимо учитывать при принятии решения о перезагрузке. Рассмотрим их:

  1. Проблемы утечки памяти:  утечка памяти происходит при запуске  процесса Lsass.exe. Этот процесс осуществляется на контроллере домена и отвечает за предоставление сервисов идентификации клиентам Active Directory. Со временем утечка памяти может повлиять на работоспособность контроллеров домена. Масштабная утечка памяти может привести к неприемлемому временному отклику со стороны процесса  Lsass.exe и высокому потреблению памяти операционной системой. Для того чтобы справиться с проблемами утечки памяти рекомендуется периодически перезагружать доменные контроллеры.

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

  2. Большинство обновлений для системы безопасности  требуют перезагрузки:  Важно отметить, что Windows  сервер и доменные контроллеры требуют регулярные патчи для установки пакетов обновлений и хотфиксов, а версии патчей системы безопасности должны быть совместимы на всех контроллерах домена. Новые патчи заменяют низкоуровневые Dll файлы в операционной системе, поэтому большинство обновлений систем безопасности требуют перезагрузки, после которой обновления будут успешно применены. Компания Майкрософт ежемесячно выпускает обновления системы безопасности и поэтому крайне важно перезагружать контроллеры, чтобы внести изменения.

Принимая во внимание вышеуказанные причины перезагрузки, предлагаем вам скрипт в Power Shell, который вы можете использовать для получения информации об аптайме контроллера домена. Данный скрипт также поможет вам узнать количество дней, прошедших с последней перезагрузки каждого контроллера домена.

Шаги:

Меняем ITDynamicPacks. Прописываем имя главного домена в AD forest name. Получаем перечень всех доменных контроллеров и главного домена Active Directory, прописав команду, указанную ниже, результат сохраняется в файле C:\Temp\DCList.TXT file:    

DSQuery Server -o rdn > C:\Temp\DCList.TXT

Копируем полный скрипт указанный ниже в файл PS1 и исполняем в PowerShell окне

$CurForestName="ITDynamicPacks.Net" $TestCSVFile="C:\Temp\DCUpTimeReport.CSV" $GDCList="C:\Temp\DCList.TXT" $TotNo=0 $ItemCount=0 $TestText = "Please check result" $TestStatus="Completed" $SumVal = "NA" $ErrorOrNot = "No" $ThisString="Domain Controller, Up Time, Local Time, Time Zone, Days Not Rebooted, Status" Add-Content "$TestCSVFile" $ThisString $TodaysDate = Get-Date Foreach ($ItemName in Get-Content "$GDCList") 	{ 	$operatingSystem = Get-WmiObject Win32_OperatingSystem -ComputerName $ItemName 	IF ($Error.count -ne 0) 		{ 		$ThisSTR = $ItemName+",Error Connecting" 		$ErrorOrNot = "Yes" 		Add-Content "$TestCSVFile" $ThisStr 		} 	else 		{ 		$RTime=[Management.ManagementDateTimeConverter]::ToDateTime($operatingSystem.LastBootUpTime) 		$LocalTime=[Management.ManagementDateTimeConverter]::ToDateTime($operatingSystem.LocalDateTime) 		$CurTimeZone=$operatingSystem.CurrentTimeZone 		$StatusNow = "" 		$R = $RTime 		$Z = $TodaysDate 		$DayNotRebooted = (New-TimeSpan -Start $R -End $Z).Days 		IF ($DayNotRebooted -ge 30) 			{ 			$StatusNow = "WARNING: Not rebooted since last 30 days" 			} 		$ThisStr=$ItemName+","+$RTime+","+$LocalTime+","+$CurTimeZone+","+$DayNotRebooted+","+$StatusNow 		Add-Content "$TestCSVFile" $ThisStr 		} 	} 

Когда завершится исполнение скрипта по всем контроллерам домена, будет сформирован отчет в DCUpTimeReport.CSV файле в папке C:Temp folder как показано на следующем скриншоте:

Как можно увидеть из отчета, скрипт даёт возможность получить информацию об аптайме каждого контроллера домена, указанную в  C:\Temp\DCList.TXT файле. А отчет о том, сколько дней доменный контроллер не перезагружался можно увидеть в графе «Days Not Rebooted».

Приведенный выше скрипт является частью  «Теста контроллеров домена на аптайм»  Dynamic Pack,  который доступен для использования с Active Directory Health Profiler. Данный тест может быть проведен как для одного, так и для множества доменов AD и вы можете увидеть результаты теста  в консоли Active Directory Health Profiler как показано на скриншоте ниже:

Вывод

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

Предложенный PowerShell скрипт поможет вам поддерживать работоспособность  контроллеров домена на должном уровне, для этого вам раз в месяц их необходимо перезагружать.
ссылка на оригинал статьи https://habrahabr.ru/post/316318/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *