Предотвращение отката USN

Если у домена есть несколько контроллеров и требуется восстановить один из контроллеров или его базу данных, желательно избежать ситуации, известной как USN rollback (откат USN).

Откат USN маловероятен, если восстанавливается весь контроллер домена из резервной копии на уровне дисков, созданной с помощью службы VSS.

Откат USN очень вероятен в любом из следующих случаев:

Следующие несложные действия помогут избежать отката USN.

Репликация номеров USN

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

Чтобы выполнять такое отслеживание, Active Directory использует номера, которые называются Update Sequence Numbers (номера последовательного обновления), сокращенно USN. Более новым версиям объектов Active Directory соответствуют более высокие номера USN. Каждый контроллер домена хранит номера USN всех остальных контроллеров домена.

Откат USN

После выполнения не заслуживающего доверия восстановления контроллера домена или его базы данных, текущий номер USN этого контроллера домена заменяется на старый (меньшее значение) номер USN из резервной копии. Но другим контроллерам домена не сообщается об этом изменении. Они хранят последний известный им (более высокий) номер USN этого контроллера домена.

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

Во избежание отката USN необходимо уведомить контроллер домена о том, что он был восстановлен.

Как предотвратить откат USN

  1. Сразу после восстановления всего контроллера домена или его базы данных загрузите восстановленный контроллер домена и нажмите клавишу F8 во время загрузки.
  2. На экране Дополнительные варианты загрузки выберите Режим восстановления служб каталогов и войдите в режим восстановления служб каталогов (DSRM).
  3. Откройте редактор реестра и разверните следующий раздел реестра:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

  4. В этом разделе реестра посмотрите, какое значение имеет параметр DSA Previous Restore Count. Если это значение присутствует, запишите его. Не добавляйте этот параметр в случае его отсутствия.
  5. Добавьте в этот раздел реестра следующий параметр:
  6. Перезапустите контроллер домена в обычном режиме.
  7. [Необязательно] После перезагрузки контроллера домена откройте приложение просмотра событий, разверните узел Журналы приложений и служб и выберите журнал Службы каталогов. В журнале Службы каталогов найдите последнюю запись для события с идентификатором 1109. Если вы ее найдете, щелкните эту запись дважды, чтобы удостовериться, что атрибут InvocationID изменился. Это значит, что база данных Active Directory обновлена.
  8. Откройте редактор реестра и убедитесь, что значение параметра DSA Previous Restore Count увеличилось на единицу по сравнению со значением в шаге 4. Если в шаге 4 параметр DSA Previous Restore Count отсутствовал, убедитесь в том, что теперь он присутствует и равен 1.

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

Дополнительные сведения о номерах USN и откате USN см. в следующей статье на сайте Microsoft Technet http://technet.microsoft.com/ru-ru/library/virtual_active_directory_domain_controller_virtualization_hyperv.aspx.