Удаление объектов Active Directory с большим количеством ссылок приводит к сбоям репликации

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

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 3149779

Сводка

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

  • Членство в группах (атрибут member)
  • Перемещаемые учетные данные пользователя (атрибут ms-PKI-AccountCredentials)
  • Доступные пользовательские ссылки контроллера домена (RODC) только для чтения (атрибут mds-revealedusers)

Количество ссылок, в которых вы начинаете видеть проблемы, может быть не более 50 000. На одном объекте может быть несколько миллионов ссылок.

Раздел реестра, описанный в этой статье, должен применяться только к контроллерам домена (DCs) и серверам служб упрощенных каталогов (LDS), на которых возникла проблема, описанная в разделе "Симптомы". Эта проблема, скорее всего, возникает на Windows Server 2012, Windows Server 2012 R2 и Windows Server 2016 контроллерах домена. Следуя приведенным здесь рекомендациям, можно снизить производительность репликации Active Directory, но повысить надежность правильной обработки удаления таких больших объектов.

Симптомы

При удалении объектов Active Directory, содержащих много прямых ссылок, может возникнуть сбой репликации. Например, вы удаляете группы с большими наборами членства или понижаете, а затем удаляете учетные записи компьютеров RODC с большим количеством ссылок на учетные записи пользователей, пароль которых предоставлен в RODC.

Следующие условия являются ключевыми индикаторами, которые это решение применяет к проблеме:

  • Функциональным уровнем леса является Windows Server 2003 или более поздней версии Windows Server, поэтому используется репликация значений связи.

  • Событие 2094 (задержка репликации) происходит несколько раз, ссылаясь на один и тот же удаленный объект.

  • События 1083 и 1955 (конфликт записи) регистрируются в непосредственной близости от журнала события 2094, ссылающегося на один и тот же удаленный объект.

  • Затронутый контроллер домена (DC) также может сообщать о том, что хранилище версий исчерпано (событие с идентификатором 623). В этом сценарии не всегда происходит исчерпание хранилища версий. Другие факторы, повышающие вероятность исчерпания хранилища версий, включают высокий уровень изменений в объектах Active Directory, как локальных, так и реплицированных, а также другие длительные операции, такие как глубокие запросы.

  • Репликация Active Directory завершается сбоем с ошибкой 8409, ошибкой "Произошла ошибка базы данных" или другими событиями, ссылающимися на связанные коды состояния, упомянутые в следующей таблице:

    Hex Десятичное число Символические Дружелюбный
    000020D9 8409 ERROR_DS_DATABASE_ERROR Произошла ошибка базы данных

    Если корзина Active Directory включена, ошибки репликации могут не возникать в течение 60–180 дней (время существования удаленного объекта) после удаления объекта. Проблемы возникают при переходе объекта из удаленного состояния в состояние перезапуска.

Записи журнала событий

При возникновении проблемы регистрируются следующие события:

