Назад | Перейти на главную страницу

Как мы можем восстановить домен AD, который теперь вообще не отвечает как DC?

Windows Server 2012 - это основная серверная среда. Все машины расположены в серверной комнате, обслуживающей лабораторию тестирования сети. В лаборатории более 400 серверов, большинство из которых виртуализированы, что дает нам рабочий диапазон в 3500–4000 машин, которые будут использоваться в лаборатории.

Сценарий: наш резервный DC вышел из строя около месяца назад, и никто этого не заметил, поскольку предыдущий администратор только что ушел, а наш новый специалист по инфраструктуре изучал нашу сеть на месте. У DC произошел аппаратный сбой, и это полная потеря.

У нашего PDC начались проблемы с репликацией, и в конечном итоге мы получили сообщение о том, что он объявил себя недействительным из-за того, что не выполнил роль управления DC. Эта задача не может быть подтверждена (да!).

Около недели назад мы запустили сценарий Powershell, чтобы добавить 400 машин в AD / домен. Примерно через 25% скрипт перестал распознавать PDC как контроллер домена. С тех пор мы не можем добавлять машины в домен, в настоящее время у нас заканчивается кеш-время на других клиентах, поскольку они вошли в домен без фактического PDC.

Нам не удалось удалить поврежденный DC из PDC, из-за этого мы не можем сделать резервную копию AD и перенести данные.

Что мы сделали до сих пор

Проблемы

Есть ли способ избежать полной перестройки нашей AD с нуля?

Есть ли варианты восстановления наших объектов групповой политики без их повторного создания вручную?

данные dcdiag

После запуска dcdiag, Все но CheckSDRefDom тесты не прошли. Все тесты, зависимые от LDAP, завершились неудачно с LDAP Error 0x3a (58). Проверки FMSO прошли успешно. DNS не ответил и сообщил, что не запущен, даже если служба была запущена.

Я думаю, мы примем предложение Матиуса и воспримем это как возможность переделать и изучить.

Я предполагаю, что мертвый сервер был RID Мастер.

Контроллеры домена выделяют уникальные идентификаторы SIDS, используя пул относительных идентификаторов (RIDS). Один DC в домене, RID Master, отвечает за предоставление уникальных пулов каждому контроллеру домена. Когда у контроллера домена заканчиваются идентификаторы RID, он не может больше создавать участников безопасности.

В этом случае добавление дополнительных контроллеров домена совершенно не поможет.

Чтобы исправить это, вам нужно захватить роль хозяина RID на рабочем ДЦ. Важно: после того, как вы взяли на себя роль, не позволяйте старому мастеру RID вернуться в онлайн! Это может привести к проблемам.

Кстати, ответ, предполагающий создание нового домена, представляет собой огромную нагрузку, больше работы, чем может показаться. Помимо прочего, теперь вы должны настроить каждую службу на каждом сервере с новой учетной записью службы, что может означать установку имен и разрешений участников службы. Теперь вы должны воссоздать свою систему обмена сообщениями, возможно, требуя экспорта и импорта каждого почтового ящика. Выравнивание леса AD - это вариант в крайнем случае, его следует делать только после того, как вы исчерпали другие варианты!

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

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

  • Создайте новый домен в новом лесу с новым FQDN на «новом» (только что установленном) сервере.
  • Отключить всех клиентов от существующего домена
  • Перезагрузитесь и присоединитесь к новому домену
  • Переустановите операционную систему на существующие контроллеры домена.
  • Установите AD DS на серверы и присоединитесь к новому домену
  • Воспользуйтесь этой возможностью, чтобы пересмотреть свое понимание Active Directory, что это такое и как работает

Microsoft опубликовала ряд руководств по подходу к разработке и развертыванию Active Directory, однозначно стоит упомянуть:

В Руководство по проектированию AD DS в TechNet
В Руководство по доменным службам Active Directory из серии руководств по инфраструктуре и планированию Microsoft

Удачи!


Резервное копирование ваших GPO:

Судя по вашим недавним обновлениям, AD DS в настоящее время не работает, так что это последнее средство резервного копирования и восстановления GPO, не включая ссылки и фильтры WMI.

