Windows Server 도메인 컨트롤러는 USN 롤백이 발생할 때 Directory Services 이벤트 2095를 기록합니다.

이 문서에서는 운영 체제의 이미지 기반 설치를 사용하여 Windows Server 도메인 컨트롤러가 잘못 롤백되었는지 검색하고 복구하는 방법을 설명합니다.

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

참고

이 문서는 기술 지원 에이전트 및 IT 전문가만을 위한 것입니다. 문제에 대한 도움을 찾고 있는 경우 Microsoft 커뮤니티에 문의하세요.

요약

이 문서에서는 USN(업데이트 시퀀스 번호) 롤백으로 인한 자동 Active Directory 복제 실패에 대해 설명합니다. USN 롤백은 이전 버전의 Active Directory 데이터베이스가 잘못 복원되거나 붙여넣을 때 발생합니다.

USN 롤백이 발생하면 한 도메인 컨트롤러에서 발생하는 개체 및 특성을 수정해도 포리스트의 다른 도메인 컨트롤러에 복제되지 않습니다. 복제 파트너는 Active Directory 데이터베이스의 최신 복사본이 있다고 믿기 때문에 Repadmin.exe 같은 모니터링 및 문제 해결 도구는 복제 오류를 보고하지 않습니다.

도메인 컨트롤러는 USN 롤백을 검색할 때 Directory Services 이벤트 로그에 Directory Services 이벤트 2095를 기록합니다. 이벤트 메시지의 텍스트는 관리자에게 복구 옵션에 대해 알아보도록 이 문서로 안내합니다.

이벤트 2095 로그 항목의 예

Log Name:      <Service name> Service  
Source:        Microsoft-Windows-ActiveDirectory_DomainService  
Date:          <DateTime>
Event ID:      2095  
Task Category: Replication  
Level:         Error  
Keywords:      Classic  
User:          <USER NAME>  
Computer:      SERVER.contoso.com  
Description:

During an Active Directory Domain Services replication request, the local domain controller (DC) identified a remote DC which has received replication data from the local DC using already-acknowledged USN tracking numbers.

Because the remote DC believes it is has a more up-to-date Active Directory Domain Services database than the local DC, the remote DC will not apply future changes to its copy of the Active Directory Domain Services database or replicate them to its direct and transitive replication partners that originate from this local DC.

If not resolved immediately, this scenario will result in inconsistencies in the Active Directory Domain Services databases of this source DC and one or more direct and transitive replication partners. Specifically the consistency of users, computers and trust relationships, their passwords, security groups, security group memberships and other Active Directory Domain Services configuration data may vary, affecting the ability to log on, find objects of interest and perform other critical operations.

To determine if this misconfiguration exists, query this event ID using http://support.microsoft.com or contact your Microsoft product support.

The most probable cause of this situation is the improper restore of Active Directory Domain Services on the local domain controller.

User Actions:

If this situation occurred because of an improper or unintended restore, forcibly demote the DC.

다음 topics Windows Server 기반 도메인 컨트롤러에서 USN 롤백을 검색하고 복구하는 방법을 설명합니다.

Windows Server 2012 이상 버전을 실행하는 도메인 컨트롤러에서 Active Directory를 백업하는 지원되는 방법

Windows Server 2012 GenID(Hyper-Visor 생성 ID)에 대한 지원을 추가합니다. 이렇게 하면 가상 게스트가 새 ID가 있는 디스크 볼륨을 검색하고 새 GenID에 응답할 수 있습니다. Active Directory에서 Directory Services는 도메인 컨트롤러가 백업에서 복원된 것처럼 반응합니다. 그런 다음 새 호출 ID를 생성합니다. 새 호출 ID를 사용하면 데이터베이스 instance 포리스트에 복제를 안전하게 다시 입력할 수 있습니다.

가상 화된 도메인 컨트롤러 배포 및 구성에서 다루는 시나리오 중 하나입니다.

