Arquivo

Posts Tagged ‘Active Directory’

Problema de Replicação entre dominios – Lingering Objects

Problema
==========================

– Problemas de replicação, um dos DCs da floresta estava apresentando problemas de replicação. Vários eventos relatando Lingering Objects.

– O Servidor DC02.subdomain.Contoso.com não estava conseguindo replicar com nenhum outro DC da Floresta.

– Ao Rodar o comando REPADMIN /SHOWREPS recebemos a mensagem:

Last error: 8606 (0x219e):
Insufficient attributes were given to create an object.  This object may not exist because it may have been deleted and already garbage collected.

Nos DCs que ele estava tentando se replicar, estavamos recebendo o evento abaixo:

  Event
Type: Error

  Event Source: NTDS Replication

  Event Category: Replication

  Event ID: 1988

  Date:
5/9/2011

  Time:
9:02:46 AM

  User:
NT AUTHORITY\ANONYMOUS LOGON

  Computer: ARMG33

  Description:

  Active Directory Replication encountered the
existence of objects in the following partition that have been deleted from the
local domain controllers (DCs) Active Directory database.  Not all direct or transitive replication
partners replicated in the deletion before the tombstone lifetime number of
days passed.  Objects that have been
deleted and garbage collected from an Active Directory partition but still
exist in the writable partitions of other DCs in the same domain, or read-only
partitions of global catalog servers in other domains in the forest are known
as “lingering objects”.

      This event is being logged because the
source DC contains a lingering object which does not exist on the local DCs
Active Directory database.  This
replication attempt has been blocked.

      The best solution to this problem is to
identify and remove all lingering objects in the forest.

  

  Source DC (Transport-specific network
address):

  0f6b1a87-a727-4962-a8a6-ecdfe8a60bb6._msdcs.contoso.com

  Object:


CN=testeADEL:xxxxxxx-50fb-480c-890c-xxxxxxxxxx,CN=Deleted
Objects,DC=subdominio,DC=contoso,DC=com

  Object
GUID:  1ba4696a-50fb-480c-890c-xxxxxxxxxx

     User Action:

     Remove Lingering Objects:

      The action plan to recover from this
error can be found at http://support.microsoft.com/?id=314282.

      If both the source and destination DCs
are Windows Server 2003 DCs, then install the support tools included on the
installation CD.  To see which objects
would be deleted without actually performing the deletion run “repadmin
/removelingeringobjects
/ADVISORY_MODE”. The eventlogs on the source DC will enumerate
all lingering objects.  To remove
lingering objects from a source domain controller run “repadmin
/removelingeringobjects
<NC>”.

      If either source or destination DC is a
Windows 2000 Server DC, then more information on how to remove lingering
objects on the source DC can be found at
http://support.microsoft.com/?id=314282 or from your Microsoft support personnel.

      If you need Active Directory replication
to function immediately at all costs and don’t have time to remove lingering
objects, enable loose replication consistency by unsetting the following
registry key:

     Registry Key:

  HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Strict
Replication Consistency

      Replication errors between DCs sharing a
common partition can prevent user and compter acounts, trust relationships,
their passwords, security groups, security group memberships and other Active
Directory configuration data to vary between DCs, affecting the ability to log
on, find objects of interest and perform other critical operations. These
inconsistencies are resolved once replication errors are resolved.  DCs that fail to inbound replicate deleted
objects within tombstone lifetime number of days will remain inconsistent until
lingering objects are manually removed by an administrator from each local DC.

      Lingering objects may be
prevented by ensuring that all domain controllers in the forest are running
Active Directory, are connected by a spanning tree connection topology and
perform inbound replication before Tombstone Live number of days pass.

Ambiente
==========================

– DC01.Contoso.com (Global Catalog)

– DC02.subdomain.Contoso.com

– O dominio subdomain.contoso.com tem somente o Domain Controller DC02

Resolução:
==========================

– Resumidamente, Lingering Objects são objetos que existem em um DC mas não existem em outros. Esses objetos podem existir em qualquer partição, menos no schema. Esses objetos ocorrem quando um objeto é deletado de um DC e essa informação não é replicada para outro DC.

– Para iniciar o Troubleshooting precisavamos encontrar qual era o servidor que estava com problemas. Para isso, pegamos o Source DC apresentado no evento acima e rodamos o comando:

PING 0f6b1a87-a727-4962-a8a6-ecdfe8a60bb6._msdcs.contoso.com

