IT 관리자는 Windows 2000 Server에서 기술이 도입된 이후 Active Directory를 사용하고 그 주변에서 작업해 왔습니다. Windows 2000 Server는 2000년 2월 17일 출시되었지만, 많은 관리자는 Active Directory가 1999년 12월 15일 제조용 출시(RTM)되었을 때인 1999년 말부터 작업을 시작했습니다.
이번 tutorial에서는 AD 복제에 대해 알아보겠습니다.
Active Directory 복제
Active Directory 복제는 한 DC에서 다른 DC로 Active Directory 개체를 전송하고 업데이트하는 방법입니다.
DC 간 연결은 포리스트 와 사이트 내 위치를 기준으로 구성됩니다. Active Directory의 각 사이트에는 하나 이상의 서브넷이 포함되며, 이는 해당 사이트와 연결된 IP 주소 범위를 식별합니다. DC의 IP 주소를 서브넷에 매핑하면 Active Directory는 어떤 DC가 어떤 사이트에 있는지 알 수 있습니다. Active Directory 개체가 사이트 간에 복제되도록 사이트 간 연결을 구성합니다.
기술
Active Directory 복제는 성공적으로 작동하기 위해 다음 기술에 의존합니다:
- DNS
- 원격 프로시저 호출(Remote procedure call, RPC)
- SMTP(선택 사항)
- Kerberos
- LDAP
주요 구성 요소
Active Directory에는 복제의 4가지 주요 구성 요소가 있습니다:
- 멀티마스터 복제
Windows NT 4.0에서 사용되던 단일 마스터 복제와 비교할 때, 멀티마스터 복제는 각 도메인 컨트롤러가 자신이 권한을 가지는(관리하는) 개체에 대한 업데이트를 받을 수 있도록 보장합니다. 이는 Active Directory 환경 내에서 장애 허용성을 제공합니다.
- 풀 복제
풀 복제(Pull replication)는 DC가 변경 사항을 푸시하는 대신 객체 변경을 요청하도록 보장합니다(특히 불필요하게). 풀링은 DC 간 복제 트래픽을 약간 줄여 줍니다.
- 저장 후 전달(store-and-forward) 복제
저장 후 전달(store-and-forward) 복제는 발생한 객체 변경 사항을 전송하기 위해 모든 DC가 DC의 일부 집합과 통신하도록 보장합니다. 저장 후 전달을 사용하면 모든 DC가 다른 모든 DC와 통신하게 되는데, 이는 비효율적입니다. 저장 후 전달 복제는 Active Directory 환경 내에서 DC 간 복제 부하를 균형 있게 분산합니다.
- 상태 기반 복제(state-based replication)
상태 기반 복제는 각 DC가 복제 업데이트의 상태를 추적하도록 보장하여, 충돌과 불필요한 복제를 제거합니다.
복제 관리
복제는 Knowledge Consistency Checker (KCC)가 관리합니다.
KCC는 자동으로 생성된 연결을 사용하여 단일 사이트 내의 DC 간 복제를 관리합니다. KCC는 구성 데이터를 읽고 DC에 대한 연결 개체를 읽고 씁니다. KCC는 디렉터리 서비스와 통신하기 위해서만 RPC를 사용합니다.
사이트 내 복제 는 압축을 사용하지 않으며 변경 사항은 즉시 DC에 전송됩니다. 하지만 사이트 간 복제는 생성해야 하는 사용자 정의 링크에 의존합니다. KCC는 이러한 링크를 사용해 토폴로지를 생성함으로써 사이트 간 링크 전반에서 복제가 관리되도록 합니다.
사이트 연결은 일정에 따라 제어할 수 있으며, 복제 데이터는 대역폭 사용량을 최소화하기 위해 압축됩니다. 사이트 간 연결의 기본 복제 일정 은 180분 인데, 이는 대부분의 조직에 대해 보통 너무 깁니다. 이는 GUI에서 15분 까지 낮게 구성할 수 있으며, 레지스트리를 수정하면 그보다 더 빠르게 설정할 수 있습니다.
복제 패킷 크기는 DC의 RAM 양을 기준으로 계산됩니다. 기본적으로 패킷 크기 제한은 RAM 크기의 1/100th이며, 최소 1MB, 최대 10MB입니다. 또한, 패킷당 개체 수의 최대값은 1/1,000,000th 시스템 RAM 크기의 값이며, 최소 100개체, 최대 1,000개체입니다. 따라서 RAM이 1GB를 초과하는 최신 서버에서는 복제 패킷 크기가 최대 10MB 데이터 또는 최대 1,000개체를 포함하게 됩니다. 최대 패킷 크기와 개체 한도는 HKEY_LOCAL_MACHINESystemCurrentControlSetServicesNTDSParameters 위치의 레지스트리를 수정하여 구성할 수 있습니다.
주요 복제 구성 요소
다음은 primary replication components 의 구성 요소입니다:
- Knowledge Consistency Checker (KCC)
KCC는 각 DC에서 실행되는 프로세스로, 복제 개체를 읽고 쓰기 위해 Ntdsa.dll과 직접 통신합니다.
- 디렉터리 시스템 에이전트(DSA)
DSA는 각 DC에서 Ntdsa.dll로 실행되는 디렉터리 서비스 구성 요소입니다. 서비스와 프로세스가 디렉터리 데이터베이스를 읽을 수 있도록 인터페이스를 제공합니다.
- 확장 가능 저장소 엔진(Extensible Storage Engine, ESE)
ESE는 하나 이상의 열을 포함할 수 있는 디렉터리 데이터베이스 레코드를 관리합니다.
- 원격 프로시저 호출(Remote Procedure Call, RPC)
디렉터리 복제는 RPC 프로토콜을 사용해 전달됩니다. RPC는 개발자가 원격 실행을 위한 특정 코드를 개발하지 않고도 로컬 또는 원격 시스템에서 코드를 실행할 수 있도록 해주는 통신 프로토콜입니다. 또한 KCC는 복제 토폴로지를 구성할 때 정보를 요청하기 위해 DC와 통신하는 데도 RPC를 사용합니다.
- Intersite Topology Generator (ISTG)
ISTG는 특정 사이트의 사이트 간(intersite) 인바운드 복제 연결 개체를 관리합니다. 각 사이트에는 하나의 ISTG 서버가 있습니다. 기본적으로 각 사이트의 첫 번째 DC가 ISTG입니다. 도메인 이름이 tailspintoys.com 이고 사이트 이름이 HQ인 곳에서 ISTG를 찾으려면 다음 Get- ADObject -Identity “cn=NTDS Site Settings,cn=HQ,cn=sites,cn=configuration,dc=tailspintoys,dc=com” -Properties interSiteTopologyGenerator |Select interSiteTopologyGenerator Windows PowerShell 명령을 실행할 수 있습니다.
KCC와 그 구성 요소에서 사용하는 Active Directory objects에는 다음이 포함됩니다:
- 사이트
사이트는 site class에 속하는 Active Directory 개체이며, 특정 사이트에 있는 서브넷에 해당합니다.
- 서브넷
서브넷 개체는 subnet class에 있으며, 사이트에 해당하는 네트워크 IP 서브넷을 정의합니다.
- 서버
서버 class에 있는 서버 개체는 DC를 포함한 서버 컴퓨터를 나타냅니다. 서버 개체는 별도의 디렉터리 파티션에 저장되고, 서로 다른 전역 고유 식별자(GUID)를 갖는 보안 주체로 취급됩니다.
- NTDS 설정
NTDS 설정 개체는 nTDSDSA 클래스에 있으며, 특정 DC에서의 Active Directory 인스턴스를 나타냅니다.
- 연결
연결 개체는 nTDSConnection 클래스에 있으며, 소스 DC에서 연결 개체를 저장하는 DC로의 단방향(수신) 경로를 정의합니다.
- 사이트 링크
Site Link 개체는 siteLink 클래스에 있으며, 둘 이상의 사이트 간에 데이터를 복제하기 위한 프로토콜과 일정을 식별합니다.
- NTDS 사이트 설정
NTDS Site Setting 개체는 nTDSSiteSettings 클래스에 있으며, Active Directory에 대한 사이트 전체 설정을 식별합니다. Sites 컨테이너에는 사이트당 NTDS Site Settings 개체가 하나만 있습니다.
- 교차 참조
교차 참조 개체는 crossRef 클래스에 있으며, Partitions 컨테이너에 Active Directory 파티션의 위치를 저장합니다.
아래 다이어그램은 일반적인 두 사이트 Active Directory 환경과 일부 복제 구성 요소를 보여줍니다.
복제 명령 및 도구
Windows Server 2012의 Windows PowerShell부터, Active Directory 복제를 전용으로 관리하기 위한 25개 cmdlet이 있습니다. 이러한 cmdlet은 복제 정보 보기, 사이트 구성, 사이트 링크 관리, 복제가 발생하도록 강제 실행 등의 기능을 제공합니다.
RepAdmin.exe 명령줄 도구도 사용할 수 있으며, Active Directory 복제에 대한 정보를 제공하고 구성할 수 있습니다.
또 다른 복제 도구는 Active Directory Replication Status Tool 입니다. http://www.microsoft.com/en-us/download/details.aspx?id=30005. 에서 사용할 수 있습니다. 이를 사용하여 Active Directory 복제를 분석하고 문제를 해결할 수 있습니다.
추가로 Active Directory basisc에 대해 더 알아보시려면 저희의 초보자를 위한 AD 튜토리얼.
공유하기
더 알아보기
저자 소개
Brian Svidergol
IT
Windows, Active Directory, Azure, Microsoft Exchange, System Center, 가상화, MDOP를 중심으로 구축된 Microsoft 인프라 및 클라우드 기반 솔루션 분야의 전문가입니다. Brian은 책을 집필하는 것뿐만 아니라 교육 콘텐츠와 백서를 작성하며, 다수의 책과 출판물에 대한 기술 검토자이기도 합니다.