Объект групповой политики состоит из двух частей: контейнера групповой политики и шаблона групповой политики.

Контейнер - это объект в активном каталоге, который содержит ссылки групповой политики, которые используются для применения данного объекта групповой политики к данному подразделению - если DSA недоступен для вас на этом этапе, вы не сможете получить их без подключения и изучить автономную копию вашей базы данных NTDS (не так просто, как может показаться).

С другой стороны, шаблон содержит основные сведения об объекте групповой политики, все параметры, имя, информацию о версии и т. Д. И хранится в папке SYSVOL файловой системы.
В конфигурации по умолчанию вы сможете найти все свои GPT в C:\Windows\SYSVOL\domain\policies\. С резервной копией GPT на уровне файлов вы сможете воссоздать объекты групповой политики в новом домене, предпочтительно с помощью PowerShell, как показано ниже:

$gptBackupFilePath = "C:\backup\policies\"
$ServerName = $env:COMPUTERNAME

Import-Module GroupPolicy

$GPTs = Get-ChildItem $gptBackupFilePath -Directory |Where-Object {$_.Name -imatch "^\{([0123456789abcdef-]){36}\}$"}

foreach($GPT in $GPTs)
{
    if("{31B2F340-016D-11D2-945F-00C04FB984F9}" -eq $GPT.Name.ToUpper())
    {
        Write-Host "Skipping Default Domain Policy "
    }

    if("{6AC1786C-016F-11D2-945F-00C04FB984F9}" -eq $GPT.Name.ToUpper())
    {
        Write-Host "Skipping Default Domain Controllers Policy "
    }
    $GPTPath = $GPT.FullName
    $GPOName = (Get-Content (Join-Path $GPTPath "GPT.ini") |Where-Object {$_ -match "^displayName="}).Substring(12) |Select -First 1
    if(-not($GPOName))
    {
        Write-Warning "Unable to read GPO name from $GPTPath"
        continue
    }

    $newGPO = New-GPO -Name $GPOName -Server $ServerName
    if(-not($?))
    {
        Write-Warning "Unable to create new GPO $GPOName"
        continue
    }

    $GPOGuid = $newGPO.Id.ToString()

    $Destination = Get-Item ("C:\Windows\SYSVOL\domain\policies\{" + $GPOGuid + "}")
    if(-not(Test-Path $Destination))
    {
        Write-Warning "Unable to access new GPT for GPO $GPOName"
        continue
    }

    Get-ChildItem -Path $GPTPath -Recurse -Exclude @("gpt.ini") |Copy-Item -Destination $($_.FullName -replace $GPTPath,$DestinationPath.FullName) -Force
    if($?)
    {
        Write-Host "Successfully recreated GPO $GPOName as $GPOGuid"
    }
}

Я сомневаюсь, что это поддерживаемое решение, и, в отличие от обычного импорта GPO с таблицами миграции, вам нужно вручную присвоить UNC-пути другим доменным ссылкам.

Приведенный выше пример предназначен для запуска на контроллере домена в вашем новом лесу с $gptBackupFilePath изменен на папку, содержащую содержимое [..] \ policy на старом контроллере домена


В только другой текущий ответ на этот вопрос, предполагая, что вы потеряли контроллер домена, в настоящее время обладающий ролью RID Master FSMO, и исчерпали текущий пул RID, с большой вероятностью полностью верны, и вы вполне можете восстановить лес из его текущего состояния.

Моя рекомендация начать с нуля - это не простой ответ goto по умолчанию, а тщательно выбранный вариант, основанный на личном опыте работы с AD Disaster Recovery и, что более важно, уборка после катастрофических усилий других людей по восстановлению после бедствий.

Если вы не совсем понимаете, чего ожидать от здоровой среды Active Directory, и методом проб и ошибок делаете то, что вам говорят (захват FSMO, очистка метаданных и т. Д.), Основные нерешенные проблемы все еще могут быть настоящее - но слишком неуловимое и поэтому скрыто от неподготовленного глаза.

Любое несоответствие, появившееся в течение последних 30 или 60 дней, может не проявиться прямо здесь и сейчас, но если и когда оно проявится - вам захочется начать с нуля, когда у вас будет возможность