O servidor que respondeu foi o dc02.subdominio.com. Com isso sabemos qual é o servidor que está com esses lingering Objects.

– Seguimos o artigo http://technet.microsoft.com/en-us/library/cc780362(WS.10).aspx para fazer a remoção de Lingering Objects. Esse é um procedimento comum e ocorre com muita frequencia.

——-

Ao rodar o comando:

repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory_mode

onde:

ServerName = Servidor que tem os Lingering Objects. No nosso caso DC02.subdomain.contoso.com

ServerGUID = GUID de um DC saudavel com uma copia da Partição onde se encontra os Lingering objects com permissão de escrita. No nosso caso, nós não tinhamos um segundo DC no dominio subdominio.contoso.com. Então tentei rodar o comando utilizando o GUID do servidor DC01.contoso.com que tem uma cópia de leitura da partição subdomain.contoso.com

DirectoryPartition = Partição com o Lingering Object

———–

O comando ficou assim: repadmin /removelingeringobjects DC02.subdomain.contoso.com
1e70340f-6287-491b-8026-0fd38b3c4136 DC=subdomain,DC=contoso,DC=com /advisory_mode

Recebemos a mensagem:

DsReplicaVerifyObjectsW() failed with status 8440 (0x20f8):    The naming context specified for this
replication operation is invalid.

———–

Isso ocorre pois o DC01.contoso.com não tem uma copia com permissão de escrita (writable) da partição DC=subdomain,DC=contoso,DC=com. Ele é um Global Catalog, com isso ele hospeda uma copia somente leitura de todas as partições da floresta incluindo a partição do dominio filho DC=subdomain,DC=contoso,DC=com

Como o único Domain Controller do dominio subdomain.contoso.com é o servidor DC02.subdomain.contoso.com não é possivel rodar o comando repadmin
/removelingeringobjects pois não há nenhum outro DC com uma copia de escrita dessa partição.

O DC02.subdomain.contoso.com é o único DC da floresta que tem uma copia da partição DC=subdomain,DC=contoso,DC=com
com permissão de escrita. Como esse DC02 estava saudavel e funcionando normalmente podemos considera-lo como tendo a versão válida da partição DC=subdomain,DC=contoso,DC=com

—–

Para resolver esse problema precisamos recriar a partição DC=subdomain,DC=contoso,DC=com no DC01.Contoso.com

—–

Uma das opções para resolver esse problema é desmarcar a opção de GC e marca-la novamente no servidor DC01.Contoso.com. Se na floresta só existir um subdominio esse processo não tem tanto impacto, mas nesse caso existiam 27 subdominio um em cada site / cidade. Com isso o DC01.Contoso.com hospedava uma copia de leitura de 27 partições.

Realizando esse procedimento de remover a flag de GC e adiciona-la novamente, iria gerar um enorme trafego de rede pois o DC01.Contoso.com iria ter que contatar todos os dominios filhos e fazer a transferencia de todas as partições novamente.

—–

Para eliminar esse problema, utilizamos o comando REPADMIN /REHOST. Esse comando deleta somente uma partição especifica e contata o DC que tem uma cópia de escrita para recuperar essa partição.

A sintaxe desse comando é: REPADMIN /REHOST

Mais informações sobre o commando Repadmin /rehost http://technet.microsoft.com/en-us/library/cc811549(WS.10).aspx

No nosso caso rodamos o comando REPADMIN /REHOST DC01.contoso.com DC=subdominio,DC=dominio,dc=com
DC02.subdominio.contoso.com para refazer a partição DC=subdominio,DC=dominio,dc=com no servidor DC01.contoso.com tendo como referencia o DC02.subdominio.contoso.com.

Rodar esse comando para todos os GCs que estão com problema de replicação para esse servidor especifico e apresentando os eventos de Lingering Objects.

——-

Artigos Relacionados
=======================================

Clean that Active Directory forest of lingering objects

http://blogs.technet.com/b/glennl/archive/2007/07/26/clean-that-active-directory-forest-of-lingering-objects.aspx

http://blogs.technet.com/b/glennl/archive/2007/10/04/so-you-want-to-clean-up-your-forest-of-lingering-objects-before-you-set-your-forest-to-strict-but-you-have-windows-2000-dcs-in-the-forest.aspx

————————————————————————————————–

Renato Marson Pagan

Anúncios