Имя журнала: служба каталогов
Источник: Microsoft-Windows-ActiveDirectory_DomainService
Идентификатор события: 2094
Категория задачи: репликация
Уровень: предупреждение
Ключевые слова: классический
Описание. Предупреждение о производительности: репликация была отложена при применении изменений к следующему объекту. Если это сообщение появляется часто, оно указывает на то, что репликация выполняется медленно и что серверу могут возникнуть трудности с изменениями.
DN объекта: <имя объекта>
Идентификатор GUID объекта: <идентификатор GUID объекта>
DN секции: DC=contoso,DC=com
Сервер: xxxx-xxxx-xxxx-xxxx-xxxxxxx._msdcs.contoso.com
Затраченное время (с): 11
Действия пользователя
Распространенной причиной такой задержки является то, что этот объект особенно велик либо по размеру его значений, либо по количеству значений. Сначала следует подумать о том, можно ли изменить приложение, чтобы уменьшить объем данных, хранящихся в объекте, или количество значений. Если это большая группа или список рассылки, вы можете повысить уровень функциональности леса до Windows Server 2003 или более поздней версии, так как это позволит репликации работать более эффективно. Следует оценить, обеспечивает ли серверная платформа достаточную производительность с точки зрения памяти и вычислительной мощности. Наконец, можно рассмотреть возможность настройки доменные службы Active Directory базы данных путем перемещения базы данных и журналов в отдельные разделы диска.
Если вы хотите изменить ограничение предупреждений, раздел реестра будет включен ниже. Значение нуля отключает проверка.
Дополнительные данные
Ограничение предупреждений (с): 10
Ограничение раздела реестра: System\CurrentControlSet\Services\NTDS\Parameters\Replicator — максимальное ожидание объекта обновления (с)
Имя журнала: служба каталогов
Источник: Microsoft-Windows-ActiveDirectory_DomainService
Идентификатор события: 1083
Категория задачи: репликация
Уровень: предупреждение
Ключевые слова: классический
Описание:
доменные службы Active Directory не удалось обновить следующий объект с изменениями, полученными от службы каталогов по следующему сетевому адресу, так как доменные службы Active Directory занят обработкой сведений.
Объект: <имя объекта>
Сетевой адрес: xxxxx-xxxx-xxxx-xxxx-xxxxxxx._msdcs.contoso.com
Эта операция будет предпринята позже.
Имя журнала: служба каталогов
Источник: Microsoft-Windows-ActiveDirectory_DomainService
Идентификатор события: 1955
Категория задачи: репликация
Уровень: сведения
Ключевые слова: классический
Пользователь: АНОНИМНЫЙ ВХОД
Описание: при применении реплицированных изменений к следующему объекту доменные службы Active Directory возник конфликт записи.
Объект: <имя объекта>
Время в секундах: 48
Записи журнала событий, предшествующие этой записи, указывают, было ли принято обновление.
Конфликт записи может быть вызван одновременными изменениями одного и того же объекта или одновременными изменениями в других объектах, которые имеют атрибуты, ссылающиеся на этот объект. Обычно это происходит, когда объект представляет большую группу с большим количеством членов, а уровень функциональности леса устанавливается в Windows 2000. Этот конфликт вызвал дополнительные повторные попытки обновления. Если система работает медленно, это может быть связано с репликацией этих изменений.
Действия пользователя
Используйте небольшие группы для этой операции или повысьйте уровень функциональности леса до Windows Server 2003.

Дополнительная информация

По умолчанию при удалении объекта Active Directory, имеющего исключительно большое количество прямых и обратных ссылок, одновременно удаляются 10 000 ссылок. В течение этого времени, если другие потоки обновляют целевые объекты этих ссылок, транзакция удаления ссылок приостанавливается до тех пор, пока объекты снова не будут доступны. Такая приостановка может привести к тому, что вся транзакция удаления займет много времени. В течение этого времени эта долго выполняющаяся задача удерживает другие задачи репликации. Например, вы можете заметить, что обновления паролей и членства в группах не распространяются по всему лесу.

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

Примечание.

  • Сборка мусора не связана с обработкой удаления ссылок членства в группах.
  • Уменьшение TSL не является допустимым методом ускорения удаления ссылок.
  • Устаревшее значение для пакета процесса связи — 1000 в версиях до Windows Server 2008 R2. В более поздних версиях размер пакета увеличивается до 10 000, чтобы повысить производительность удаления в лесах с включенной корзиной.
  • Проверьте значения параметра Размер пакета процесса связи . Если оно не указано, задайте значение по умолчанию или еще меньшее значение, например 1000 или 100.

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

Службы Active Directory проверка для следующего раздела реестра.

Для AD DS:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Links process batch size

Для AD LDS:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<adam instance>\Parameters\Links process batch size
Тип: DWORD
Минимальное значение: 100
Максимальное значение: 10000

Это значение переопределяет значение по умолчанию 10 000 в качестве количества атомарных ссылок для обработки за один раз. Вам не нужно перезапускать службу экземпляров NTDS или LDS или перезагружать компьютер, чтобы этот параметр вступил в силу.

После каждой атомарной операции освобождается соответствующее хранилище версий. Хранилище версий повторно запрашивается только во время следующей атомарной операции, которая продолжает обрабатывать тот же объект. Возможно, у вас есть второе мнение об уменьшении размера пакета ссылки в значительной степени. Его можно объединить с увеличением хранилища версий ESE. Если, возможно, по причине увеличения хранилища версий, вы можете увеличить хранилище версий или не уменьшить значение размера пакета процесса ссылок .

Дополнительные сведения см. в следующих статьях:

Обходной путь

Чтобы обойти эту проблему, задайте для параметра Размер пакета процесса связи меньше 10 000. Это снижает вероятность возникновения конфликта доступа к объекту. Это делает процесс репликации удаления больших объектов более надежным. Кроме того, теперь для завершения всей транзакции требуется больше времени. Это также помогает избежать истощения хранилища версий.

Сбор данных

Если вам нужна помощь со стороны службы поддержки Майкрософт, рекомендуем собрать сведения, выполнив действия, описанные в разделе Сбор информации с помощью TSS для проблем с репликацией Active Directory.

Ссылки

Дополнительные сведения см. в следующих статьях: