Processo di Garbage Collection del database Active Directory e calcolo degli intervalli consentiti

Questo articolo descrive il processo di Garbage Collection del database active directory e il calcolo degli intervalli consentiti.

Si applica a: Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
Numero KB originale: 198793

Riepilogo

Il database di Active Directory incorpora un processo di Garbage Collection che viene eseguito in modo indipendente in ogni controller di dominio nell'organizzazione.

Ulteriori informazioni

Garbage Collection è un processo di pulizia progettato per liberare spazio all'interno del database di Active Directory. Questo processo viene eseguito in ogni controller di dominio dell'organizzazione con un intervallo di durata predefinito di 12 ore. È possibile modificare questo intervallo modificando l'attributo garbageCollPeriod nell'oggetto configurazione DS a livello aziendale (NTDS).

Il percorso dell'oggetto nel Contoso.com dominio sarà simile al seguente:
CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=CONTOSO,DC=COM

Usare uno strumento di modifica di Active Directory per impostare l'attributo garbageCollPeriod. Gli strumenti supportati includono gli script Adsiedit.msc, Ldp.exe e Active Directory Service Interfaces (ADSI).

Quando un oggetto viene eliminato, non viene rimosso dal database di Active Directory. L'oggetto viene invece contrassegnato per l'eliminazione in un secondo momento. Questo contrassegno viene quindi replicato in altri controller di dominio. Di conseguenza, il processo di Garbage Collection inizia rimuovendo i resti degli oggetti eliminati in precedenza dal database. Questi oggetti sono noti come lapidi. Successivamente, il processo di Garbage Collection elimina i file di log non necessari. Infine, il processo avvia un thread di deframmentazione per richiedere spazio disponibile aggiuntivo.

Sono inoltre disponibili due metodi per deframmentare il database di Active Directory. Un metodo è un'operazione di deframmentazione online eseguita come parte del processo di Garbage Collection. Il vantaggio di questo metodo è che il server non deve essere portato offline per l'esecuzione dell'operazione. Tuttavia, questo metodo non riduce le dimensioni del file di database di Active Directory (Ntds.dit). L'altro metodo porta il server offline e deframmenta il database usando l'utilità Ntdsutil.exe. Questo approccio richiede che il database venga avviato in modalità di ripristino. Il vantaggio di questo metodo è che il database viene ridimensionato e lo spazio inutilizzato viene rimosso. Di conseguenza, le dimensioni del file Ntds.dit vengono ridotte. Per usare questo metodo, il controller di dominio deve essere portato offline.

Limiti per garbageCollPeriod:
Il valore minimo è 1 e il massimo è 168 per una settimana. Il valore predefinito per il valore è 12 ore.

Minimo per la durata di rimozione definitiva:
La durata minima per La rimozione definitiva è di 2 giorni ai fini della permanenza KCC del calcolo dell'esecuzione.

Il livello del database di Active Directory applica una metrica aggiuntiva. I giorni TSL non devono essere inferiori a tre volte l'intervallo di Garbage Collector. In base al valore predefinito di 12 ore, TSL è un minimo di 2 giorni. Se l'intervallo GC è di 20 ore, il valore minimo TSL è 3 giorni (deve essere maggiore di 60 ore). Se l'intervallo GC è di 25 ore, si superano i tre giorni (con 75 ore) e il valore minimo TSL è 4 giorni.

Il catch con i controlli eseguiti sia dal livello DB che dal KCC è che se TSL è inferiore al minimo consentito, non ripristina il valore minimo di 2 o più giorni, ma il valore predefinito è 60 o 180 giorni.

Importante

Nel caso in cui TSL venga corretto come predefinito a causa di una mancata corrispondenza, anche il valore per l'intervallo di Garbage Collection viene impostato sul valore predefinito di 12 ore.

Valori predefiniti per la durata della rimozione definitiva

Cronologia

La durata di rimozione definitiva predefinita (TSL) in Windows Server 2003 era di 60 giorni e si è dimostrato troppo breve. Ad esempio, un controller di dominio pre-installato può essere in transito per più di 60 giorni. Un amministratore potrebbe non risolvere un errore di replica o attivare un controller di dominio offline fino a quando non viene superato il TSL. Windows Server 2003 Service Pack 1 (SP1) ha aumentato il TSL da 60 a 180 giorni negli scenari seguenti:

  • Un controller di dominio Windows NT 4.0 viene aggiornato a Windows Server 2003 usando il supporto di installazione di Windows Server 2003 SP1 per creare una nuova foresta.
  • Un computer Windows Server 2003 SP1 crea una nuova foresta.

Windows Server 2003 SP1 non modifica il valore di TSL quando si verifica una delle condizioni seguenti:

  • Un dominio Windows 2000 viene aggiornato a Windows Server 2003 usando i supporti di installazione per Windows Server 2003 con SP1.
  • Windows Server 2003 SP1 viene installato in un controller di dominio che esegue la versione originale di Windows Server 2003.

L'aumento di TSL per un dominio a 180 giorni presenta i vantaggi seguenti:

  • I backup usati negli scenari di ripristino dei dati hanno una durata utile più lunga.
  • I backup dello stato del sistema usati per l'installazione da promozioni multimediali hanno una vita utile più lunga.
  • I controller di dominio possono essere offline più a lungo. I computer pre-installati si avvicinano alla scadenza TSL meno frequentemente.
  • Un controller di dominio può tornare al dominio dopo un periodo di tempo più lungo offline.
  • La conoscenza degli oggetti eliminati viene mantenuta più a lungo nel controller di dominio di origine.

L'impostazione predefinita nella foresta dipenderà dal sistema operativo alla "nascita" della foresta e dai metodi di aggiornamento indicati in precedenza.

Se non si è certi del valore di TSL usato nella foresta, è consigliabile impostarlo in modo esplicito e anche msDS-deletedObjectLifetime in base alle esigenze.
Riferimento: Cestino di ACTIVE Directory: informazioni, implementazione, procedure consigliate e risoluzione dei problemi