Introduzione del primo DC 2008 R2......replica bloccata per le 12 ore successive all'esecuzione del ADPREP /forestprep

L'esecuzione di ADPREP /forestprep o l'introduzione di un DC 2008 R2 può generare oggetti cosiddetti "persistenti" (lingering objects) direttamente dagli oggetti Tombstoned.

A seguito del fatto che ogni DC nella foresta come impostazione predefinita ha abilitata la "consistenza della replica forzata" (solo in foresta nata con Windows 2003 o Windows 2008), l'introduzione di questi oggetti potrebbe causare il blocco della replica. In una foresta aggiornata da Windows 2000 la replica forzata, per impostazione predefinita, è disabilitata.

Questo può accadere in quanto l'estensione dello schema inserisce nuovi attributi alle classi degli oggetti presenti nelle partizioni scrivibili e non scrivibili e nel contenitore DeletedObjects. I Domain Controller 2008 R2 possono inserire dei valori in questi nuovi attributi. Tutti gli oggetti esistenti, sia quelli Live che quelli Tombstoned sono soggetti alla modifica in ogni copia locale del database di Active Directory. I Domain Controller che presentano oggetti Tombstoned possono scatenare una richiesta di replica di quest'ultimi per il fatto che presentano questi nuovi attributi o nuovi valori. Questo introdurrebbe un problema relativo al Domain Controller che potrebbe innescare una replica degli oggetti Tombstoned già processati dalla Garbage Collection che considererebbe come oggetti persistenti (lingering objects). I Domain Controller che non contengono tali oggetti presenteranno l'evento EventID 1988 e bloccheranno la replica con il Domain Controller dove tali attributi sono stati modificati la prima volta. 

La Garbage Collection è un processo che permette di liberare spazio all'interno del database di Active Directory. In Windows 2000, 2003 e 2008 tale processo viene eseguito su ogni DC del dominio ogni 12 ore. E' possibile modificare tale intervallo tramite l'attributo garbageCollPeriod del seguente oggetto in Active Directory:

  CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=CONTOSO,DC=COM

Quando un oggetto viene eliminato da Active Directory esso non viene effettivamente rimosso dal database ma subisce le seguenti azioni:

- gli viene cambiato il Distinguished Name (solo questo processo può impostare questo DN "contraffatto")

- gli vengono rimossi tutti gli attributi che non sono necessari ad Active Directory. Alcuni attributi speciali vengono mantenuti nel Tombstone quali objectGuid, objectSid, distinguishedName, nTSecurityDescriptor, e UsnChanged.

- viene spostato nel contenitore Oggetti Cancellati (Deleted Objects container), che è una speciale cartella nascosta presente nella partizione di dominio in ogni partizione). 

- viene impostato l'attributo isDeleted=1 (nel caso di cestino abilitato l'attributo è isRecycled=1)

 

Di seguito un semplice diagramma che rappresenta il ciclo di vita di un oggetto in Windows 2003, 2008, 2008 R2 con il cestino di Active Directory DISABILITATO:   

L'oggetto Tombstoned viene mantenuto per un periodo di tempo detto Tombstone Lifetime, che può variare a seconda del livello funzionale della foresta. In una foresta dove il primo Domain Controller viene installato su un server Windows 2000 Server, Windows Server 2003 RTM o Windows Server 2003 R2, il TSL (Tombstone Lifetime) non è definito ed utilizza un valore preimpostato di 60 giorni, mentre in un foresta dove il primo Domain Controller viene installato su Windows Server 2003 SP1 o superiori il valore è preimpostato a 180 giorni.

 

Per rimediare a tale problematica, prima di aggiornare lo schema di Active Directory con ADPREP /forestprep o di aggiungere un Domain Controller 2008 R2, procedere con uno dei seguenti metodi:

Metodo 1

Utilizzare il seguente comando per forzare la Garbage Collection su tutti i Domain Controller almeno 12 ore prima di eseguire ADPREP

Repadmin /setattr * “” doGarbageCollection add "1"

Nota: questo comando deve essere eseguito da Windows 7 o da Windows Server 2008 R2 con RSAT.

 

Metodo 2
Eseguire 

LDIFDE /s <server> /i /f dogarbage.ldif

dove dogarbage.ldif presenta le seguenti righe:

dn:
changetype: modify
replace: DoGarbageCollection
dogarbagecollection: 1
-

Nota: Il segno "-" è richiesto come elemento del file .ldif.

Metodo 3

prima di eseguire adprep /forestprep, disabilitare temporaneamente la Strict Replication Consistency:

Dal registro modificare la seguente voce:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Strict Replication Consistency

I valori possibili sono:
• Valore: 1 (0 per disabilitare)
• Default: 1 (abilitata) su un nuova foresta Windows Server 2003; altrimenti impostato a 0.
• Data type: REG_DWORD

comando Repadmin:

repadmin /regkey DC_LIST -strict (per la lista dei DC)
repadmin /regkey * -strict (Per tutti i DC nel dominio)

Per abilitare nuovamente la strict replication:

repadmin /regkey DC_LIST +strict (per la lista dei DC)
repadmin /regkey * +strict  (Per tutti i DC nel dominio)

 

 

2005074 Event ID 1988 Logged in Directory Service Log after Schema Update: http://support.microsoft.com/default.aspx?scid=kb;en-US;2005074

910205 Information about lingering objects in a Windows Server Active Directory forest: http://support.microsoft.com/default.aspx?scid=kb;EN-US;910205

2002034 Deploying the 1st Windows Server 2008 R2 DC in an existing forest may temporarily halt AD replication to strict mode destination DCs for up to 12 hours: http://support.microsoft.com/kb/2002034 

Modifying the tombstone lifetime and deleted object lifetime: http://technet.microsoft.com/en-us/library/dd392260(WS.10).aspx

Enable Recycle Bin in 2008 R2:

Enable-ADOptionalFeature –Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, DC=contoso,DC=com’ –Scope ForestOrConfigurationSet –Target ‘contoso.com’

 

 

Ciao

Al prossimmo post ;-)