Active Directory 데이터베이스 가비지 수집 프로세스 및 허용되는 간격 계산

이 문서에서는 Active Directory 데이터베이스 가비지 수집 프로세스 및 허용되는 간격 계산에 대해 설명합니다.

적용 대상: Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
원래 KB 번호: 198793

요약

Active Directory 데이터베이스는 엔터프라이즈의 각 도메인 컨트롤러에서 독립적으로 실행되는 가비지 수집 프로세스를 통합합니다.

추가 정보

가비지 수집은 Active Directory 데이터베이스 내에서 공간을 확보하도록 설계된 하우스키핑 프로세스입니다. 이 프로세스는 기본 수명 간격이 12시간인 엔터프라이즈의 모든 도메인 컨트롤러에서 실행됩니다. NTDS(엔터프라이즈 전체 DS 구성 개체)에서 garbageCollPeriod 특성을 수정하여 이 간격을 변경할 수 있습니다.

도메인에 있는 Contoso.com 개체의 경로는 다음과 유사합니다.
CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=CONTOSO,DC=COM

Active Directory 편집 도구를 사용하여 garbageCollPeriod 특성을 설정합니다. 지원되는 도구에는 Adsiedit.msc, Ldp.exe 및 ADSI(Active Directory 서비스 인터페이스) 스크립트가 포함됩니다.

개체가 삭제되면 Active Directory 데이터베이스에서 제거되지 않습니다. 대신 개체는 나중에 삭제할 것으로 표시됩니다. 그러면 이 표시가 다른 도메인 컨트롤러에 복제됩니다. 따라서 가비지 수집 프로세스는 데이터베이스에서 이전에 삭제된 개체의 유해를 제거하여 시작합니다. 이러한 개체를 삭제 표시라고 합니다. 다음으로, 가비지 수집 프로세스는 불필요한 로그 파일을 삭제합니다. 마지막으로 프로세스는 조각 모음 스레드를 시작하여 추가 사용 가능한 공간을 요청합니다.

또한 Active Directory 데이터베이스를 조각 모음하는 두 가지 방법이 있습니다. 한 가지 방법은 가비지 수집 프로세스의 일부로 실행되는 온라인 조각 모음 작업입니다. 이 메서드의 장점은 작업을 실행하기 위해 서버를 오프라인으로 전환할 필요가 없다는 것입니다. 그러나 이 메서드는 Active Directory 데이터베이스 파일(Ntds.dit)의 크기를 줄이지 않습니다. 다른 메서드는 서버를 오프라인으로 전환하고 Ntdsutil.exe 유틸리티를 사용하여 데이터베이스를 조각 모음합니다. 이 방법을 사용하려면 데이터베이스를 복구 모드로 시작해야 합니다. 이 방법의 장점은 데이터베이스의 크기가 조정되고 사용되지 않는 공간이 제거된다는 것입니다. 따라서 Ntds.dit 파일의 크기가 줄어듭니다. 이 방법을 사용하려면 도메인 컨트롤러를 오프라인으로 전환해야 합니다.

garbageCollPeriod에 대한 제한:
최소값은 1이고 최대값은 1주일 동안 168입니다. 값의 기본값은 12시간입니다.

삭제 표시 수명 최소값:
삭제 표시 수명에 대한 최소값은 KCC 실행 계산 유지를 위해 2일입니다.

AD 데이터베이스 계층은 추가 메트릭을 적용합니다. TSL 일수는 가비지 수집기 간격의 3배보다 작아서는 안 됩니다. 기본값인 12시간을 기준으로 TSL은 최소 2일입니다. GC 간격이 20시간인 경우 TSL 최소값은 3일입니다(60시간보다 커야 합니다). GC 간격이 25시간인 경우 3일(75시간 포함)을 초과하고 TSL 최소값은 4일입니다.

DB 계층과 KCC가 모두 수행하는 검사를 사용하는 캐치는 TSL이 허용된 최소값보다 낮으면 최소값인 2일 이상으로 되돌리기 않고 기본값인 60일 또는 180일로 되돌리기 것입니다.

중요

불일치로 인해 TSL이 기본값으로 수정되는 경우 가비지 수집 간격의 값도 기본값인 12시간으로 설정됩니다.

삭제 표시 수명 기본값

기록

Windows Server 2003의 기본 TSL(삭제 표시 수명)은 60일이며 너무 짧은 것으로 입증되었습니다. 예를 들어 사전 준비된 도메인 컨트롤러는 60일 이상 전송 중일 수 있습니다. 관리자는 복제 실패를 resolve 또는 TSL을 초과할 때까지 오프라인 도메인 컨트롤러를 작동할 수 없습니다. Windows Server 2003 SP1(서비스 팩 1)은 다음 시나리오에서 TSL을 60일에서 180일로 증가했습니다.

  • Windows NT 4.0 도메인 컨트롤러는 Windows Server 2003 SP1 설치 미디어를 사용하여 새 포리스트를 만들어 Windows Server 2003으로 업그레이드됩니다.
  • Windows Server 2003 SP1 컴퓨터는 새 포리스트를 만듭니다.

다음 조건 중 하나가 true인 경우 Windows Server 2003 SP1은 TSL 값을 수정하지 않습니다.

  • Windows Server 2003용 설치 미디어를 SP1과 함께 사용하여 Windows 2000 도메인을 Windows Server 2003으로 업그레이드합니다.
  • Windows Server 2003 SP1은 Windows Server 2003의 원래 릴리스 버전을 실행하는 도메인 컨트롤러에 설치됩니다.

도메인의 TSL을 180일로 늘리면 다음과 같은 이점이 있습니다.

  • 데이터 복구 시나리오에서 사용되는 백업의 수명은 더 길어집니다.
  • 미디어 프로모션에서 설치하는 데 사용되는 시스템 상태 백업의 수명은 더 길어집니다.
  • 도메인 컨트롤러는 오프라인 상태가 더 길 수 있습니다. 사전 준비된 컴퓨터는 TSL 만료에 덜 자주 접근합니다.
  • 도메인 컨트롤러는 더 긴 오프라인 시간 후에 도메인으로 성공적으로 돌아갈 수 있습니다.
  • 삭제된 개체에 대한 지식은 원래 도메인 컨트롤러에서 더 오래 유지됩니다.

포리스트의 기본 설정은 포리스트의 '출생'에 있는 OS와 위에서와 같이 업그레이드 방법에 따라 달라집니다.

포리스트에서 사용되는 TSL 값에 대해 잘 모르는 경우 명시적으로 설정하고 필요에 따라 msDS-deletedObjectLifetime도 설정하는 것이 좋습니다.
참조: AD 휴지통: 이해, 구현, 모범 사례 및 문제 해결