Lingering Objects
Читал, но никогда не сталкивался с устаревшими объектами, поэтому решил проиграть на стенде.
Lingering Object (устаревшие объекты) — это объекты которые существуют на одном или нескольких контроллерах доменов(КД), но не существуют на других КД. После удаления объектов из СК AD, они помечаются удаленными(isDeleted «истина») и перемещаются в специальный контейнер NC, CN=Deleted Objects. После удаления этот объект будет называться объект-захоронение. Каждые 12 часов на КД происходит сборка мусора и объекты, которые превышают время tombstoneLifetime удаляются.
Предположим, что на КД был создан объект Object1, репликация прошла успешно и после этого один из КД был выключен от сети. На других контроллерах Object1 был удален и через время tombstoneLifetime (180 дней для W28k) полностью удален из контейнера Deleted Objects. После этого, выключенный контроллер подключили обратно подключили к сети. В этом случае объект Object1 считается устаревшим.
В продуктивных средах самым распространенным вариантом является долгое выключение КД или обрыв связи с региональными площадками, такие варианты я лично слышал, так же существует вероятность восстановления устаревших резервных копий.
Для того, чтобы «посмотреть» на устаревшие объекты необходимо:
1. Создать объекты user01, 02, 03, 10 на двух КД.
2. Выключить один из серверов(DC02).
3. Удалить объекты и убедиться, что они переместились в контейнер Deleted Objects.
4. Перевести время на КД так, чтобы объект-захоронения устарел.
5. Инициировать процесс сборки мусора Garbage Collection
- Открыть Ldp.exe, далее Browse в меню Modify оставить пустым Distinguished.
- В поле Edit Entry Attribute написать «DoGarbageCollection» (без кавычек),
- В поле Values написать «1» (без кавычек).
- Переключить Operation на Add, нажать Enter и далее Run.
Я не смог найти событие, которое отображает работу сборщика мусора, хотя такой по идее есть: http://technet.microsoft.com/ru-ru/library/cc816652(v=ws.10).aspx.
Смотрел по событию онлайн дефрагментации
6. Убедиться, что объекты захоронения исчезли в Deleted Objects.
7. Установить нормальное время на КД.
8. Включить второй КД
После того, как второй КД включился, никаких изменений в репликации не было замечено, репликация между контроллерами домена проходила без ошибок. Такая ситуация длилась до момента, когда я изменил свойства одного из объектов (user01) на вновь включенном КД. Результат команды repadmin
Для того, чтобы обнаружить устаревшие объекты можно запустить следующую команду:
“repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode”
ServeName — КД на котором существуют устаревшие объекты (DC02)
ServerGUID — GUID КД с которым будет сравниваться партиции (в моем случае это DC01 )
DirectoryPartiotion — GUID партиции в которой были обнаружены устаревшие объекты.
Результат выполнения команды можно посмотреть в журнале событий. Данное сообщение показывает об общем количестве устаревших объектов на DC02.
Далее идут более подробные сведения об объектахДля того, чтобы удалить устаревшие объекты — необходимо выполнить следующую команду:
Результат удаления устаревших объектов:
Ссылки:
https://blogs.technet.com/b/ad/archive/2009/03/24/taking-out-the-trash.aspx
http://technet.microsoft.com/ru-ru/library/dd723692(v=ws.10).aspx