다음을 통해 공유


애플리케이션 디렉터리 파티션 만들기

애플리케이션 디렉터리 파티션은 instanceType 특성 값이 DS_INSTANCETYPE_IS_NC_HEAD DS_INSTANCETYPE_NC_IS_WRITEABLE 결합된 domainDNS개체로 표시됩니다. 이 domainDNS 개체는 애플리케이션 디렉터리 파티션 루트(NC 헤드)를 나타내며, "dynamicdata.fabrikam.com"의 DNS 이름에 해당하는 일반 도메인 파티션(예: "DC=dynamicdata,DC=fabrikam,DC=com")과 유사하게 이름이 지정됩니다. 따라서 애플리케이션 디렉터리 파티션은 도메인 파티션을 인스턴스화할 수 있는 모든 위치에서 인스턴스화할 수 있습니다. 애플리케이션 디렉터리 파티션과 연결된 NetBIOS 이름이 없습니다.

애플리케이션 디렉터리 파티션을 중첩할 수 있습니다. 즉, 애플리케이션 디렉터리 파티션에는 자식 애플리케이션 디렉터리 파티션이 있을 수 있습니다. 하위 트리 scope 애플리케이션 디렉터리 파티션 헤드에 루팅된 검색은 자식 애플리케이션 디렉터리 파티션에 대한 연속 참조를 생성합니다.

애플리케이션 디렉터리 파티션 복제본(replica) Windows Server 2003 이상에서 실행되는 도메인 컨트롤러에서만 만들 수 있으며 windows Server 2003 이상 도메인 컨트롤러에서 Domain-Naming FSMO 역할을 보유하는 동안에만 만들 수 있습니다. Windows Server 2003 도메인 컨트롤러와 하위 수준 도메인 컨트롤러(Windows 2000 도메인 컨트롤러 또는 Windows NT 4.0 기본 도메인 컨트롤러)가 모두 있는 혼합 포리스트에서는 하위 수준 도메인 컨트롤러에서 애플리케이션 디렉터리 파티션 복제본(replica) 만들려는 시도가 실패합니다.

애플리케이션 디렉터리 파티션에는 구성 파티션의 Partitions 컨테이너에 해당 crossRef 개체도 있습니다. crossRefdomainDNS 개체를 만들기 전에 수동으로 미리 만들 수 있습니다. 미리 만든 crossRef 개체에는 다음 표에 표시된 특성 값이 있어야 합니다. 그렇지 않으면 파티션을 만들지 못합니다. crossRef 개체가 없는 경우 Active Directory 서버는 애플리케이션 디렉터리 파티션을 만들 때 만듭니다.

attribute Description
dnsRoot 애플리케이션 디렉터리 파티션을 만들 도메인 컨트롤러의 DNS 경로를 포함합니다.
사용 FALSE를 포함합니다.
Ncname 파티션의 고유 이름을 포함합니다. 위의 예제에서 이 특성에는 "DC=dynamicdata,DC=mydomain,DC=com"이 포함됩니다.

 

첫 번째 복제본(replica) 사용하여 새 애플리케이션 디렉터리 파티션을 만들려면 다음 단계를 수행합니다.

  1. ADsPath에서 애플리케이션 디렉터리 파티션을 호스트할 도메인 컨트롤러를 지정하여 새 파티션의 네임스페이스에 바인딩합니다. 예를 들어 ADsPath가 "DC=dynamicdata,DC=mydomain,DC=com"인 파티션을 만들려면 바인딩 ADsPath는 "LDAP://< 도메인 컨트롤러>/DC=mydomain,DC=com"입니다. 여기서 "<도메인 컨트롤러"는 파티션을 호스트할 도메인 컨트롤러>의 DNS 이름입니다.

    바인딩 작업은 빠른 및 위임 옵션을 지정해야 합니다. 빠른 옵션을 사용하면 네임스페이스가 없더라도 바인딩이 성공할 수 있습니다. 도메인 컨트롤러가 동일한 자격 증명을 사용하여 Domain-Naming FSMO 역할 소유자에게 연결할 수 있도록 하려면 위임 옵션이 필요합니다.

    도메인 컨트롤러의 시스템 버전은 Windows Server 2003 운영 체제 이상이어야 합니다.

  2. 파티션에 적절한 이름을 가진 domainDNS 개체(예: "DC=dynamicdata")를 만들어 새 파티션의 명명 컨텍스트 헤드를 나타냅니다. domainDNS 개체에는 값이 5(DS_INSTANCETYPE_IS_NC_HEAD DS_INSTANCETYPE_NC_IS_WRITEABLE | )인 instanceType 특성이 있어야 합니다. instanceType 특성은 시스템 전용 특성이므로 생성 시에만 설정할 수 있습니다.