Windows Server 2003 이상 버전의 Windows Server를 실행하는 도메인 컨트롤러에서 Active Directory를 백업하는 지원되는 방법

도메인 컨트롤러의 수명 주기 동안 Active Directory 데이터베이스의 콘텐츠를 알려진 적절한 시점으로 복원하거나 "롤백"해야 할 수 있습니다. 또는 Active Directory를 비롯한 도메인 컨트롤러의 호스트 운영 체제 요소를 알려진 좋은 지점으로 롤백해야 할 수 있습니다.

다음은 Active Directory의 콘텐츠를 롤백하는 데 사용할 수 있는 지원되는 메서드입니다.

  • Microsoft 제공 및 Microsoft에서 테스트한 API를 사용하는 Active Directory 인식 백업 및 복원 유틸리티를 사용합니다. 이러한 API는 신뢰할 수 없거나 신뢰할 수 있는 시스템 상태 백업을 복원합니다. 복원되는 백업은 동일한 운영 체제 설치 및 복원 중인 동일한 물리적 또는 가상 컴퓨터에서 시작되어야 합니다.

  • Microsoft 볼륨 섀도 복사본 서비스 API를 사용하는 Active Directory 인식 백업 및 복원 유틸리티를 사용합니다. 이러한 API는 도메인 컨트롤러 시스템 상태를 백업하고 복원합니다. 볼륨 섀도 복사본 서비스는 Windows Server 2003, Windows Server 2008 또는 Windows Server 2008 R2를 실행하는 컴퓨터에서 단일 또는 여러 볼륨의 단일 지정 시간 섀도 복사본을 만들 수 있도록 지원합니다. 단일 지정 시간 섀도 복사본을 스냅샷이라고도 합니다. 자세한 내용은 Microsoft 지원 "볼륨 섀도 복사본 서비스"를 검색합니다.

  • 시스템 상태를 복원합니다. 이 도메인 컨트롤러에 대해 유효한 시스템 상태 백업이 있는지 여부를 평가합니다. 롤백된 도메인 컨트롤러가 잘못 복원되기 전에 유효한 시스템 상태 백업이 수행되고 백업에 도메인 컨트롤러에서 수행된 최근 변경 내용이 포함된 경우 최신 백업에서 시스템 상태를 복원합니다.

Active Directory 인식 시스템 상태 백업을 복원할 때 발생하는 일반적인 동작

Windows Server 도메인 컨트롤러는 호출 ID와 함께 USN을 사용하여 Active Directory 포리스트의 복제 파트너 간에 복제해야 하는 업데이트를 추적합니다.

원본 도메인 컨트롤러는 USN을 사용하여 변경 내용을 요청하는 대상 도메인 컨트롤러에서 이미 받은 변경 내용을 확인합니다. 대상 도메인 컨트롤러는 USN을 사용하여 원본 도메인 컨트롤러에서 요청해야 하는 변경 내용을 결정합니다.

호출 ID는 지정된 도메인 컨트롤러에서 실행되는 Active Directory 데이터베이스의 버전 또는 인스턴스화를 식별합니다.

Microsoft가 설계하고 테스트한 API 및 메서드를 사용하여 도메인 컨트롤러에서 Active Directory를 복원하면 복원된 도메인 컨트롤러에서 호출 ID가 올바르게 다시 설정됩니다. 포리스트의 도메인 컨트롤러는 호출 재설정 알림을 받습니다. 따라서 이에 따라 높은 워터마크 값을 조정합니다.

USN 롤백을 유발하는 소프트웨어 및 방법론

