1부: 핵심 개념 및 기본 원리
1. 문제: Active Directory 복제란 무엇인가요?
답변: Active Directory 복제는 한 도메인 컨트롤러에서 발생한 변경 사항이 동일한 데이터를 저장하는 다른 도메인 컨트롤러로 자동으로 전송되는 프로세스입니다.
2. 문제: 사이트 내(Intrasite) 복제와 사이트 간(Intersite) 복제의 가장 큰 차이점은 무엇인가요?
답변: 사이트 내 복제는 속도에 최적화되어 압축 없이 변경 사항 알림을 통해 즉시 복제가 이루어집니다. 반면, 사이트 간 복제는 대역폭(비용)에 최적화되어 데이터를 압축하고, 정해진 일정에 따라 복제를 수행합니다.
3. 문제: KCC(Knowledge Consistency Checker, 지식 일관성 검사기)의 주요 역할은 무엇인가요?
답변: KCC는 모든 도메인 컨트롤러에서 실행되는 분산 응용 프로그램으로, 사이트 내 및 사이트 간의 복제 토폴로지를 자동으로 생성하고 유지 관리합니다. 기본적으로 15분마다 실행되어 토폴로지를 검토하고 필요에 따라 수정합니다.
4. 문제: 사이트(Site)와 서브넷(Subnet)을 구성하는 주된 이유는 무엇인가요?
답변: 사이트와 서브넷을 구성하는 주된 이유는 다음과 같습니다:
- 도메인 컨트롤러 간의 복제를 속도 및 대역폭 소비에 맞게 최적화합니다.
- 클라이언트 로그온, 서비스 및 디렉터리 검색을 위해 가장 가까운 도메인 컨트롤러를 찾습니다.
- DFS(분산 파일 시스템) 클라이언트가 사이트 내에서 요청된 데이터를 호스팅하는 서버로 연결되도록 합니다.
5. 문제: 디렉터리 파티션(또는 명명 컨텍스트, Naming Context)의 세 가지 주요 유형은 무엇인가요?
답변:
- 스키마 파티션: 포리스트의 모든 객체 및 속성 정의를 저장하며, 포리스트의 모든 DC에 복제됩니다.
- 구성 파티션: 사이트 및 복제 작업과 같은 포리스트 전체 데이터를 저장하며, 포리스트의 모든 DC에 복제됩니다.
- 도메인 파티션: 특정 도메인의 사용자, 컴퓨터, 그룹과 같은 객체를 저장하며, 해당 도메인 내의 DC에만 복제됩니다.
6. 문제: 다중 마스터 복제(Multimaster Replication) 모델의 핵심 특징은 무엇인가요?
답변: 다중 마스터 복제 모델에서는 포리스트 내의 모든 도메인 컨트롤러가 직접 업데이트될 수 있다는 것이 핵심 특징입니다. 각 DC에서 발생한 변경 사항은 다른 DC로 복제되어 데이터 일관성을 유지합니다.
7. 문제: 브리지헤드 서버(Bridgehead Server)는 어떤 역할을 수행하며 누가 지정하나요?
답변: 브리지헤드 서버는 사이트 간 변경 사항을 복제하는 지점 역할을 합니다. 한 사이트에서 다른 사이트로 복제할 때 이 서버를 통하게 됩니다. 이 서버는 기본적으로 각 사이트의 ISTG(사이트 간 토폴로지 생성기)에 의해 자동으로 선택됩니다.
8. 문제: 복제 충돌(Replication Conflict)은 어떻게 해결되나요?
답변: 복제 충돌은 각 업데이트에 할당된 '스탬프(stamp)'를 비교하여 해결됩니다. 스탬프는 버전 번호, 원본 업데이트 시간, 원본 DC의 GUID로 구성됩니다. 충돌 시 버전 번호가 더 높은 업데이트가 우선권을 가집니다. 버전 번호가 같으면 타임스탬프, 그것도 같으면 DC GUID를 비교하여 해결합니다.
9. 문제: Active Directory는 변경 사항을 추적하기 위해 주로 무엇을 사용하나요? (예: 타임스탬프 또는 다른 것)
답변: Active Directory는 시간 동기화 문제에 따른 데이터 손실을 방지하기 위해 타임스탬프가 아닌 USN(Update Sequence Number)을 주로 사용합니다. 각 DC는 자체적인 로컬 USN 카운터를 가지고 있으며, 이를 통해 신뢰성 있게 변경 사항을 추적합니다.
10. 문제: 툼스톤(Tombstone)이란 무엇이며, 복제에서 왜 중요한가요?
답변: 툼스톤은 삭제된 객체의 자리 표시자(placeholder)입니다. 객체 삭제 정보가 모든 복제 파트너에게 전파될 시간을 보장하기 위해 중요합니다. 툼스톤 수명(기본 60일 또는 180일)이 지나기 전에 삭제 정보가 복제되지 않으면, 해당 DC에는 삭제된 객체가 '잔류 객체'로 남게 될 수 있습니다.
11. 문제: ISTG(Intersite Topology Generator)의 역할은 무엇인가요?
답변: ISTG는 각 사이트 내에서 단일 도메인 컨트롤러가 맡는 역할로, 사이트 간(intersite) 복제 연결 객체를 관리합니다. ISTG는 사이트 링크 비용 및 일정을 평가하여 가장 효율적인 사이트 간 복제 경로를 결정하고 브리지헤드 서버를 지정합니다.
12. 문제: 글로벌 카탈로그(Global Catalog) 서버는 복제 관점에서 어떤 특별한 데이터를 가지고 있나요?
답변: 글로벌 카탈로그 서버는 자신이 속한 도메인의 쓰기 가능한 전체 복제본과 더불어, 포리스트 내 '모든 다른 도메인'의 부분적인 읽기 전용 복제본을 저장합니다. 이 부분 복제본에는 검색에 자주 사용되는 특성들이 포함되어 있습니다.
13. 문제: 사이트 링크(Site Link)의 세 가지 주요 구성 속성은 무엇인가요?답변:
- 비용(Cost): 복제 경로의 우선순위를 결정하는 관리자 정의 값입니다. 값이 낮을수록 선호됩니다.
- 일정(Schedule): 복제가 허용되는 요일과 시간을 지정합니다.
- 간격(Interval): 일정이 허용하는 시간 동안 복제가 얼마나 자주 발생할지를 분 단위로 설정합니다 (기본 180분).
14. 문제: Active Directory 복제에 사용되는 두 가지 전송 프로토콜은 무엇인가요?
답변: RPC over IP (IP를 통한 원격 프로시저 호출)와 SMTP over IP (IP를 통한 메일 전송)입니다. RPC는 사이트 내/간 복제에 모두 사용되는 기본 프로토콜이며 , SMTP는 RPC 사용이 불가능한 사이트 간 복제에 사용되는 비동기식 프로토콜입니다.
15. 문제: '끌어오기 복제(Pull Replication)' 모델이란 무엇을 의미하나요?
답변: 끌어오기 복제는 대상 도메인 컨트롤러가 원본 도메인 컨트롤러에게 변경 사항을 '요청'하여 데이터를 가져오는 방식입니다. 원본 DC에서 변경이 발생하면 파트너에게 알림을 보내고, 알림을 받은 대상 DC가 변경 사항을 달라고 요청(pull)하는 구조입니다.
2부: 핵심 메커니즘 및 프로세스
16. 문제: KCC는 어떻게 사이트 내 토폴로지를 구성하나요?
답변: 사이트 내에서 KCC는 기본적으로 모든 서버를 연결하는 링 토폴로지(ring topology)를 생성합니다. 서버 수가 7개를 초과하면 복제 지연 시간을 줄이기 위해 3홉(hop) 이내에 모든 DC가 연결되도록 추가적인 최적화 연결(shortcut connections)을 생성합니다.
17. 문제: 사이트 링크 브리징(Site Link Bridging)은 무엇이며 기본적으로 활성화되어 있나요?
답변: 사이트 링크 브리징은 여러 사이트 링크를 하나의 경로처럼 취급하여, 직접 연결되지 않은 사이트 간에도 복제가 가능하도록 하는 기능입니다. 이 기능은 기본적으로 활성화되어 있으며("모든 사이트 링크 브리지" 옵션), 이를 통해 KCC는 네트워크 장애 시 대체 경로를 자동으로 계산할 수 있습니다.
18. 문제: '저장 후 전달(Store-and-forward)' 복제 방식은 어떤 이점이 있나요?
답변: 이 방식은 한 DC에서 발생한 업데이트가 비싼 WAN 링크를 단 한 번만 건너도록 하여 WAN 링크를 효율적으로 사용하게 합니다. 변경 사항을 받은 DC는 이를 저장했다가 자신의 다른 복제 파트너에게 전달하므로, 원본 DC가 모든 DC에 직접 변경 사항을 보낼 필요가 없어집니다.
19. 문제: 업투데이트니스 벡터(Up-to-Dateness Vector)는 복제에서 어떤 역할을 하나요?
답변: 업투데이트니스 벡터는 대상 DC가 포리스트의 모든 원본 DC로부터 받은 최신 '원본' 업데이트를 추적하는 테이블입니다. 대상 DC가 변경을 요청할 때 이 벡터를 원본 DC에게 보내면, 원본 DC는 이를 보고 대상 DC가 이미 다른 경로를 통해 받은 변경 사항은 보내지 않아 중복 복제를 방지합니다(전파 감쇠).
\20. 문제: 하이워터마크(High-Watermark)는 복제 필터링에서 어떻게 사용되나요?
답변: 하이워터마크는 대상 DC가 '특정' 원본 DC로부터 받은 마지막 객체 업데이트의 USN 값입니다. 변경을 요청할 때 이 값을 함께 보내면, 원본 DC는 이 값보다 낮은 USN을 가진 객체는 이미 대상 DC가 가지고 있다고 판단하여 고려 대상에서 제외함으로써 불필요한 처리를 줄입니다.
21. 문제: 긴급 복제(Urgent Replication)를 유발하는 주요 이벤트는 무엇인가요?
답변: 주요 이벤트는 다음과 같습니다:
- 계정 잠김 할당.
- 계정 잠김 정책 또는 도메인 암호 정책 변경.
- LSA(로컬 보안 기관) 비밀 변경.
- 도메인 컨트롤러 컴퓨터 계정의 암호 변경.
- RID(상대 식별자) 마스터 역할 소유자 변경.
22. 문제: 암호 변경은 다른 복제와 어떻게 다르게 처리되나요?
답변: 암호 변경은 일반 복제나 긴급 복제와는 다른 특별한 방식으로 처리됩니다. DC에서 암호가 변경되면, 해당 DC는 즉시 도메인의 PDC 에뮬레이터(PDC Emulator) 역할 소유자에게 업데이트를 전달하려고 시도합니다. 만약 다른 DC에서 이전 암호로 인증 시도가 실패하면, 해당 DC는 PDC 에뮬레이터에게 한 번 더 확인하여 사용자가 최신 암호로 즉시 로그인할 수 있도록 합니다.
23. 문제: 연결된 값 복제(Linked-Value Replication)는 어떤 조건에서 작동하나요?
\답변: 이 기능은 다음 두 가지 조건이 충족될 때 작동합니다:
- 포리스트 기능 수준이 Windows Server 2003 중간 또는 Windows Server 2003 이상이어야 합니다.
- 복제되는 속성이 연결된 속성(linked attribute)이어야 합니다 (예: 그룹 객체의
- member 속성).
24. 문제: 사이트 간 복제 시 데이터는 왜 압축되며, Windows Server 2003에서 압축 알고리즘은 어떻게 개선되었나요?
답변: 데이터는 WAN 링크를 통한 전송 속도를 높이고 네트워크 대역폭을 절약하기 위해 압축됩니다. Windows Server 2003에서는 압축률은 약간 낮추는 대신 브리지헤드 서버의 CPU 처리 부담을 크게 줄인 새로운 압축 알고리즘을 사용합니다. 이 새로운 알고리즘은 두 브리지헤드 서버가 모두 Windows Server 2003 이상일 때 사용됩니다.
25. 문제: 잔류 객체(Lingering Objects)는 왜 발생하며, 어떻게 방지되나요?
답변: 잔류 객체는 한 도메인 컨트롤러가 툼스톤 수명보다 긴 시간 동안 복제에 실패했을 때 발생합니다. 해당 DC가 오프라인인 동안 다른 DC들에서 특정 객체가 삭제되고 툼스톤마저 제거(가비지 수집)되면, 나중에 온라인이 된 DC는 삭제 사실을 알지 못해 오래된 객체를 계속 보유하게 됩니다. Windows Server 2003 이상에서 생성된 포리스트에서는 기본적으로 이러한 오래된 객체의 복제를 금지하여 이 문제를 방지합니다.
26. 문제: KCC는 응답하지 않는 서버를 어떻게 판단하고 토폴로지에서 제외하나요?
답변: KCC는 두 가지 임계값을 사용하여 응답하지 않는 서버를 판단합니다: 1) 특정 횟수(n)만큼 복제 시도가 실패했는지, 그리고 2) 마지막 성공적인 복제 이후 특정 시간이 경과했는지 여부입니다. 이 임계값은 사이트 내/간, 그리고 링의 이웃/최적화 연결에 따라 다르게 설정되어 있습니다.
27. 문제: SMTP 전송을 사용한 복제의 제약 사항은 무엇인가요?
답변: SMTP 전송은 쓰기 가능한 도메인 디렉터리 파티션을 복제하는 데 사용할 수 없습니다. 따라서 동일 도메인의 도메인 컨트롤러 간 복제에는 반드시 RPC over IP를 사용해야 합니다. SMTP는 스키마, 구성, 글로벌 카탈로그 파티션 복제에만 지원됩니다.
28. 문제: 수동으로 복제 연결 객체를 생성할 경우 KCC는 이를 어떻게 처리하나요?
답변: 관리자가 수동으로 생성한 연결 객체는 KCC가 소유하지 않으므로, KCC는 이를 수정하거나 삭제하지 않습니다. KCC는 자동으로 생성한 연결이 수동 연결과 중복될 경우, 자신이 생성한 중복 객체를 삭제하고 필요한 다른 연결은 계속 생성합니다.
29. 문제: 사이트 링크 비용(Cost)은 어떻게 복제 경로에 영향을 주나요?
답변: 사이트 링크 비용은 ISTG가 셋 이상의 사이트 간 복제 경로를 결정할 때 사용됩니다. ISTG는 여러 경로 중 비용의 총합이 가장 낮은 경로를 선호합니다. 예를 들어, A-B 링크 비용이 100이고 B-C 링크 비용이 100일 때, A에서 C로 가는 총비용은 200이 되며, 만약 더 저렴한 경로가 있다면 KCC는 그 경로를 선택합니다.
30. 문제: 변경 알림(Change Notification)은 사이트 내 복제와 사이트 간 복제에서 어떻게 다르게 작동하나요?
답변: 사이트 내 복제에서는 업데이트 발생 시 짧은 지연 시간(기본 15초) 후에 파트너에게 즉시 변경 알림을 보내 복제를 유발합니다. 반면, 사이트 간 복제에서는 기본적으로 변경 알림을 사용하지 않고 정해진 간격(기본 180분)에 따라 복제가 이루어집니다. 다만, 관리자가 사이트 링크에서 알림을 활성화할 수는 있습니다.
3부: 구성 및 관리
31. 문제: 선호 브리지헤드 서버(Preferred Bridgehead Server)를 지정하는 이유는 무엇인가요?
답변: 브리지헤드 서버는 일반 DC보다 더 많은 복제 트래픽을 처리해야 하므로, 관리자는 성능이 더 좋거나 특정 역할을 수행하는 서버가 이 책임을 맡도록 제어하고 싶을 수 있습니다. 선호 브리지헤드 서버를 지정하면 ISTG는 지정된 서버들 중에서만 브리지헤드 서버를 선택하게 되며, 원치 않는 서버가 브리지헤드 역할을 맡는 것을 방지할 수 있습니다.
32. 문제: "모든 사이트 링크 브리지(Bridge all site links)" 옵션을 비활성화해야 하는 경우는 언제인가요?
답변: IP 네트워크가 완전히 라우팅되지 않은 경우, 즉 모든 네트워크 세그먼트가 서로 통신할 수 없는 경우 이 옵션을 비활성화할 수 있습니다. 또한, 매우 큰 네트워크(수백 개의 사이트)에서 KCC가 실행될 때마다 모든 가능한 경로를 계산하는 데 따른 CPU 오버헤드를 줄이기 위해 비활성화하고 수동으로 사이트 링크 브리지를 구성할 수 있습니다.
33. 문제: Repadmin 유틸리티를 사용하여 수동으로 KCC를 실행시키는 명령어는 무엇인가요?
답변: repadmin /kcc 입니다. 이 명령은 지정된 도메인 컨트롤러(또는 모든 DC)에서 KCC가 즉시 토폴로지 검사를 수행하도록 합니다.
34. 문제: 복제에 사용되는 기본 RPC 포트는 무엇이며, 방화벽 환경에서는 어떻게 고정 포트를 설정할 수 있나요?
답변: RPC 기반 복제는 기본적으로 동적 포트 매핑을 사용하며, 클라이언트는 서버의 RPC 엔드포인트 매퍼(포트 135)에 연결하여 동적으로 할당된 포트 번호를 확인합니다. 방화벽 환경을 위해 레지스트리를 편집하여 특정 고정 포트(예: 49152)를 사용하도록 설정할 수 있습니다.
35. 문제: 툼스톤 수명(Tombstone Lifetime)을 변경할 때 반드시 고려해야 할 점은 무엇인가요?
답변: 툼스톤 수명은 포리스트 내에서 발생할 수 있는 최악의 복제 지연 시간(latency)보다 반드시 길게 설정해야 합니다. 또한, Active Directory는 툼스톤 수명보다 오래된 백업 이미지로부터의 데이터 복원을 허용하지 않습니다.
36. 문제: Repadmin /showreps 명령의 결과는 무엇을 보여주나요?
답변: 이 명령은 지정된 도메인 컨트롤러의 복제 상태를 보여줍니다. 각 디렉터리 파티션에 대한 인바운드 복제 파트너, 마지막 복제 시도 시간과 결과(성공/실패), 그리고 아웃바운드 변경 알림 파트너 등의 정보를 표시합니다.
37. 문제: DCDiag /test:dns 명령은 무엇을 검사하나요?
답변: 이 명령은 도메인 컨트롤러의 DNS 구성이 정상적인지를 심층적으로 검사합니다. DC의 호스트(A) 레코드 및 CNAME 레코드 등록 여부, 유효한 DNS 서버 사용 여부 등을 확인하여 Active Directory의 핵심 의존성인 DNS 문제를 진단합니다.
38. 문제: Active Directory 진단 이벤트 로깅 수준을 높이려면 어떤 레지스트리 키를 수정해야 하나요?
답변: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics 키 아래의 값들을 수정해야 합니다. 각 로그 유형에 대해 0(없음)부터 5(내부)까지의 값을 설정하여 로깅 상세 수준을 조절할 수 있습니다.
39. 문제: Active Directory 복제 모니터(Replmon.exe)의 주요 기능은 무엇인가요?
답변: Replmon은 Active Directory 복제 상태를 그래픽 인터페이스(GUI)로 볼 수 있게 해주는 도구입니다. 주요 기능으로는 복제 토폴로지 시각화, 강제 동기화, KCC 트리거, 복제 파트너의 성공/실패 이력 조회, 아직 복제되지 않은 변경 사항 확인 등이 있습니다.
40. 문제: 시간 동기화는 왜 Active Directory 복제에 중요한가요?
답변: Active Directory 복제 자체는 USN을 사용하지만, 복제에 사용되는 보안 프로토콜인 Kerberos는 시간 동기화에 크게 의존합니다. 도메인 컨트롤러 간의 시간이 크게 어긋나면 Kerberos 인증에 실패하여 '액세스 거부'와 같은 복제 오류가 발생할 수 있습니다.
41. 문제: 사이트 링크 일정(Schedule)이 겹치지 않으면 어떻게 되나요?
답변: 여러 사이트 링크를 경유하는 복제 경로에서 링크들의 일정이 전혀 겹치지 않으면, 해당 경로는 사용할 수 없는 것으로 간주됩니다. 복제는 중간 사이트까지는 이루어지지만, 그 다음 사이트로의 복제는 다음 복제 일정이 열릴 때까지 대기하게 됩니다.
42. 문제: Ntdsutil.exe는 복제 문제 해결에서 어떤 용도로 사용될 수 있나요?
답변: Ntdsutil.exe는 숙련된 관리자를 위한 도구로, 네트워크에서 제대로 제거되지 않은 도메인 컨트롤러의 복제 메타데이터를 정리(metadata cleanup)하거나 , 잔류 객체를 제거하는 데 사용될 수 있습니다. 또한 신뢰성 있는 복원(authoritative restore) 작업을 수행하는 데도 사용됩니다.
43. 문제: 사이트 간 복제 간격은 최소 몇 분으로 설정할 수 있나요?
답변: 사이트 링크 속성에서 설정할 수 있는 최소 복제 간격은 15분입니다.
44. 문제: PDC 에뮬레이터는 계정 잠김(Account Lockout) 복제에서 어떤 특별한 역할을 하나요?
답변: 계정 잠김은 PDC 에뮬레이터에게 긴급 복제됩니다. 다른 DC에서 인증 실패가 누적되어 잠김 임계값에 도달하기 전에, 인증 재시도 요청이 PDC 에뮬레이터로 전달되어 먼저 계정을 잠글 수 있습니다. 이를 통해 포리스트 전체에서 잠김 상태가 신속하게 적용됩니다.
45. 문제: 선호 브리지헤드 서버를 지정할 때, 각 디렉터리 파티션에 대해 최소 몇 개의 서버를 지정하는 것이 권장되나요?
답변: 장애 대비를 위해 각 도메인 디렉터리 파티션, 응용 프로그램 디렉터리 파티션, 그리고 스키마/구성 파티션에 대해 각각 둘 이상의 브리지헤드 서버를 할당하는 것이 권장됩니다.
46. 문제: repadmin /syncall 명령어는 어떤 작업을 수행하나요?
답변: 이 명령어는 지정된 도메인 컨트롤러를 포리스트 내 모든 복제 파트너와 동기화하도록 강제합니다. 이는 특정 DC의 컴퓨터 계정 문제 등으로 인해 복제가 중단되었을 때, 모든 DC가 최신 정보를 갖도록 강제하는 데 사용될 수 있습니다.
47. 문제: Windows Server 2003 이상에서 ISTG 역할은 어떤 OS를 실행하는 DC에게 우선적으로 주어지나요?
답변: 한 사이트 내에 Windows Server 2003 이상을 실행하는 DC가 한 대라도 있다면, ISTG 역할은 Windows Server 2003 이상을 실행하는 DC 중 하나가 맡게 됩니다. 사이트 내 모든 DC가 Windows 2000 서버인 경우에만 Windows 2000 서버가 ISTG 역할을 수행합니다.
48. 문제: 복제 토폴로지 관련 객체들(예: 사이트, 서버, NTDS 설정)은 어떤 디렉터리 파티션에 저장되나요?
답변: 복제 토폴로지 정보는 구성(Configuration) 디렉터리 파티션에 저장됩니다. 이 파티션은 포리스트 내의 모든 도메인 컨트롤러에 복제됩니다.
49. 문제: 사이트 내 복제 알림 지연 시간은 Windows 2000과 Windows Server 2003에서 어떻게 다르게 저장되나요?
답변: Windows 2000에서는 각 DC의 레지스트리에 저장됩니다. 반면, Windows Server 2003에서는 구성 파티션 내의 각 교차 참조 객체(cross-reference object)의 속성(
msDSReplicationNotifyFirstDSADelay, msDSReplicationNotifySubsequentDSADelay)에 저장됩니다.
50. 문제: 서버 객체의 DSA GUID (Invocation ID와 구분)는 언제 생성되며 변경되나요?
답변: DSA GUID는 도메인 컨트롤러에 Active Directory가 처음 설치될 때 생성되며, Active Directory가 제거될 때까지 절대 변경되지 않습니다. 이 GUID는 DC의 이름이 바뀌어도 복제 시스템이 해당 DC를 고유하게 식별할 수 있도록 보장합니다.
4부: 심화 기능 및 문제 해결
51. 문제: 복제 이름 확인 대체(fallback) 메커니즘이 작동하면 어떤 이벤트 ID가 기록되나요?
답변: 이 대체 메커니즘이 트리거되면, 시스템은 DNS 구성 오류가 있음을 알리는 경고 이벤트 ID 2088을 기록합니다. 이벤트 설명에는 DNS로 확인하지 못했지만 NetBIOS 이름 등을 사용하여 성공적으로 복제했음이 명시됩니다.
52. 문제: 이벤트 ID 1311의 일반적인 원인은 무엇인가요?
답변: 일반적인 원인은 Active Directory 사이트 및 서비스의 복제 구성 정보가 실제 물리적 네트워크 토폴로지를 정확하게 반영하지 않기 때문입니다. 예를 들어, 특정 사이트가 사이트 링크에 포함되지 않았거나 , 사이트 링크들이 서로 연결되지 않아 네트워크가 분리된 경우(disjointed site links)에 발생합니다.
53. 문제: 복제 시 '액세스 거부' 오류가 발생하는 일반적인 원인과 해결책은 무엇인가요?
답변: 이 오류는 일반적으로 Kerberos 인증 문제를 나타냅니다. 원인으로는 DC가 오랫동안 네트워크에서 분리되어 컴퓨터 계정 암호가 동기화되지 않았거나 , 시간 동기화 문제 , 또는 '네트워크에서 이 컴퓨터에 액세스' 사용자 권한 문제 등이 있습니다. 해결책으로는 netdom resetpwd로 암호를 재설정하거나, 시간 동기화, 사용자 권한 확인 등이 있습니다.
54. 문제: 복제 시 "대상 계정 이름이 잘못되었습니다(Target Account Name is Incorrect)" 오류는 무엇을 의미하나요?
답변: 이 오류는 원본 DC(Kerberos 대상)가 대상 DC로부터 받은 인증 요청(AP request)을 확인하는 데 실패했음을 의미합니다. 구체적으로, 원본 DC가 서비스 티켓을 자신의 실제 컴퓨터 계정 암호로 해독하려 했지만, 티켓은 KDC가 알고 있는 (오래된) 암호로 암호화되었기 때문에 해독에 실패한 것입니다.
55. 문제: Invocation ID(호출 ID)는 언제 변경되나요?
답변: Invocation ID는 Active Directory 데이터베이스의 인스턴스를 식별하는 GUID입니다. 이 값은 Active Directory 복원 프로세스 중에 변경되며 , Windows Server 2003 이상에서는 응용 프로그램 디렉터리 파티션을 추가하거나 제거할 때도 변경됩니다.
56. 문제: FRS 복제와 Active Directory 복제의 차이점은 무엇인가요?
답변: Active Directory 복제는 사용자, 컴퓨터, 그룹과 같은 디렉터리 객체 데이터를 복제하는 프로세스입니다. 반면, FRS(파일 복제 서비스)는 SYSVOL 공유 폴더에 있는 그룹 정책 및 로그온 스크립트와 같은 파일과 폴더를 복제하는 데 사용되는 별개의 서비스입니다. FRS는 AD 복제와 동일한 KCC 생성 토폴로지를 사용합니다.
57. 문제: Windows Server 2003에서 향상된 KCC 확장성(scalability)의 핵심은 무엇인가요?
답변: 포리스트 기능 수준이 Windows Server 2003일 때, KCC는 비효율적인 비용 매트릭스 계산을 제거한 새로운 스패닝 트리 알고리즘을 사용합니다. 이 개선된 알고리즘은 대규모 사이트 환경에서 복제 토폴로지를 계산할 때 CPU 및 메모리 소비를 크게 줄여, 지원 가능한 사이트 수를 Windows 2000의 약 300개에서 3,000개까지 확장시켰습니다.
58. 문제: 복제되지 않고 남아있는 오래된 객체(lingering objects)를 제거하는 repadmin 명령어는 무엇인가요?
답변: repadmin /removelingeringobjects 입니다. 이 명령은 원본 도메인 컨트롤러의 디렉터리 파티션 복제본에는 존재하지 않는 오래된 객체를 대상 도메인 컨트롤러에서 제거합니다.
59. 문제: 도메인 컨트롤러의 userAccountControl 속성 값이 복제에 영향을 미칠 수 있나요? 그렇다면 정상 값은 무엇인가요? 답변: 네, 영향을 미칠 수 있습니다. 이 값이 잘못되면 DC가 정상적으로 인증 및 작동하지 않아 LDAP 바인드 오류 등이 발생할 수 있습니다. 정상적인 도메인 컨트롤러의
userAccountControl 속성 값은 532480 입니다.
60. 문제: '전파 감쇠(Propagation Dampening)'란 무엇을 의미하나요?
답변: 전파 감쇠는 Active Directory가 업투데이트니스 벡터를 사용하여 여러 경로로 동일한 변경 사항이 중복 전파되거나 끝없이 순환하는 것을 방지하는 능력입니다.
61. 문제: 사이트 간 복제에 SMTP를 사용하기 위한 전제 조건은 무엇인가요?답변: SMTP 복제를 사용하려면 다음 조건이 충족되어야 합니다:
- 두 브리지헤드 서버에 IIS가 설치되어 있어야 합니다.
- 네트워크에 엔터프라이즈 인증 기관(CA)이 설치 및 구성되어 있어야 합니다.
- 복제하는 DC에 DC 인증서가 있어야 합니다.
- 사이트들이 SMTP 사이트 링크로 연결되어 있어야 합니다.
62. 문제: Windows Server 2003에서 여러 브리지헤드 서버가 선택되는 방식은 Windows 2000과 어떻게 다른가요?
답변: Windows 2000에서는 ISTG가 각 디렉터리 파티션 및 전송 프로토콜에 대해 단 하나의 브리지헤드 서버만 선택합니다. 반면, 사이트에 Windows Server 2003 이상을 실행하는 DC가 한 대라도 있으면, ISTG는 여러 후보 브리지헤드 서버 중에서 무작위로 선택하여 연결을 분산시키는 로드 밸런싱을 수행합니다.
63. 문제: 사이트 링크의 비용(cost)이 복제 경로 결정 외에 다른 용도로도 사용되나요? 답변: 네, 사용됩니다. 도메인 컨트롤러 로케이터(Locator) 및 DFS와 같은 응용 프로그램 및 서비스도 사이트 링크 비용 정보를 사용하여 가장 가까운 리소스를 찾습니다. 예를 들어, 클라이언트가 속한 사이트에 특정 도메인의 DC가 없을 경우, 가장 낮은 비용의 사이트 링크로 연결된 다른 사이트의 DC에 연결을 시도합니다.
64. 문제: 수동으로 사이트 링크 브리지(site link bridge)를 생성해야 하는 경우는 언제인가요?
답변: IP 네트워크가 완전히 라우팅되지 않았을 때 "모든 사이트 링크 브리지" 옵션을 비활성화하고, 네트워크의 실제 라우팅 동작을 모델링하기 위해 수동으로 브리지를 생성합니다. 이는 분리된 네트워크 간의 라우팅을 제공하는 효과가 있습니다.
65. 문제: DC의 컴퓨터 계정 암호를 재설정하는 netdom 명령어는 무엇인가요?
답변: netdom resetpwd /server:<다른_DC이름> /userd:<도메인\관리자계정> /passwordd:<관리자암호> 입니다.
66. 문제: 복제는 객체 단위로 이루어지나요, 아니면 속성 단위로 이루어지나요?
답변: Active Directory는 변경된 속성 값만 복제하므로, 속성(attribute) 단위로 복제가 이루어집니다. 전체 객체를 보내는 것이 아니라 변경된 부분만 전송하여 효율성을 높입니다.
67. 문제: 교차 참조 객체(Cross-Reference Objects)는 복제 시스템에서 어떤 역할을 하나요?
답변: 교차 참조 객체는 구성 파티션의 Partitions 컨테이너에 저장되며, 포리스트 내 각 디렉터리 파티션의 위치 정보를 저장합니다. 복제 시스템은 이 객체들을 사용하여 특정 디렉터리 파티션을 저장하는 도메인 컨트롤러들을 찾습니다.
68. 문제: Active Directory 복제와 관련된 문제 해결 시 가장 먼저 확인해야 할 의존성은 무엇인가요?
답변: AD 복제는 여러 서비스에 의존하므로, 문제 해결 시 다음 의존성들이 정상적으로 작동하는지 먼저 확인하는 것이 좋습니다: DNS, RPC, LDAP, Windows Time 서비스, Kerberos/인증.
69. 문제: 사이트 링크의 일정과 간격은 어떻게 상호 작용하나요?
답변: 일정은 복제가 '가능한 시간대'를 정의하고, 간격은 그 시간대 내에서 '얼마나 자주' 복제를 시도할지를 결정합니다. 예를 들어, 일정이 02:00-04:00이고 간격이 30분이면, 해당 2시간 동안 최대 4번의 복제가 발생할 수 있습니다.
70. 문제: LDAP 바인드 오류 31("잘못된 자격 증명")은 무엇을 의미하며, 주요 원인은 무엇인가요?
답변: 이 오류는 DC가 디렉터리에 바인드(연결)할 수 없음을 나타냅니다. 주요 원인으로는 DNS 조회 실패, KDC 서비스 중지, 잘못된 userAccountControl 값, DC 컴퓨터 계정 암호 불일치, 시간 동기화 문제 등이 있습니다.
71. 문제: 서버 객체와 컴퓨터 객체의 차이점은 무엇인가요?
답변: 컴퓨터 객체는 도메인 디렉터리 파티션에 존재하며 해당 컴퓨터를 보안 주체(security principal)로 나타냅니다. 반면, 서버 객체는 구성 디렉터리 파티션에 존재하며 복제 토폴로지 내에서 도메인 컨트롤러를 나타내는 역할을 합니다. 서버 객체는 해당 컴퓨터 객체에 대한 참조를 포함합니다.
72. 문제: NTDS 설정(NTDS Settings) 객체는 무엇을 나타내나요?
답변: NTDS 설정 객체는 특정 서버 객체 아래에 생성되며, 해당 서버에 Active Directory가 설치되어 있음을 나타냅니다. 이 객체는 다른 서버와 도메인 컨트롤러를 구분하는 역할을 하며, 다른 DC로부터의 인바운드 복제 연결 객체들을 포함합니다.
73. 문제: 사이트 간 복제 토폴로지는 어떤 구조를 형성하나요? (예: 링, 스패닝 트리 등)
답변: 사이트 간 토폴로지는 각 디렉터리 파티션에 대해 스패닝 트리(spanning tree)를 층층이 쌓은 구조를 형성하며, 일반적으로 중복 연결을 포함하지 않습니다.
74. 문제: 글로벌 카탈로그 서버가 없는 사이트의 클라이언트는 어떻게 다른 사이트의 DC를 찾나요?
답변: 도메인 컨트롤러 로케이터는 사이트 링크 비용 정보를 사용하여 가장 가까운 리소스를 찾습니다. 클라이언트가 속한 사이트에 요청한 도메인의 DC가 없을 경우, 가장 낮은 비용(cost)이 할당된 사이트 링크를 통해 연결된 다른 사이트의 DC에 연결을 시도합니다.
75. 문제: 복제 데이터 압축을 Windows 2000 방식으로 되돌릴 수 있나요? 그렇다면 어떤 경우에 권장되나요?
답변: 네, 레지스트리 편집을 통해 Windows 2000 압축 알고리즘으로 되돌릴 수 있습니다. 이는 64KB 이하와 같은 느린 WAN 링크에서 계산 시간 감소보다 더 높은 압축률이 선호될 때 고려할 수 있습니다. 하지만 두 브리지헤드 DC가 충분한 CPU 성능을 가진 경우에만 권장됩니다.
5부: 세부 사항 및 기타
76. 문제: KCC가 실행되는 기본 간격은 얼마이며, DC 시작 후 처음 실행되는 시간은 언제인가요?
답변: KCC는 기본적으로 15분(900초) 간격으로 토폴로지를 확인합니다. 도메인 컨트롤러가 시작된 후에는 기본적으로 5분(300초) 후에 첫 번째 토폴로지 검사를 실행합니다.
77. 문제: hasMasterNCs 속성과 msDSHasMasterNCs 속성의 차이점은 무엇인가요?
답변: hasMasterNCs 속성은 DC가 호스팅하는 쓰기 가능한 디렉터리 파티션(스키마, 구성, 도메인)의 목록을 포함합니다.
msDSHasMasterNCs 속성은 Windows Server 2003에서 도입되었으며, 이 기본 파티션들과 더불어 해당 DC가 저장하는 모든 응용 프로그램 디렉터리 파티션까지 포함합니다.
78. 문제: 연결된 속성(Linked Attribute)과 연결되지 않은 속성의 주요 차이점은 무엇인가요?
답변: 연결된 속성은 쌍(forward link와 back-link)으로 존재하며, 한쪽이 변경되면 시스템이 다른 쪽(back-link)을 자동으로 업데이트합니다 (예: 그룹의 member와 사용자의 memberOf). 또한 참조하는 객체가 삭제될 때 링크가 자동으로 정리됩니다. 연결되지 않은 속성은 이러한 자동 back-link 관리나 정리 기능이 없습니다.
79. 문제: SMTP 복제 시 사이트 링크의 일정 정보는 어떻게 처리되나요?
답변: SMTP를 사용하는 사이트 링크는 기본적으로 일정 정보를 무시합니다. 복제는 기본 메시징 시스템(메일 인프라)의 일정에 따라 발생하며, 사이트 링크에 설정된 복제 간격은 메일 시스템 일정 범위 내에서 변경 요청 빈도를 나타내는 데 사용됩니다.
80. 문제: 하나의 데이터베이스 트랜잭션으로 쓸 수 있는 값의 최대 개수는 얼마이며, 이는 그룹 멤버십에 어떤 영향을 미치나요?
답변: 하나의 트랜잭션으로 쓸 수 있는 값은 최대 5,000개입니다. Windows 2000 기능 수준에서는 그룹 멤버십 전체가 하나의 속성으로 취급되어 그룹 구성원이 5,000명으로 제한됩니다. Windows Server 2003 수준에서는 연결된 값 복제 덕분에 이 제한이 사실상 사라집니다.
81. 문제: ISTG 역할 소유권은 어떻게 결정되고 이전되나요?
답변: 처음에는 사이트의 첫 번째 DC가 ISTG가 됩니다. 현재 ISTG가 사용 불가능하게 되거나, Windows 2000 DC만 있던 사이트에 Windows Server 2003 DC가 추가되면 역할이 이전됩니다. 다른 DC들은 ISTG의 활동을 모니터링하다가 일정 시간(60분 또는 120분) 동안 응답이 없으면, 정해진 규칙(OS 버전, GUID 순)에 따라 다음 후보가 새로운 ISTG가 됩니다.
82. 문제: Active Directory 복제에 필요한 TCP/UDP 포트는 무엇이 있나요?
답변: 주요 포트는 다음과 같습니다:
- RPC 엔드포인트 매퍼: TCP 135
- LDAP: TCP/UDP 389
- LDAP over SSL: TCP 636
- Global Catalog LDAP: TCP 3268
- Kerberos: TCP/UDP 88
- DNS: TCP/UDP 53
- SMB over IP: TCP/UDP 445
83. 문제: 사이트 링크 비용이 합산되는 방식은 어떻게 되나요?
답변: 사이트 링크가 브리지될 때, 한쪽 끝에서 다른 쪽 끝까지의 복제 비용은 경로상의 각 사이트 링크 비용의 합입니다. 예를 들어, 포틀랜드-시애틀 링크 비용이 4이고 시애틀-보스턴 링크 비용이 3이면, 포틀랜드에서 보스턴으로 가는 복제 비용은 7(4+3)로 계산됩니다.
84. 문제: DSASTAT.EXE는 어떤 용도로 사용되는 도구인가요?
답변: 이 명령줄 진단 도구는 도메인 컨트롤러 간의 명명 컨텍스트를 비교하여 차이점을 탐지하는 데 사용됩니다. 동일 도메인 내 복제본 간 또는 글로벌 카탈로그 간의 디렉터리 트리를 비교하고, 서버별 객체 수나 객체 클래스별 메가바이트 같은 용량 통계를 검색할 수 있습니다.
85. 문제: ADLB(Active Directory Load Balancing) 도구는 어떤 문제를 해결하기 위해 사용되나요?
답변: 이 도구는 대규모 허브-스포크 토폴로지에서 허브 사이트의 브리지헤드 서버 연결을 동적으로 재분배하기 위해 사용됩니다. KCC는 초기에만 부하 분산을 수행하고 기존 연결을 재조정하지 않지만 , ADLB는 KCC와 독립적으로 작동하여 기존 연결을 재분배하고 부하를 균등하게 만들 수 있습니다.
86. 문제: 시간대를 교차하는 복제 일정을 설정할 때 무엇을 고려해야 하나요?
답변: 도메인 컨트롤러는 시간을 UTC(협정 세계시)로 저장하지만, 관리 도구는 로컬 시간으로 표시합니다. 따라서 한쪽 시간대에서 설정한 일정이 다른 시간대의 업무 피크 시간에 영향을 주지 않도록 시간 차이를 정확히 계산하여 일정을 설정해야 합니다.
87. 문제: NTDS 사이트 설정(NTDS Site Settings) 객체의 schedule 속성은 어떤 연결에 영향을 주나요?
답변: 이 속성은 사이트 '내(intrasite)' 연결 객체의 기본 일정을 결정합니다. 기본적으로 이 일정은 항상 사용 가능하며 1시간 간격으로 설정되어 있어, 변경 알림이 실패하더라도 주기적인 복제가 보장됩니다.
88. 문제: 복제 스탬프(stamp)의 세 가지 구성 요소는 무엇인가요?답변: 복제 충돌 해결에 사용되는 스탬프는 다음 세 가지로 구성됩니다.
- 버전(Version): 원본 쓰기가 발생할 때마다 1씩 증가하는 번호입니다.
- 원본 시간(Originating Time): 원본 쓰기가 발생한 시간입니다 (1초 해상도).
- 원본 DC(Originating DC): 원본 쓰기를 수행한 도메인 컨트롤러의 DSA GUID입니다.
89. 문제: 객체가 삭제될 때, 해당 객체를 참조하던 연결된 속성(linked attributes)들은 어떻게 처리되나요?
답변: 두 가지 자동 정리가 발생합니다. 첫째, 삭제된 객체가 가지고 있던 모든 정방향 링크(forward links)가 제거됩니다(예: 그룹이 삭제되면 그룹의
member 값들이 제거됨). 둘째, 삭제된 객체를 가리키던 모든 역방향 링크(back-links)가 제거됩니다(예: 사용자가 삭제되면 해당 사용자를 멤버로 포함하던 모든 그룹에서 해당 사용자 값이 제거됨).
90. 문제: Windows Server 2003 포리스트 기능 수준에서 그룹 객체를 삭제하는 과정은 Windows 2000과 어떻게 다른가요?
답변: Windows Server 2003 기능 수준에서는 크기에 상관없이 그룹 객체를 삭제하면, 해당 그룹의 다중 값 member 속성 값들이 백그라운드에서 정리됩니다. 따라서 Windows 2000에서처럼 삭제가 단일 트랜잭션으로 완료되어야 할 필요가 없어, 매우 큰 그룹도 문제없이 삭제할 수 있습니다.
91. 문제: Active Directory-통합 DNS를 사용할 때, DNS 존 데이터는 어떻게 복제되나요?
답변: Active Directory-통합 DNS에서는 DNS 존 데이터가 Active Directory 내에 저장되며 , 응용 프로그램 디렉터리 파티션(예:
ForestDNSZones, DomainDNSZones)을 통해 다른 DNS 서버 역할을 하는 도메인 컨트롤러로 복제됩니다.
92. 문제: 이벤트 ID 1084는 어떤 문제를 나타내며, 어떻게 해결할 수 있나요?
답변: 이 이벤트는 "디렉터리 복제 에이전트(DRA)가 파티션을 동기화할 수 없습니다"라는 오류를 나타내며, 주로 DEL:<GUID> 또는 CNF:<GUID> 와 같은 손상된 객체나 속성이 원인입니다. 이 문제는 SP3 이상 버전의
Ntdsutil 도구에 포함된 go fixup 명령을 사용하여 손상된 속성을 정리함으로써 해결할 수 있습니다.
93. 문제: 사이트 내 복제 시, 링 토폴로지에서 직접적인 이웃이 아닌 DC와 연결되는 '최적화 연결(optimizing connections)'은 왜 생성되나요?
답변: 링 토폴로지만으로는 사이트 내 DC 수가 증가할수록(8대 이상) 한 DC에서 다른 DC까지의 복제 홉(hop) 수가 3개를 초과하여 지연 시간이 길어질 수 있습니다. KCC는 이 지연 시간을 3홉 이내로 유지하기 위해 무작위로 추가적인 최적화 연결을 생성합니다.
94. 문제: 관리자가 Active Directory 사이트 및 서비스 MMC에서 연결 객체의 속성을 변경하면 소유권은 어떻게 되나요?
답변: KCC가 자동으로 생성한 연결 객체를 Active Directory 사이트 및 서비스 UI를 사용하여 수정하면, 해당 객체는 자동에서 수동으로 변경되어 더 이상 KCC가 소유하지 않게 됩니다. 따라서 이후 KCC는 이 객체를 수정하거나 삭제하지 않습니다.
95. 문제: Kerberos 영역(realm)이 잘못 설정되어 LDAP 바인드 오류가 발생하는 경우, 어떤 레지스트리 키들을 확인해야 하나요?
답변: HKEY_LOCAL_MACHINE\SECURITY\Policy\PolPrDmN 키의 값과 HKEY_LOCAL_MACHINE\SECURITY\Policy\PolAcDmN 키의 값이 일치하는지 확인해야 합니다. 두 값이 다를 경우, PolPrDmN의 값을 PolAcDmN에 복사하여 붙여넣고 DC를 재시작해야 합니다.
96. 문제: msDS-NC-Replica-Locations 속성은 복제 토폴로지 생성에서 어떤 역할을 하나요?
답변: 이 속성은 교차 참조 객체에 존재하며, 특정 응용 프로그램 디렉터리 파티션의 복제본을 호스팅하도록 구성된 모든 도메인 컨트롤러의 NTDS 설정 객체 DN 목록을 저장합니다. KCC는 이 속성을 사용하여 해당 파티션의 복제본을 가진 DC들을 식별하고 필요한 복제 연결을 생성합니다.
97. 문제: 하나의 복제 패킷으로 전송될 수 있는 값의 대략적인 한계는 얼마인가요?
답변: 하나의 복제 패킷으로는 대략 100개의 값을 전송할 수 있습니다. 보낼 값이 이보다 많으면, 한 복제 주기 내에서 모든 값을 보낼 때까지 복제 교환이 계속됩니다.
98. 문제: DFS 사이트 비용 계산(site costing) 기능은 Bridge all site links 옵션과 어떤 관련이 있나요?
답변: Windows Server 2003 이상에서 DFS는 사이트 비용 계산을 위해 Intersite Messaging을 사용하여 비용 매트릭스를 계산해야 하며, 이를 위해서는 Bridge all site links 옵션이 활성화되어 있어야 합니다. 만약 이 옵션을 비활성화해야 하는 대규모 환경이라면, Windows Server 2003 SP1 이상에서는
repadmin /siteoptions 명령을 사용하여 KCC에 대해서만 자동 브리징을 비활성화하고 DFS 비용 계산은 가능하게 할 수 있습니다.
99. 문제: 동적 객체(dynamic objects)가 삭제될 때 툼스톤으로 처리되나요?
답변: 아니요, 동적 객체는 삭제될 때 툼스톤으로 처리되지 않고 TTL(Time-to-Live) 설정에 따라 Active Directory에서 바로 제거됩니다.
100. 문제: USN 롤백(rollback)이란 무엇이며, 이를 방지하기 위해 데이터베이스의 어떤 ID가 사용되나요? 답변: USN 롤백은 DC가 부적절한 복원(예: 스냅샷 복원)으로 인해 이전에 사용했던 USN을 재사용하게 되는 위험한 상태입니다. 이는 복제 불일치를 유발할 수 있습니다. 이를 방지하기 위해 Active Directory 복원 프로세스는 데이터베이스의 고유 ID인
invocationId를 변경합니다. 복제 파트너들은 invocationId가 변경된 것을 감지하고 해당 DC로부터의 복제를 새롭게 시작하여 롤백 상태를 방지합니다.
'IT' 카테고리의 다른 글
Windows Server 백업 (Windows Server Backup) 주요 특징 (0) | 2025.07.18 |
---|---|
Active Directory Replication (3) | 2025.07.11 |
Active Directory 복제 및 토폴로지 (7) | 2025.07.11 |
Active Directory 이벤트 로그 수집 (0) | 2024.06.28 |
Client-Server(CS)와 Web application 비교 (0) | 2024.06.27 |