domainDNS 개체를 만들면 Active Directory 서버는 다음 단계를 수행합니다.

  1. 파티션의 고유 이름과 일치하는 nCName 특성 값이 있는 Partitions 컨테이너에서 crossRef 개체를 검색하고 일치하는 항목이 발견되면 crossRef 개체를 수정하여 애플리케이션 디렉터리 파티션을 나타냅니다. 일치하는 crossRef 개체를 찾을 수 없는 경우 Active Directory 서버는 애플리케이션 디렉터리 파티션을 나타내는 새 crossRef 개체를 만듭니다.

    다음 표에서는 crossRef 개체의 중요한 특성을 나열합니다.

    attribute Description
    Ncname 파티션의 고유 이름을 포함합니다.
    dnsRoot 파티션의 DNS 이름을 포함합니다.
    msDS-NC-Replica-Locations 첫 번째 복제본(replica) 대한 도메인 컨트롤러의 nTDSDSA 개체의 고유 이름이 이 특성에 추가됩니다.

     

  2. 구성 파티션의 동기화를 시작하고 완료될 때까지 기다립니다. 이렇게 하면 클라이언트 애플리케이션이 애플리케이션 디렉터리 파티션을 만드는 데 사용되는 동일한 도메인 컨트롤러에 바인딩되는 동안 새로 만든 애플리케이션 디렉터리 파티션에 대한 구성 매개 변수를 수정할 수 있습니다.

  3. instanceType 속성에 설정된 DS_INSTANCETYPE_IS_NC_HEADDS_INSTANCETYPE_NC_IS_WRITEABLE 플래그를 사용하여 domainDNS 개체를 만듭니다. instanceType 속성에는 다른 프라이빗 플래그도 포함될 수 있습니다.

  4. 대상 도메인 컨트롤러에 대한 nTDSDSA 개체의 ms-DS-Has-Master-NCs 특성을 새로 만든 애플리케이션 디렉터리 파티션의 고유 이름으로 채웁니다.

애플리케이션 디렉터리 파티션을 만들거나 애플리케이션 디렉터리 파티션의 새 복제본(replica) 추가되고 완전히 동기화되면 Active Directory 서버는 NetLogon 및 DNS에 복제본(replica) 올바르게 등록합니다. 자세한 내용과 등록된 SRV 레코드 목록은 애플리케이션 디렉터리 파티션 호스트 서버 찾기를 참조하세요.

애플리케이션 디렉터리 파티션을 만드는 방법에 대한 자세한 내용은 애플리케이션 디렉터리 파티션 만들기에 대한 예제 코드를 참조하세요.

파티션 컨테이너 찾기

파티션 컨테이너의 고유 이름은 두 가지 방법 중 하나로 찾을 수 있습니다. 첫 번째 작업은 수행하기가 더 복잡하지만 항상 정확한 결과를 제공합니다.

  1. RootDSE에 바인딩하고 configurationNamingContext 특성을 가져옵니다.
  2. configurationNamingContext 특성을 사용하여 구성 컨테이너에 바인딩합니다.
  3. 구성 컨테이너에서 crossRefContainer 형식의 개체를 검색합니다.
  4. crossRefContainer 개체의 distinguishedName 특성 값을 가져옵니다. 파티션 컨테이너의 고유 이름이 됩니다.

파티션 컨테이너를 찾기 위한 이 메서드를 보여 주는 자세한 내용과 코드 예제는 파티션 컨테이너를 찾기 위한 예제 코드GetPartitionsDNSearch 함수를 참조하세요.

두 번째 메서드는 구현하기 쉽지만 특정 상대 고유 이름을 가진 파티션 컨테이너를 사용합니다. 현재 파티션 컨테이너의 이름을 변경할 수는 없지만 나중에 이 기능이 추가되면 파티션 컨테이너의 이름이 변경된 경우 아래 절차가 제대로 작동하지 않습니다.

  1. RootDSE에 바인딩하고 configurationNamingContext 특성을 가져옵니다.
  2. 문자열 "CN=Partitions"를 결합한 다음 configurationNamingContext 특성을 결합하여 Partitions 컨테이너의 고유 이름을 형성합니다. 고유 이름은 "CN=Partitions,configuration< DN>" 형식입니다.

파티션 컨테이너를 찾기 위한 이 메서드를 보여 주는 자세한 내용과 코드 예제는 파티션 컨테이너를 찾기 위한 예제 코드GetPartitionsDNManual 함수를 참조하세요.