다음 환경, 프로그램 또는 하위 시스템을 사용하는 경우 관리자는 도메인 컨트롤러 시스템 상태가 복원될 때 Microsoft가 수행하도록 디자인한 검사 및 유효성 검사를 무시할 수 있습니다.

  • Norton Ghost와 같은 이미징 프로그램을 사용하여 Active Directory 데이터베이스 파일이 복원(복사)된 Active Directory 도메인 컨트롤러를 시작합니다.

  • 도메인 컨트롤러의 이전에 저장된 가상 하드 디스크 이미지를 시작합니다. 다음 시나리오에서는 USN 롤백이 발생할 수 있습니다.

    1. 가상 호스팅 환경에서 도메인 컨트롤러를 승격합니다.
    2. 가상 호스팅 환경의 스냅샷 또는 대체 버전을 만듭니다.
    3. 도메인 컨트롤러가 인바운드 복제 및 아웃바운드 복제를 계속하도록 합니다.
    4. 2단계에서 만든 도메인 컨트롤러 이미지 파일을 시작합니다.
  • 이 시나리오를 유발하는 가상화된 호스팅 환경의 예로는 Microsoft Virtual PC 2004, Microsoft Virtual Server 2005 및 EMC VMWARE가 있습니다. 다른 가상화된 호스팅 환경으로 인해 이 시나리오가 발생할 수도 있습니다.

  • 가상 호스팅 환경에서 도메인 컨트롤러에 대한 지원 조건에 대한 자세한 내용은 가상 호스팅 환경에서 Active Directory 도메인 컨트롤러를 호스트할 때 고려해야 할 사항을 참조하세요.

  • Active Directory의 시스템 상태 복원 없이 이전에 저장된 운영 체제 이미지를 사용하여 디스크 하위 시스템이 로드되는 볼륨에 있는 Active Directory 도메인 컨트롤러를 시작합니다.

    • 시나리오 A: 여러 버전의 볼륨을 저장하는 디스크 하위 시스템에 있는 Active Directory의 여러 복사본 시작

      1. 도메인 컨트롤러를 승격합니다. Ntds.dit 파일을 호스트하는 볼륨의 여러 버전을 저장할 수 있는 디스크 하위 시스템의 Ntds.dit 파일을 찾습니다.
      2. 디스크 하위 시스템을 사용하여 도메인 컨트롤러에 대한 Ntds.dit 파일을 호스트하는 볼륨의 스냅샷 만듭니다.
      3. 도메인 컨트롤러가 1단계에서 만든 볼륨에서 Active Directory를 로드하도록 계속합니다.
      4. Active Directory 데이터베이스가 2단계에서 저장한 도메인 컨트롤러를 시작합니다.
    • 시나리오 B: 손상된 미러 다른 드라이브에서 Active Directory 시작

      1. 도메인 컨트롤러를 승격합니다. 미러된 드라이브에서 Ntds.dit 파일을 찾습니다.
      2. 미러 끊습니다.
      3. 미러 첫 번째 드라이브에서 Ntds.dit 파일을 사용하여 인바운드 복제 및 아웃바운드 복제를 계속합니다.
      4. 미러 두 번째 드라이브에서 Ntds.dit 파일을 사용하여 도메인 컨트롤러를 시작합니다.

의도하지 않더라도 이러한 각 시나리오는 지원되지 않는 메서드를 통해 도메인 컨트롤러가 이전 버전의 Active Directory 데이터베이스로 롤백되도록 할 수 있습니다. Active Directory 또는 Active Directory 도메인 컨트롤러의 로컬 상태를 롤백하는 유일한 지원 방법은 Active Directory 인식 백업 및 복원 유틸리티를 사용하여 동일한 운영 체제 설치 및 복원 중인 동일한 물리적 또는 가상 컴퓨터에서 시작된 시스템 상태 백업을 복원하는 것입니다.

Microsoft는 Active Directory 도메인 컨트롤러의 시스템 상태 요소 스냅샷 사용하고 해당 시스템 상태의 요소를 운영 체제 이미지에 복사하는 다른 프로세스를 지원하지 않습니다. 관리자가 개입하지 않는 한 이러한 프로세스로 인해 USN 롤백이 발생합니다. 이 USN 롤백은 잘못 복원된 도메인 컨트롤러의 직접 및 전이적 복제 파트너가 Active Directory 데이터베이스에 일관되지 않은 개체를 갖도록 합니다.

USN 롤백의 효과

USN 롤백이 발생하는 경우 개체 및 특성에 대한 수정은 이전에 USN을 본 대상 도메인 컨트롤러에 의해 인바운드 복제되지 않습니다.

이러한 대상 도메인 컨트롤러는 최신 상태라고 생각하므로 디렉터리 서비스 이벤트 로그 또는 모니터링 및 진단 도구에서 복제 오류가 보고되지 않습니다.

USN 롤백은 모든 파티션에 있는 개체 또는 특성의 복제에 영향을 줄 수 있습니다. 가장 자주 관찰되는 부작용은 롤백 도메인 컨트롤러에서 만든 사용자 계정 및 컴퓨터 계정이 하나 이상의 복제 파트너에 존재하지 않는다는 것입니다. 또는 롤백 도메인 컨트롤러에서 시작된 암호 업데이트가 복제 파트너에 존재하지 않습니다.

다음 단계에서는 USN 롤백을 일으킬 수 있는 이벤트 시퀀스를 보여 줍니다. USN 롤백은 지원되지 않는 시스템 상태 복원을 사용하여 도메인 컨트롤러 시스템 상태가 시간에 롤백될 때 발생합니다.

  1. 관리자는 도메인에서 세 개의 도메인 컨트롤러를 승격합니다. (이 예제에서 도메인 컨트롤러는 DC1, DC2 및 DC2이고 도메인은 Contoso.com. DC1 및 DC2는 직접 복제 파트너입니다. DC2 및 DC3도 직접 복제 파트너입니다. DC1 및 DC3은 직접 복제 파트너가 아니지만 DC2를 통해 전이적으로 원래 업데이트를 받습니다.

  2. 관리자는 DC1에서 USN 1~10에 해당하는 10개의 사용자 계정을 만듭니다. 이러한 모든 계정은 DC2 및 DC3에 복제됩니다.

  3. 운영 체제의 디스크 이미지는 DC1에서 캡처됩니다. 이 이미지에는 DC1의 로컬 USN 1~10에 해당하는 개체의 레코드가 있습니다.

  4. Active Directory에서 다음과 같이 변경됩니다.

    • 2단계에서 만든 10개의 사용자 계정 모두에 대한 암호는 DC1에서 다시 설정됩니다. 이러한 암호는 USN 11~20에 해당합니다. 업데이트된 10개의 암호는 모두 DC2 및 DC3에 복제됩니다.
    • DC1에서는 USN 21~30에 해당하는 10개의 새 사용자 계정이 만들어집니다. 이러한 10개의 사용자 계정은 DC2 및 DC3에 복제됩니다.
    • DC1에서 USN 31~40에 해당하는 10개의 새 컴퓨터 계정이 만들어집니다. 이러한 10개의 컴퓨터 계정은 DC2 및 DC3에 복제됩니다.
    • USN 41~50에 해당하는 10개의 새 보안 그룹이 DC1에 만들어집니다. 이러한 10개의 보안 그룹은 DC2 및 DC3에 복제됩니다.
  5. DC1에서 하드웨어 오류 또는 소프트웨어 오류가 발생합니다. 관리자는 디스크 이미징 유틸리티를 사용하여 3단계에서 만든 운영 체제 이미지를 제자리에 복사합니다. 이제 DC1은 USN 1~10에 대한 지식이 있는 Active Directory 데이터베이스로 시작합니다.

    운영 체제 이미지가 제자리에 복사되었고 시스템 상태를 복원하는 지원되는 방법이 사용되지 않았기 때문에 DC1은 데이터베이스의 초기 복사본을 만든 것과 동일한 호출 ID를 계속 사용하고 모든 변경 내용은 USN 50까지 변경됩니다. 또한 DC2 및 DC3은 DC1에 대해 동일한 호출 ID와 DC1의 경우 USN 50의 최신 벡터를 유지 관리합니다. (최신 벡터는 지정된 디렉터리 파티션에 대한 모든 도메인 컨트롤러에서 발생하는 최신 원본 업데이트의 현재 상태.

    관리자가 개입하지 않는 한 DC2 및 DC3은 DC1에서 시작된 로컬 USN 11~50에 해당하는 변경 내용을 인바운드로 복제하지 않습니다. 또한 DC2에서 사용하는 호출 ID에 따라 DC1은 이미 USN 11에서 50에 해당하는 변경 내용에 대해 알고 있습니다. 따라서 DC2는 이러한 변경 내용을 보내지 않습니다. 4단계의 변경 내용이 DC1에 없으므로 로그온 요청이 실패하고 "액세스 거부됨" 오류가 발생합니다. 이 오류는 암호가 일치하지 않거나 최신 계정이 DC1로 임의로 인증할 때 계정이 없기 때문에 발생합니다.

  6. 포리스트에서 복제 상태를 모니터링하는 관리자는 다음과 같은 상황을 확인합니다.

    • 명령줄 도구는 Repadmin /showreps DC1과 DC2 간 및 DC2와 DC3 간의 양방향 Active Directory 복제가 오류 없이 발생한다고 보고합니다. 이 경우 복제 불일치를 감지하기 어렵게 만듭니다.

    • Windows Server를 실행하는 도메인 컨트롤러의 디렉터리 서비스 이벤트 로그에 있는 복제 이벤트는 디렉터리 서비스 이벤트 로그의 복제 실패를 나타내지 않습니다. 이 경우 복제 불일치를 감지하기 어렵게 만듭니다.

    • Active Directory 사용자 및 컴퓨터 또는 Ldp.exe(Active Directory 관리 도구)는 DC2 및 DC3의 도메인 디렉터리 파티션을 DC1의 파티션과 비교할 때 다른 개체 수와 다른 개체 메타데이터를 표시합니다. 차이점은 USN에 매핑되는 변경 내용 집합이 4단계에서 11~50으로 변경된다는 점입니다.

      참고

      이 예제에서는 다른 개체 수가 사용자 계정, 컴퓨터 계정 및 보안 그룹에 적용됩니다. 다른 개체 메타데이터는 다른 사용자 계정 암호를 나타냅니다.

    • 2단계에서 만든 10개의 사용자 계정에 대한 사용자 인증 요청은 때때로 "액세스 거부됨" 또는 "잘못된 암호" 오류를 생성합니다. 이 오류는 DC1의 이러한 사용자 계정과 DC2 및 DC3의 계정 간에 암호 불일치가 있기 때문에 발생할 수 있습니다. 이 문제가 발생하는 사용자 계정은 4단계에서 만든 사용자 계정에 해당합니다. 4단계의 사용자 계정 및 암호 재설정은 도메인의 다른 도메인 컨트롤러에 복제되지 않았습니다.

  7. DC2 및 DC3는 DC1에서 50보다 큰 USN 번호에 해당하는 원래 업데이트를 인바운드 복제하기 시작합니다. 이 복제는 이전에 기록된 최신 벡터 임계값인 USN 50을 초과했기 때문에 관리 개입 없이 정상적으로 진행됩니다. (USN 50은 DC1이 오프라인으로 전환되고 복원되기 전에 DC2 및 DC3에서 DC1에 대해 기록된 최신 벡터 USN이었습니다.) 그러나 지원되지 않는 복원 후 원래 DC1에서 USN 11~50에 해당하는 새 변경 내용은 DC2, DC3 또는 전이적 복제 파트너에 복제되지 않습니다.

6단계에서 언급된 증상은 USN 롤백이 사용자 및 컴퓨터 계정에 미칠 수 있는 영향 중 일부를 나타내지만 USN 롤백은 Active Directory 파티션의 모든 개체 형식이 복제되는 것을 방지할 수 있습니다. 이러한 개체 형식에는 다음이 포함됩니다.

  • Active Directory 복제 토폴로지 및 일정

  • 포리스트에 도메인 컨트롤러의 존재 및 이러한 도메인 컨트롤러가 보유하는 역할

    참고

    이러한 역할에는 전역 카탈로그, RID(상대 식별자) 할당 및 master 역할이 포함됩니다. (작업 master 역할을 유연한 단일 master 작업 또는 FSMO라고도 합니다.)

  • 포리스트에 도메인 및 애플리케이션 파티션이 있는 경우

  • 보안 그룹 및 현재 그룹 멤버 자격의 존재

  • Active Directory 통합 DNS 영역의 DNS 레코드 등록

USN 구멍의 크기는 사용자, 컴퓨터, 트러스트, 암호 및 보안 그룹에 대한 수백, 수천 또는 수만 개의 변경 내용을 나타낼 수 있습니다. (USN 구멍은 복원된 시스템 상태 백업이 수행될 때 존재했던 가장 높은 USN 수와 오프라인으로 전환되기 전에 롤백된 도메인 컨트롤러에서 생성된 원래 변경의 수 간의 차이로 정의됩니다.)

Windows Server 도메인 컨트롤러에서 USN 롤백 검색

USN 롤백을 검색하기 어렵기 때문에 Windows Server 2003 SP1 이상 버전 도메인 컨트롤러는 원본 도메인 컨트롤러가 호출 ID의 해당 변경 없이 이전에 승인한 USN 번호를 대상 도메인 컨트롤러로 보낼 때 이벤트 2095를 기록합니다.

잘못 복원된 도메인 컨트롤러에서 Active Directory에 대한 고유한 원래 업데이트가 생성되지 않도록 하려면 Net Logon 서비스가 일시 중지됩니다. Net Logon 서비스가 일시 중지되면 사용자 및 컴퓨터 계정은 이러한 변경 내용을 아웃바운드 복제하지 않는 도메인 컨트롤러의 암호를 변경할 수 없습니다. 마찬가지로 Active Directory 관리 도구는 Active Directory에서 개체를 업데이트할 때 정상 도메인 컨트롤러를 선호합니다.

도메인 컨트롤러에서 다음과 유사한 이벤트 메시지는 다음 조건이 true인 경우 기록됩니다.

  • 원본 도메인 컨트롤러는 이전에 승인된 USN 번호를 대상 도메인 컨트롤러로 보냅니다.
  • 호출 ID에는 해당 변경 내용이 없습니다.

이러한 이벤트는 Directory Service 이벤트 로그에서 캡처될 수 있습니다. 그러나 관리자가 관찰하기 전에 덮어쓸 수 있습니다.

USN 롤백이 발생한 것으로 의심될 수 있습니다. 그러나 디렉터리 서비스 이벤트 로그에는 상관 관계가 있는 이벤트가 표시되지 않습니다. 이 시나리오에서는 Dsa 쓰기 불가능 레지스트리 항목에 대해 검사. 이 항목은 USN 롤백이 발생했다는 법의학적 증거를 제공합니다.

  • 레지스트리 하위 키: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
  • 레지스트리 항목: Dsa 쓰기 불가능
  • 값: 0x4

Dsa 쓰기 불가능 레지스트리 항목 값을 삭제하거나 수동으로 변경하면 롤백 도메인 컨트롤러가 영구적으로 지원되지 않는 상태로 전환됩니다. 따라서 이러한 변경 내용은 지원되지 않습니다. 특히 값을 수정하면 USN 롤백 검색 코드에 의해 추가된 격리 동작이 제거됩니다. 롤백 도메인 컨트롤러의 Active Directory 파티션은 동일한 Active Directory 포리스트의 직접 및 전이적 복제 파트너와 영구적으로 일치하지 않습니다.

USN 롤백에서 복구

USN 롤백에서 복구하는 방법에는 세 가지가 있습니다.

참조