Sun Java System Directory Server Enterprise Edition 6.2 관리 설명서

10장 디렉토리 서버 복제

복제는 디렉토리 내용을 디렉토리 서버에서 하나 이상의 다른 디렉토리 서버로 자동으로 복사하는 메커니즘입니다. 모든 쓰기 작업은 다른 디렉토리 서버에 자동으로 미러링됩니다. 복제 개념, 복제 시나리오 및 사용자 디렉토리 배포에 대한 복제 계획 방법 등에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Deployment Planning Guide를 참조하십시오.

복제 토폴로지에서 일반적으로 한 서버의 접미어는 해당 서버의 다른 접미어에 복제되거나 다른 접미어로부터 복제됩니다. 따라서 복제본, 복제된 접미어, 복제된 서버 등의 용어를 같은 의미로 사용할 수 있습니다.

이 장에서는 명령줄에서 다양한 복제 시나리오를 설정하는 작업에 대해 설명하며, 다음 내용으로 구성되어 있습니다.

복제 배포 계획

마스터 수에 제한 없이 복제 배포를 구성할 수 있습니다. 허브나 소비자를 배포에 포함시킬 필요는 없습니다. 허브 및 소비자에 대한 복제 구성 절차는 이 장에 포함되어 있지만 선택 사항입니다.

복제 구성을 시작하기 전에 조직에서 복제가 배포되는 방법을 정확하게 이해해야 합니다. Sun Java System Directory Server Enterprise Edition 6.2 Reference에 설명된 복제 개념을 이해해야 합니다. 또한 Sun Java System Directory Server Enterprise Edition 6.2 Deployment Planning Guide에 제공된 설계 지침에 따라 이후의 복제 구성을 신중하게 계획해야 합니다.

복제 구성 및 관리에 권장되는 인터페이스

복제를 구성 및 관리하는 가장 쉬운 방법은 디렉토리 서비스 제어 센터(Directory Service Control Center, DSCC)를 사용하는 것입니다. DSCC를 사용하여 복제를 자동으로 구성할 수 있습니다. 복제 토폴로지를 설정하는 데 필요한 자동화 수준을 선택할 수 있습니다. 예를 들어 복제 구성 중에 접미어를 초기화할지 여부를 선택할 수 있습니다. DSCC는 오류가 발생하지 않도록 검사 기능을 제공합니다. 또한 DSCC는 복제 토폴로지에 대한 그래픽 보기를 제공합니다.

DSCC 온라인 도움말에서는 DSCC를 사용하여 복제를 설정하는 절차에 대해 설명합니다.


주 –

DSCC를 사용하여 복제를 구성할 수 없는 경우에는 이 장에 설명된 명령줄 절차만 사용하십시오.


구성 복제 단계 요약

구성 복제 단계 요약에서는 단일 접미어를 복제한다고 가정합니다. 두 개 이상의 접미어를 복제하는 경우 접미어를 각 서버에 병렬로 구성할 수 있습니다. 즉, 각 단계를 반복하여 여러 접미어에 대한 복제를 구성할 수 있습니다.

이 장의 나머지 부분에서는 복제를 구성하는 방법에 대한 자세한 지침을 제공합니다.

Procedure구성 복제 단계 요약

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

복제 토폴로지를 구성하려면 이 절차에 요약된 일반 단계를 수행합니다.

  1. 전용 소비자 복제본이 있는 모든 서버에서 다음을 수행하십시오.

    1. 사용자 복제 접미어에 대해 빈 접미어를 만듭니다.

      소비자 복제본에 대한 접미어를 만드는 방법을 참조하십시오.

    2. 사용자 복제 접미어를 활성화합니다.

      소비자 복제본을 활성화하는 방법을 참조하십시오.

    3. (옵션) 고급 사용자 설정을 구성합니다.

      고급 사용자 구성을 수행하는 방법을 참조하십시오.

  2. 가능한 경우 허브 복제 접미어가 있는 모든 서버에서 다음을 수행하십시오.

    1. 허브 복제 접미어에 대해 빈 접미어를 만듭니다.

      허브 복제본에 대한 접미어를 만드는 방법을 참조하십시오.

    2. 허브 복제 접미어를 활성화합니다.

      허브 복제본을 활성화하는 방법을 참조하십시오.

    3. (옵션) 고급 허브 설정을 구성합니다.

      허브 복제본에 대한 변경 로그 설정을 수정하는 방법을 참조하십시오.

  3. 마스터 복제 접미어가 있는 모든 서버에서 다음을 수행하십시오.

    1. 마스터 복제 접미어에 대해 접미어를 만듭니다.

      마스터 복제본에 대한 접미어를 만드는 방법을 참조하십시오.

    2. 마스터 복제 접미어를 활성화합니다.

      마스터 복제본을 활성화하는 방법을 참조하십시오.

    3. (옵션) 고급 마스터 설정을 구성합니다.

      마스터 복제본에 대한 변경 로그 설정을 수정하는 방법을 참조하십시오.


    주 –

    복제 계약을 만든 후 소비자 복제본을 즉시 초기화할 수 있도록 복제 계약을 만들기 전에 모든 복제본을 활성화해야 합니다. 사용자 초기화는 항상 복제 설정의 마지막 단계에 수행해야 합니다.


  4. 복제 관리자 구성이 완료되었는지 확인합니다.

  5. 모든 마스터 복제본에 대한 복제 계약을 다음과 같이 만듭니다.

    1. 다중 마스터 토폴로지의 마스터 간

    2. 마스터 및 전용 사용자 간

    3. 마스터 및 허브 복제본 간

    복제 계약 만들기 및 변경을 참조하십시오.

  6. (옵션) 단편 복제를 사용하려면 지금 구성합니다.

    단편 복제를 참조하십시오.

  7. (옵션) 복제 우선 순위를 사용하려면 지금 구성합니다.

    복제 우선 순위를 참조하십시오.

  8. 허브 복제본과 해당 사용자 간에 복제 계약을 구성합니다.

    복제 계약 만들기 및 변경을 참조하십시오.

  9. 다중 마스터 복제의 경우 데이터의 원래 복사본이 포함된 동일한 마스터 복제본에서 모든 마스터를 초기화합니다.

    복제본 초기화를 참조하십시오.

  10. 허브와 소비자 복제본을 초기화합니다.

    복제본 초기화를 참조하십시오.

전용 소비자에 대한 복제 활성화

전용 소비자는 복제된 접미어의 읽기 전용 복사본으로,전용 소비자는 복제 관리자로 바인드하는 서버로부터 업데이트를 받아 항목을 변경합니다. 사용자 서버 구성은 복제된 접미어를 저장할 빈 접미어 준비와 해당 접미어에 대한 복제 활성화로 구성됩니다. 선택 사항인 고급 구성에는 참조 설정, 지연 제거 변경 및 등록 정보 수정이 포함될 수 있습니다.

다음 절에서는 서버에서 전용 사용자 복제 접미어를 구성하는 방법에 대해 설명합니다. 전용 사용자 복제 접미어가 포함될 각 서버에서 모든 절차를 반복합니다.

Procedure소비자 복제본에 대한 접미어를 만드는 방법

  1. 빈 접미어가 없으면 마스터 복제본과 동일한 DN을 가진 소비자에 대해 빈 접미어를 만듭니다.

    자세한 내용은 접미어 만들기를 참조하십시오.


    주의 – 주의 –

    내용이 포함된 접미어가 있으면 마스터를 사용하여 복제된 접미어를 초기화할 때 이 내용이 손실됩니다.


Procedure소비자 복제본을 활성화하는 방법

빈 접미어를 만든 후 사용자 복제 접미어를 활성화해야 합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 사용자 복제 접미어를 활성화합니다.


    $ dsconf enable-repl -h host -p port consumer suffix-DN
    

    예를 들면 다음과 같습니다.


    $ dsconf enable-repl -h host1 -p 1389 consumer dc=example,dc=com

Procedure고급 사용자 구성을 수행하는 방법

고급 기능에 대한 사용자 복제 접미어를 구성하려면 지금 구성합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. SSL을 참조로 사용하려면 보안 참조를 설정합니다.


    $ dsconf set-suffix-prop -h host -p port suffix-DN referral-url:ldaps://servername:port
    

    예를 들면 다음과 같습니다.


    $ dsconf set-suffix-prop -h host1 -p 1389 dc=example,dc=com \
     referral-url:ldaps://server2:2389

    복제 메커니즘은 자동으로 소비자에서 복제 토폴로지의 알려진 모든 마스터에 대한 참조를 반환하도록 구성합니다. 이러한 기본 참조는 클라이언트에서 일반 연결을 통한 단순한 인증을 사용한다고 가정합니다. 보안 연결을 위해 클라이언트에서 SSL을 사용하여 마스터에 바인드하려면 보안 port 번호를 사용하는 ldaps:// servername :port 형식의 참조를 추가하십시오. 마스터가 보안 연결에 대해서만 구성되어 있으면 URL이 기본적으로 보안 포트를 가리킵니다.

    하나 이상의 LDAP URL을 참조로 추가한 경우 소비자는 마스터 복제본이 아닌 LDAP URL에 대한 참조만 보내도록 할 수 있습니다. 예를 들어 클라이언트가 기본 포트가 아니라 마스터 서버의 보안 포트를 항상 참조한다고 가정합니다. 이러한 보안 포트에 대해 LDAP URL 목록을 만들고 해당 참조 사용을 위한 등록 정보를 설정합니다. 특정 마스터 또는 디렉토리 서버 프록시에서 모든 업데이트를 처리하도록 지정하려면 배타적 참조를 사용할 수도 있습니다.

  2. 소비자에 대한 복제 지연 제거를 변경하려면 다음 명령을 사용합니다.


    $ dsconf set-suffix-prop -h host -p port suffix-DN repl-purge-delay:time
    

    예를 들어 지연 제거를 2일로 설정하려면 다음을 입력합니다.


    $ dsconf set-suffix-prop -h host1 -p 1389 edc=example,dc=com repl-purge-delay:2d

    사용자 서버는 복제된 접미어 내용 업데이트에 대한 내부 정보를 저장하며, 지연 제거 매개 변수는 이 정보의 보관 기간을 지정합니다. 지연 제거는 소비자와 해당 마스터 간의 복제가 중단되고 정상적으로 복구될 수 있는 기간을 부분적으로 결정합니다. 이 매개 변수는 공급자 서버에 있는 변경 로그의 MaxAge 매개 변수와 관련이 있습니다. 두 매개 변수 중에서 작은 값이 두 서버 간의 복제를 비활성화하거나, 중단했다가 다시 정상적으로 복구할 수 있는 최대 기간을 지정합니다. 대부분의 경우 이 기간은 기본값 7일이면 충분합니다.

허브에서 복제 활성화

허브 복제본은 사용자 및 마스터로서의 기능을 동시에 수행함으로써 복제된 데이터를 다수의 소비자로 배포하며,공급자로부터 복제 업데이트를 받아 소비자에게 보냅니다. 허브 복제본은 수정을 승인하지 않고 마스터에 대한 참조를 반환합니다.

허브 서버 구성은 복제된 접미어를 저장할 빈 접미어 준비와 해당 접미어에 대한 복제 활성화로 구성됩니다. 선택 사항인 고급 구성에는 다른 복제 관리자 선택, 참조 설정, 지연 제거 설정, 변경 로그 매개 변수 수정 등이 있습니다.

다음 절에서는 단일 허브 서버를 구성하는 방법에 대해 설명합니다. 허브 복제 접미어가 포함될 각 서버에서 모든 절차를 반복합니다.

Procedure허브 복제본에 대한 접미어를 만드는 방법

  1. 빈 접미어가 없으면 마스터 복제본과 동일한 DN을 가진 허브 서버에 대해 빈 접미어를 만듭니다.

    자세한 내용은 접미어 만들기를 참조하십시오.

    내용이 포함된 접미어가 있으면 마스터를 사용하여 복제된 접미어를 초기화할 때 이 내용이 손실됩니다.

Procedure허브 복제본을 활성화하는 방법

허브 복제본이 있는 경우 지금 활성화합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 허브 복제 접미어를 활성화합니다.


    $ dsconf enable-repl -h host -p port hub suffix-DN
    

    예를 들면 다음과 같습니다.


    $ dsconf enable-repl -h host1 -p 1389 hub dc=example,dc=com

Procedure허브 복제본에 대한 변경 로그 설정을 수정하는 방법

고급 허브 구성의 경우 변경 로그와 관련된 매개 변수만 수정할 수 있습니다. 공급자로서의 허브 서버에는 변경 로그가 필요합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 허브에 대한 변경 로그 설정을 수정하려면 다음 명령 중 하나를 사용합니다.


    $ dsconf set-server-prop -h host -p port suffix-DN repl-cl-max-age:value
    

    $ dsconf set-server-prop -h host -p port suffix-DN repl-cl-max-entry-count:value
    

마스터 복제본에서 복제 활성화

마스터 복제본에는 데이터의 마스터 복사본이 포함되어 있으며 업데이트를 다른 모든 복제본으로 전파하기 전에 모든 수정 사항을 중앙 집중식으로 관리합니다. 마스터는 모든 변경 사항을 기록하고, 사용자 상태를 확인하며, 필요한 경우 소비자에게 업데이트를 보냅니다. 다중 마스터 복제 시 마스터 복제본은 다른 마스터로부터 업데이트를 받기도 합니다.

마스터 서버 구성은 마스터 복제본이 포함된 접미어 정의, 마스터 복제본 활성화, 필요한 경우 고급 복제를 위한 구성 등의 단계로 이루어져 있습니다.

다음 절에서는 단일 마스터 서버를 구성하는 방법에 대해 설명합니다. 마스터 복제 접미어가 포함될 각 서버에서 모든 절차를 반복합니다.

Procedure마스터 복제본에 대한 접미어를 만드는 방법

  1. 마스터 서버에서 복제할 항목이 포함될 접미어를 선택하거나 새로 만듭니다.

    자세한 내용은 접미어 만들기을 참조하십시오.

    다중 마스터 구성 및 활성화를 올바로 수행하려면 데이터가 있는 마스터 중 하나만 로드합니다. 그러면 다른 복제된 접미어의 데이터를 덮어쓰게 됩니다.

Procedure마스터 복제본을 활성화하는 방법

마스터에서 복제를 활성화할 경우 복제 아이디를 할당해야 합니다. 복제 아이디는 업데이트 문의 소유자를 구분하고 다중 마스터 복제에서 발생할 수 있는 충돌을 해결하는 데 사용됩니다. 따라서 복제 아이디는 이 접미어의 모든 마스터 복제본에 대해 고유해야 합니다. 복제 아이디는 설정하고 나면 변경할 수 없습니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 마스터 복제 접미어를 활성화합니다.


    $ dsconf enable-repl -h host -p port -d ReplicaID master suffix-DN
    

    여기서 ReplicaID는 1부터 65534 사이의 정수입니다.

    예를 들어 복제 아이디가 1인 마스터 복제 접미어를 만들려면 다음 명령을 사용합니다.


    $ dsconf enable-repl -h host1 -p 1389 -d 1 master dc=example,dc=com

Procedure마스터 복제본에 대한 변경 로그 설정을 수정하는 방법

고급 마스터 구성의 경우 변경 로그 설정을 수정할 수 있습니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 마스터에 대한 변경 로그 설정을 수정하려면 다음 명령 중 하나를 사용합니다.


    $ dsconf set-server-prop -h host -p port suffix-DN repl-cl-max-age:value
    

    $ dsconf set-server-prop -h host -p port suffix-DN repl-cl-max-entry-count:value
    

복제 관리자 구성

이 절에서는 기본값이 아닌 복제 관리자를 구성하고 기본 복제 관리자 비밀번호를 설정하는 방법에 대해 설명합니다.

기본값이 아닌 복제 관리자 사용

복제 관리자는 공급자가 복제 업데이트를 보낼 때 사용자 서버에 바인드하는 데 사용할 사용자입니다. 업데이트를 받는 접미어가 포함된 모든 서버에 복제 관리자 항목이 적어도 한 개는 있어야 합니다.

디렉토리 서버에는 특히 단순 복제 시니리오에서 모든 서버에 사용할 수 있는 기본 복제 관리자 항목이 있습니다. cn=replication manager,cn=replication,cn=config. 복제 메커니즘은 자동으로 이 사용자를 사용하여 소비자 복제본을 구성함으로써 복제본의 배포를 간소화합니다.

더 복잡한 복제 시나리오에서는 여러 복제 관리자가 복제된 접미어마다 다른 비밀번호를 사용하도록 할 수 있습니다. 기존의 기본 복제 관리자를 하나 이상의 새 복제 관리자로 대체할 수 있습니다.


주의 – 주의 –

복제 관리자의 DN과 비밀번호를 사용하여 서버에 대한 작업을 수행하거나 바인드하지 마십시오. 복제 관리자는 복제 메커니즘에서만 사용할 수 있습니다. 다른 용도로 사용하려면 복제본을 다시 초기화해야 할 수 있습니다.

디렉토리 관리자를 복제 관리자로 사용하지 마십시오. cn=admin,cn=Administrators,cn=config 항목이 다른 관리 작업에 사용되기 때문에 이 사용자나 관리자 그룹의 다른 사용자를 복제 관리자로 사용해서는 안 됩니다.


각 소비자에 대한 복제 관리자를 선택한 후 선택하거나 만든 복제 관리자 DN을 기억하십시오. 나중에 해당 공급자에서 소비자와의 복제 계약을 작성할 때 이 DN과 비밀번호를 사용해야 합니다.

Procedure기본값이 아닌 복제 관리자를 설정하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 모든 사용자(대상) 복제 접미어에서 새 복제 관리자와 비밀번호를 만듭니다.


    $ ldapmodify -a -h host -p port -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn:"cn=new-replication-manager,cn=replication,cn=config"
    objectclass: top
    objectclass: person
    userpassword:password
    sn:new-replication-manager
    

    예를 들면 다음과 같습니다.


    $ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn:"cn=ReplicationManager3,cn=replication,cn=config"
    objectclass: top
    objectclass: person
    userpassword:secret
    sn:ReplicationManager3
  2. 모든 사용자(대상) 복제 접미어에서 복제 관리자 바인드 DN을 설정합니다.


    $ dsconf set-suffix-prop -h host -p port suffix-DN \
     repl-manager-bind-dn:"cn=new-replication-manager,cn=replication,cn=config"

    예를 들면 다음과 같습니다.


    $ dsconf set-suffix-prop -h host1 -p 1389 dc=example,dc=com \
     repl-manager-bind-dn:"cn=ReplicationManager3,cn=replication,cn=config"
  3. 모든 공급자(소스) 복제 접미어에서 만든 모든 복제 계약에 대해 복제 관리자 바인드 DN을 설정합니다.

    1. 새 복제 관리자 비밀번호 설정을 위한 임시 파일을 만듭니다.

      이 파일을 읽고 나중에 사용하기 위해 비밀번호를 저장합니다.


      $ echo password > password-file
      
    2. 업데이트를 수행할 때 복제 메커니즘에서 사용할 복제 관리자 바인드 DN 및 비밀번호를 설정합니다.


      $ dsconf set-repl-agmt-prop -h host -p port suffix-DN host:port \
       auth-bind-dn:"cn=new-replication-manager,cn=replication,cn=config" \
       auth-pwd-file:password-file
      

      예를 들면 다음과 같습니다.


      $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
       auth-bind-dn:"cn=ReplicationManager3,cn=replication,cn=config" \
       auth-pwd-file:pwd.txt
    3. 임시 비밀번호 파일을 제거합니다.


      $ rm password-file
      

Procedure기본 복제 관리자 비밀번호를 변경하는 방법

  1. 복제 관리자 비밀번호 설정을 위한 임시 파일을 만듭니다.

    이 파일을 읽고 나중에 사용하기 위해 비밀번호를 저장합니다.


    $ echo password > password-file
    
  2. 복제 토폴로지의 모든 사용자(대상) 서버에서 복제 관리자 바인드 비밀번호를 설정합니다.


    $ dsconf set-server-prop -h host -p port def-repl-manager-pwd-file:password-file
    

    예를 들면 다음과 같습니다.


    $ dsconf set-server-prop -h host1 -p 1389 def-repl-manager-pwd-file:pwd.txt
  3. 임시 비밀번호 파일을 제거합니다.


    $ rm password-file
    

복제 계약 만들기 및 변경

복제 계약은 지정된 소비자에게 업데이트를 보내는 방법을 구성하고 제어하는 공급자 매개 변수 집합입니다. 복제 계약은 소비자에게 업데이트를 보내는 공급자 복제 접미어에서 만들어야 합니다. 업데이트할 모든 소비자에 대해 공급자에서 복제 계약을 만들어야 합니다.

Procedure복제 계약을 만드는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

DSCC를 사용하여 새 복제 계약을 만들려면 기존 복제 계약에서 복제 계약 구성 설정의 일부 또는 모두를 복사할 수 있습니다.

  1. 마스터 서버에서 복제할 각 소비자에 대해 복제 계약을 만듭니다.


    $ dsconf create-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port [consumer-host:consumer-port]

    예를 들면 다음과 같습니다.


    $ dsconf create-repl-agmt -h host1 -p 1389 dc=example,dc=com host2:1389

    명령줄을 사용하여 기존 복제 계약을 나열하려면 dsconf list-repl-agmts 명령을 사용합니다.


    주 –

    복제 중에 마스터에서 포트 번호를 변경할 경우 서버를 다시 초기화할 필요가 없습니다. 그러나 이전 주소(host:old-port)를 대상으로 하는 이전 복제 계약은 더 이상 사용할 수 없습니다. 포트 번호를 변경하기 전처럼 복제를 계속하려면 새 주소(host:new-port)를 사용하여 새 계약을 만들어야 합니다.


  2. 복제 계약이 올바로 만들어졌는지 확인합니다.


    $ dsconf show-repl-agmt-status -h host -p port suffix-DN consumer-host:consumer-port
    
  3. 인증 상태가 비정상인 경우 dsconf accord-repl-agmt 명령을 실행합니다.


    주 –

    기본 복제 관리자를 사용하는 경우에만 dsconf accord-repl-agmt 명령을 사용합니다. 새 복제 관리자를 만든 경우에는 이 명령을 사용하지 마십시오. 그렇지 않으면 일부 필수 설정을 덮어쓰게 됩니다.


    dsconf accord-repl-agmt 명령은 공급자 서버와 대상 서버가 동일한 복제 인증 설정을 공유하는지 확인합니다.


    $ dsconf accord-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port
    

    예를 들면 다음과 같습니다.


    $ dsconf accord-repl-agmt -h host2 -p 1389 dc=example,dc=com host1:1389

Procedure복제 계약의 대상을 변경하는 방법

이 절차를 수행하면 기존 복제 계약에 따라 대상이 지정된 원격 복제를 변경할 수 있습니다. 접미어 DN과 기존 계약의 구성은 그대로 유지됩니다.

  1. 복제 계약에 있는 원격 복제본의 호스트 이름과 포트 번호를 변경합니다.


    $ dsconf change-repl-dest -h host -p port suffix-DN host:port new-host:new-port
    

    -A protocol 옵션을 사용하여 이 명령을 실행한 경우에는 복제에 사용된 인증 프로토콜을 변경할 수 있습니다.

단편 복제

기본적으로 복제 작업은 복제된 접미어의 전체 항목을 소비자 복제본에 복사합니다. 단편 복제 기능을 사용하면 사용할 접미어와 포함 또는 제외시킬 속성을 선택할 수 있습니다. 단편 복제는 복제 계약에 구성되므로 마스터의 각 사용자 복제 접미어에 대한 속성 집합을 정의할 수 있으며, 배포할 데이터를 제어하고 복제 대역폭과 사용자 자원을 보다 효율적으로 사용할 수 있습니다.

예를 들어 복제 대역폭을 줄이려면 photo, jpegPhoto, audio와 같이 일반적으로 큰 값을 갖는 속성을 복제하지 않도록 선택할 수 있습니다. 이 경우 소비자에서는 이러한 속성을 사용할 수 없습니다. 다른 예로, uiduserpassword 속성만 인증 전용 사용자 서버로 복제하도록 선택할 수도 있습니다.

단편 복제 시 고려 사항


주 –

Directory Server 5.2 이전 버전에서는 단편 복제를 사용할 수 없습니다. 단편 복제 계약을 구성할 경우 마스터 복제본과 소비자 복제본 모두 Directory Server 5.2 이상을 사용해야 합니다.


속성의 단편 집합을 활성화하거나 수정하려면 소비자 복제본을 다시 초기화해야 하므로 배포 전에 단편 복제 요구를 결정하여 처음 복제된 접미어를 초기화하기 전에 속성 집합을 정의해야 합니다.

특정 속성에 대한 ACI, 역할, CoS 등 복잡한 기능의 종속성을 감안하여 소규모 속성 집합을 복제할 때는 특히 주의해야 합니다. 또한 ACI, 역할 또는 CoS 메커니즘의 지정자나 필터에 명시된 다른 속성을 복제하지 않으면 데이터 보안이 손상되거나 검색 시 다른 속성 집합이 반환될 수 있습니다. 제외할 속성 목록을 관리하는 것이 포함할 속성 목록을 관리하는 것보다 안전하고 실수할 위험이 적습니다.

복제할 속성 집합에서 복제된 항목의 일부만 스키마를 수행하도록 허용하는 경우에는 사용자 서버에서 스키마 검사를 비활성화해야 합니다. 복제 메커니즘에서 소비자에 대한 스키마 검사를 생략하기 때문에 비준수 항목을 복제해도 오류가 발생하지는 않지만 소비자에 비준수 항목이 포함되므로 클라이언트에 일관된 상태를 표시하려면 스키마 검사를 비활성화해야 합니다.

단편 복제는 허브 및 전용 소비자와 마스터 복제본 간의 복제 계약에 구성됩니다. 다중 마스터 복제 환경에서 두 마스터 복제본 간의 단편 복제 구성은 지원되지 않습니다. 또한, 여러 개의 마스터가 동일한 복제본과의 복제 계약을 구성하는 경우 모든 계약이 동일한 속성 집합을 복제해야 합니다.

Procedure단편 복제를 구성하는 방법

단편 복제를 구성하려면 접미어를 지정하고 해당 접미어에 속성을 포함시킬지 여부를 결정한 다음 포함 또는 제외시킬 속성을 선택해야 합니다. 접미어에서 속성을 제외하도록 선택하면 모든 다른 속성이 자동으로 포함됩니다. 마찬가지로 접미어에서 속성을 포함하도록 선택하면 모든 다른 속성이 자동으로 제외됩니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 소스 서버에 있는 복제 계약에서 단편 복제를 구성합니다.


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN consumer-host:consumer-port property:value
    

    여기서 propertyrepl-fractional-exclude-attr 또는 repl-fractional-include-attr입니다.

    예를 들어 dc=example,dc=com 접미어에 대한 복제에서 JPEG 및 TIFF 사진을 제외하도록 단편 복제를 구성하려면 다음 명령을 사용합니다.


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 
     repl-fractional-exclude-attr:jpegPhoto repl-fractional-exclude-attr:tiffPhoto

    제외할 기존 속성 목록에 속성을 추가하려면 다음 명령을 사용합니다.


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN consumer-host:consumer-port repl-fractional-exclude-attr+:attribute
    

복제 우선 순위

복제 우선 순위 지정은 선택 사항입니다. 사용자 비밀번호 업데이트와 같은 특정 변경을 높은 우선 순위로 복제하도록 지정하는 복제 규칙을 만들 수 있습니다. 복제 규칙에 지정된 변경은 높은 우선 순위로 복제되고, 모든 다른 변경 사항은 일반 우선 순위로 복제됩니다.


주 –

복제 우선 순위 규칙은 마스터 서버에서만 만들어야 합니다. 허브 및 소비자에 대해서는 구성할 필요가 없습니다.


Procedure복제 우선 순위를 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 마스터에서 새 복제 우선 순위 규칙을 만들려면 다음 명령을 사용합니다.


    $ dsconf create-repl-priority -h host -p port suffix-DN priority-name property:value
    

    다음 등록 정보 중 하나 이상을 사용하여 복제 우선 순위를 설정할 수 있습니다.

    • 작업 유형, op-type

    • 바인드 DN, bind-dn

    • 기본 DN, base-dn

    • 속성 유형, attr

    priority-name은 사용자 정의됩니다.

    예를 들어 사용자 비밀번호 변경을 높은 우선 순위로 복제하도록 지정하는 복제 규칙을 만들려면 다음 명령을 사용합니다.


    $ dsconf create-repl-priority -h host2 -p 1389 dc=example,dc=com pw-rule \
     attr:userPassword

    현재 복제 규칙을 표시하려면 dsconf list-repl-priorities -v 명령을 사용합니다. 이 명령에서 -v 옵션을 사용하면 우선 순위 복제 규칙과 관련된 추가 정보가 표시됩니다.


    $ dsconf list-repl-priorities -h host2 -p 1389 -v

    자세한 내용은 dsconf(1M) 설명서 페이지를 참조하십시오.

복제본 초기화

복제 계약을 만들고 두 복제본을 모두 구성한 후 복제를 시작하려면 사용자 복제 접미어를 초기화해야 합니다. 초기화 중에 공급자 복제 접미어의 데이터가 사용자 복제 접미어로 복사됩니다.

또한, 특정 오류 조건이나 구성 변경 시에는 복제본을 다시 초기화해야 합니다. 예를 들어 어떤 이유로든 백업을 사용하여 단일 마스터 복제 접미어 데이터를 복원한 경우에는 백업에서 업데이트하는 모든 복제본을 다시 초기화해야 합니다.

다시 초기화하면 소비자에 있는 복제된 접미어의 내용이 삭제되고 마스터에 있는 접미어의 내용으로 교체됩니다. 이렇게 함으로써 복제본이 동기화되어 복제 업데이트를 계속할 수 있습니다. 이 절에 설명된 모든 초기화 방법은 자동으로 소비자 복제본의 색인을 재구성하므로 소비자가 클라이언트 읽기 요청에 대해 적절하게 응답할 수 있습니다.

다중 마스터 복제 시 토폴로지의 다른 마스터에서 업데이트한 소비자는 다시 초기화하지 않아도 됩니다.

Procedure원격(공급자) 서버에서 복제된 접미어를 초기화하는 방법

기존 복제 계약을 사용하여 원격 서버에서 접미어를 초기화할 수 있습니다. 이 방법은 다른 방법보다 더 간단하므로 가능하면 이 방법을 사용하십시오. 데이터 용량이 커서 가져오는 데 많은 시간이 소요되는 경우에만 다른 방법을 사용하십시오.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

DSCC를 사용하여 복제된 접미어를 온라인으로 초기화하면 소비자를 쉽게 초기화 또는 다시 초기화할 수 있습니다. 그러나 많은 항목을 초기화하는 경우 이 프로세스를 사용하면 시간이 많이 소요될 수 있습니다. 이 경우 명령줄에서 소비자를 오프라인으로 초기화하는 것이 더 효율적일 수 있습니다.

  1. 복제본을 초기화합니다.


    $ dsconf init-repl-dest -h host -p port suffix-DN destination-host:destination-port [destination-host:destination-port]

    여기서 destination-host: destination-port는 원격 서버에서 초기화할 대상 서버의 호스트와 포트입니다.

  2. (옵션) 각 계약에 대해 접미어가 초기화된 상태로 표시되는지 확인합니다.


    $ dsconf show-repl-agmt-status -h host -p port suffix-DN destination-host:destination-port 
    

LDIF에서 복제본 초기화

ProcedureLDIF에서 복제된 접미어를 초기화하는 방법

이 절차에서는 LDIF 파일에서 복제된 접미어를 초기화하는 데 사용하는 일반 단계를 요약하여 설명합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

DSCC를 사용하여 복제된 접미어를 온라인으로 초기화하면 소비자를 쉽게 초기화 또는 다시 초기화할 수 있습니다. 그러나 많은 항목을 초기화하는 경우 이 프로세스를 사용하면 시간이 많이 소요될 수 있습니다. 이 경우 명령줄에서 소비자를 오프라인으로 초기화하는 것이 더 효율적일 수 있습니다.

  1. 복제 계약을 설정했는지 확인합니다.

    이 작업은 복제본을 초기화하기 전에 수행해야 합니다.

  2. 마스터 복제 접미어의 원본 접미어 데이터 복사본을 LDIF 파일로 내보냅니다.

    복제된 접미어를 LDIF로 내보내는 방법을 참조하십시오.

    다중 마스터 복제 환경에서는 원본 마스터에서 내보낸 LDIF 파일을 사용하여 다른 마스터 및 모든 소비자를 초기화할 수 있습니다. 계단식 복제 환경에서는 동일한 파일을 사용하여 허브 복제본과 해당 소비자를 모두 초기화할 수 있습니다.

    항상 구성된 마스터 복제본에서 내보낸 LDIF 파일부터 시작해야 합니다. 복제 메타 데이터가 포함되지 않은 임의의 LDIF 파일을 사용하여 모든 복제본을 초기화할 수는 없습니다.

  3. 단편 복제를 초기화할 경우 복제된 속성만 유지하도록 파일을 필터링한 다음 해당 파일을 모든 사용자 서버로 전송합니다.

    단편 복제를 위한 LDIF 파일 필터링 을 참조하십시오.

  4. 복제본을 초기화합니다.

    다음 중 하나를 수행합니다.

    • 오프라인(중지) 서버에서 빠르게 초기화하려면 dsadm import 명령을 사용합니다.


      $ dsadm import instance-path LDIF_file suffix-DN
      
    • LDIF 파일에서 복제본을 온라인으로 초기화하려면 dsconf import 명령을 사용합니다.


      $ dsconf import -h host -p port LDIF_file suffix-DN
      

      dsconf import 명령을 사용하면 dsadm import를 사용할 때보다 더 느리지만 가져오기 작업을 수행하는 동안 서버를 중지할 필요가 없습니다.

    접미어 초기화에 대한 자세한 내용과 예는 접미어 초기화를 참조하십시오. 명령 사용에 대한 자세한 내용은 dsadm(1M)dsconf(1M)을 참조하십시오.

  5. (옵션) 각 계약에 대해 접미어가 초기화된 상태로 표시되는지 확인합니다.


    $ dsconf show-repl-agmt-status -h host -p port suffix-DN destination-host:destination-port 
    

Procedure복제된 접미어를 LDIF로 내보내는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 다음 명령 중 하나를 사용하여 LDIF 파일의 복제된 접미어 내용을 내보냅니다.

    • 오프라인 내보내기의 경우 다음을 입력합니다.


      $ dsadm export instance-path suffix-DN LDIF_file
      
    • 온라인 내보내기의 경우 다음을 입력합니다.


      $ dsconf export -h host -p port suffix-DN LDIF_file
      

    다음 예에서는 전체 dc=example,dc=com 복제 접미어와 복제 정보를 example_replica_export.ldif 파일로 내보냅니다.


    $ dsconf export -h host2 -p 1389 dc=example,dc=com  \
     /local/ds/ldif/example_export_replica.ldif

    자세한 내용은 LDIF에 백업, dsadm(1M)dsconf(1M) 설명서 페이지를 참조하십시오.

단편 복제를 위한 LDIF 파일 필터링

DSCC를 사용하면 단편 복제가 구성된 복제본의 초기화를 투명하게 처리할 수 있습니다. 선택한 속성만 초기화 중에 소비자로 보내집니다.

단편 복제를 구성한 경우 내보낸 LDIF 파일을 사용자 서버에 복사하기 전에 사용되지 않는 속성을 필터링해야 합니다. 디렉토리 서버는 이러한 용도의 fildif 도구를 제공합니다. 이 도구는 특정 LDIF 파일을 필터링하여 복제 계약에 정의된 속성 집합에서 허용하는 속성만 유지합니다.

이 도구는 서버의 구성을 확인하여 속성 집합 정의를 결정합니다. 구성 파일을 읽으려면 루트나, 프로세스 및 파일을 소유한 사용자(nsslapd-localuser 속성으로 지정됨)로 fildif 도구를 실행해야 합니다. 예를 들어 아래 명령은 이전 예의 dc=example,dc=com 접미어에서 내보낸 파일을 필터링합니다.


$ fildif -i /local/ds1/ldif/example_master.ldif \
 -o /local/ds1/ldif/filtered.ldif -b "cn=host2.example.com:1389, \
 cn=replica,cn=\\"dc=example,dc=com\\",cn=mapping tree,cn=config" -p /local/ds1

fildif 명령의 위치는 명령 위치를 참조하십시오.

-i-o 옵션은 각각 입력 파일과 출력 파일을 나타냅니다. -b 옵션은 단편 복제가 정의된 복제 계약의 DN입니다. 다음 명령을 사용하여 이 DN을 찾을 수 있습니다.


$ ldapsearch -h host -p port -D cn=admin,cn=Administrators,cn=config -w - \
 -b "cn=config" "(&(objectclass=nsds5replicationagreement) (nsDS5ReplicaPort=replica-port) \
 (nsDS5ReplicaHost=replica-host))" dn

예를 들면 다음과 같습니다.


$ ldapsearch -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - \
 -b "cn=config" "(&(objectclass=nsds5replicationagreement) \
 (nsDS5ReplicaPort=2090)(nsDS5ReplicaHost=host2))" dn
Enter bind password:
version: 1
dn: cn=host2:1389,cn=replica,cn=dc\=example\,dc\=com,cn=mapping tree,cn=config

fildif 도구에 대한 전체 명령줄 구문은 fildif(1) 설명서 페이지를 참조하십시오.

그런 다음 fildif 도구에서 생성된 filtered.ldif 파일을 사용하여 이 복제 계약의 소비자를 초기화할 수 있습니다. 파일을 사용자 서버로 전송한 다음 LDIF 파일에서 데이터 가져오기에 설명된 것처럼 가져옵니다.

이진 복사를 사용하여 복제된 접미어 초기화

이진 복사는 한 서버의 이진 백업 파일을 사용하여 다른 서버에 동일한 디렉토리 내용을 복원함으로써 전체 서버를 복제합니다. 이진 복사를 사용하면 마스터 또는 허브 서버의 이진 복사본에서 서버를 초기화 또는 다시 초기화하거나, 다른 사용자 서버의 이진 복사본에서 소비자를 초기화 또는 다시 초기화할 수 있습니다.


주 –

이 고급 절차는 디렉토리 서버의 데이터베이스 파일과 상호 작용하며 숙련된 관리자만 사용해야 합니다.

이 기능의 특정 제한 사항으로 인해 이진 복사는 수백만 개의 항목이 포함된 복제본과 같이 대규모 데이터베이스 파일이 있는 복제본에만 실용적이며 시간 효율적입니다.


복제에서 이진 복사 사용을 위한 제한 사항

이진 복사 기능은 한 시스템의 데이터베이스 파일을 다른 시스템으로 이동하기 때문에 메커니즘에 다음과 같은 엄격한 제한이 적용됩니다.

서버 초기화를 위한 이진 복사본 만들기

이 절에서는 서버 초기화를 위한 이진 복사본을 만드는 방법과 최소 디스크 공간을 사용하는 이진 복사본을 만드는 방법에 대해 설명합니다.

Procedure서버 초기화를 위한 이진 복사본을 만드는 방법

이 절차에서는 복제된 서버 초기화를 위한 이진 복사를 수행합니다. 이 작업에서는 정상적인 백업 기능을 사용하여 서버 데이터베이스 파일을 복사합니다. 정상적인 백업을 수행하면 서버를 중지할 필요 없이 모든 데이터베이스 파일을 일관된 상태로 유지할 수 있습니다.

이 절차에는 특정 제한 사항이 있습니다. 백업 및 복원 작업 시 같은 시스템에 데이터베이스 파일의 복사본이 작성되므로 데이터베이스 파일에 필요한 각 시스템의 디스크 공간이 두 배로 증가합니다. 또한 디렉토리에 기가바이트의 데이터가 포함되어 있을 경우 데이터베이스 파일에 대한 실제 복사 작업에 상당한 시간이 소요될 수 있습니다.

이 절차의 일부로, DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오. 해당 절차의 다른 부분은 명령줄에서만 수행할 수 있습니다.

  1. 새 복제 접미어의 대상 시스템에 디렉토리 서버를 설치하고, 필요한 경우 새 서버 인스턴스를 만든 다음 복제에서 이진 복사 사용을 위한 제한 사항에 따라 서버를 구성합니다.

  2. 복제 토폴로지에 이 복제된 접미어를 포함하는 모든 복제 계약을 만듭니다.

    이 복제본에 공급자의 계약을 포함시킵니다. 이 복제본이 전용 소비자가 아닌 경우 복제본의 계약을 해당 소비자에 포함시킵니다. 복제 계약 만들기 및 변경을 참조하십시오.

  3. 초기화하려는 유형과 같은 유형(마스터, 허브 또는 사용자)의, 완전히 구성 및 초기화된 복제본을 선택하고 이진 백업의 절차에 따라 정상적인 백업을 수행합니다.

  4. ftp 명령을 사용하여 백업 디렉토리의 파일을 대상 시스템의 디렉토리로 복사 또는 전송합니다.

  5. 다중 복제 시나리오에서 새 마스터를 초기화한 경우 다중 마스터 시나리오에서 마스터 복원의 절차를 수행합니다.

Procedure이진 복사를 사용하여 최소 디스크 공간에서 서버를 초기화하는 방법

이 절차에서는 데이터베이스 파일의 백업 복사본을 만들지 않으므로 더 적은 디스크 공간을 사용하며, 따라서 소요되는 시간도 단축됩니다. 하지만 이 경우에는 데이터베이스 파일의 일관된 상태를 유지하기 위해 복제되는 서버를 중지해야 합니다.


주의 – 주의 –

다중 마스터 복제 시나리오에서 이미 사용되고 있는 마스터를 다시 초기화할 때는 이 절차를 사용할 수 없습니다. 이 절차는 사용자 서버를 다시 초기화하거나 새 마스터 서버를 초기화하는 경우에만 사용해야 합니다. 기존 마스터 복제본을 다시 초기화하려면 온라인 초기화를 사용하거나, LDIF 파일을 가져오거나, 서버 초기화를 위한 이진 복사본 만들기의 절차를 수행합니다.


이 절차의 일부로, DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오. 해당 절차의 다른 부분은 명령줄에서만 수행할 수 있습니다.

  1. 새 복제 접미어의 대상 시스템에 디렉토리 서버를 설치하고, 필요한 경우 새 서버 인스턴스를 만든 다음 복제에서 이진 복사 사용을 위한 제한 사항에 따라 서버를 구성합니다.

  2. 복제 토폴로지에 이 복제본과 연결된 모든 복제 계약을 작성합니다.

    이 복제본에 공급자의 계약을 포함시킵니다. 이 복제본이 전용 소비자가 아닌 경우 복제본의 계약을 해당 소비자에 포함시킵니다. 복제 계약 만들기 및 변경을 참조하십시오.

  3. 디렉토리 서버 인스턴스 시작, 중지 및 다시 시작 에 설명된 것처럼 초기화 또는 다시 초기화할 대상 서버를 중지합니다.

  4. 초기화하려는 유형과 같은 유형(마스터, 허브 또는 사용자)의, 완전히 구성 및 초기화된 복제본을 선택하고 서버도 중지합니다.

    다중 마스터 구성의 마스터 복제본을 복제하는 경우 이 복제본을 중지하기 전에 다른 마스터의 최신 변경 사항이 모두 적용되어 있는지 확인합니다.

  5. 트랜잭션 로그, 변경 로그 및 지역 파일(__db.xxx files)을 포함한 모든 데이터베이스 파일을 대상 서버에서 제거합니다.

    파일 위치를 변경하지 않은 경우 데이터베이스 파일과 트랜잭션 로그는 instance-path/db 디렉토리에 있습니다.

  6. ftp 등의 명령을 사용하여 트랜잭션 로그 및 변경 로그를 포함한 모든 데이터베이스 파일을 소스 복제본 시스템에서 대상 시스템으로 복사하거나 전송합니다.

    파일 위치를 변경하지 않은 경우 데이터베이스 파일과 트랜잭션 로그는 instance-path/db 디렉토리에 있습니다.

    마스터 또는 허브 복제본을 초기화할 경우 기본적으로 instance-path/changelog에 있는 변경 로그의 모든 파일도 함께 복사해야 합니다.

  7. 소스 및 대상 서버를 모두 다시 시작합니다.

계단식 복제 시 복제본 초기화

계단식 복제의 경우 복제본을 다음 절차에 표시된 순서로 항상 초기화합니다.

Procedure계단식 복제 시 복제본을 초기화하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 다중 마스터 복제가 있는 경우 하나의 마스터에 복제할 전체 데이터 집합이 있는지 확인한 다음 이 마스터를 사용하여 각 마스터에서 복제본을 초기화합니다.

  2. 해당 마스터 복제본을 사용하여 첫 수준의 허브 복제본에 있는 복제본을 초기화합니다.

  3. 여러 수준의 허브가 있는 경우 이전에 초기화한 수준의 허브를 사용하여 각 수준을 초기화합니다.

  4. 마지막 수준의 허브 복제본에서 전용 소비자에 있는 복제본을 초기화합니다.

복제된 접미어 색인화

색인은 다른 서버 인스턴스로 자동으로 복제되지 않습니다. 복제된 접미어를 보유하는 모든 서버 인스턴스에 대한 속성을 색인화하려면 다음 작업 중 하나를 수행합니다.

대용량 복제된 접미어에 많은 항목을 증분하여 추가

항목이 많은 디렉토리에 대용량의 항목을 추가하려면 ldapmodify -a 명령을 사용하지 마십시오. 그러면 많은 시간이 소요됩니다. 대신 복제된 토폴로지에서 항목을 추가하는 옵션과 함께 dsconf import 명령을 사용하여 새 항목을 증분하여 추가하십시오. 항목을 가져오면 복제 메타 데이터와 추가 항목이 포함된 LDIF 파일이 생성됩니다. 그런 다음 생성된 이 LDIF 파일을 다른 복제본으로 가져옵니다. 생성된 LDIF 파일은 데이터를 추가하는 복제본을 통해 복제 동기화가 일관되게 수행되는지 확인합니다.

Procedure대용량 복제된 접미어에 많은 항목을 추가하는 방법

시작하기 전에

이 절차에서는 대용량 LDIF 파일을 생성합니다. 첫 번째 dsconf import 명령을 실행하기 전에 생성되는 LDIF 파일을 위한 충분한 디스크 공간이 있는지 확인합니다.

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.


주의 – 주의 –

이 절차를 사용하여 여러 번에 걸쳐 많은 항목이 있는 서버를 초기화할 수 있습니다. 그러나 가져오기 중 하나가 실패할 경우 전체 데이터베이스가 손실될 수 있습니다. 따라서 가져오기를 수행하기 전에 항상 데이터를 백업합니다.


  1. 마스터 복제본에서 항목을 가져옵니다.


    $ dsconf import -h host -p port -K generated-LDIF-file suffix-DN
    

    -K 옵션을 사용하면 기존 데이터가 제거되지 않습니다. 또한 복제 프로세스에 필요한 새로운 항목과 정보를 포함하는 generated-LDIF-file 파일을 생성합니다.

  2. 모든 다른 복제본에서 이전 단계에서 생성된 파일을 가져옵니다.


    $ dsconf import -h host -p port \
    -K -f incremental-output=no generated-LDIF-file suffix-DN
    

    -f incremental-output=no 옵션은 추가 LDIF 파일이 생성되지 않도록 지정합니다. 이 절차에는 생성된 LDIF 파일이 하나만 필요합니다.

복제 및 참조 무결성

복제에서 참조 무결성 플러그인을 사용하는 경우 모든 마스터 서버에서 해당 플러그인을 활성화해야 합니다. 허브나 사용자 서버에서는 활성화할 필요가 없습니다.

복제 환경에서 참조 무결성 플러그인을 사용하려면 다음과 같은 제한 사항이 있습니다.

참조 무결성 플러그인을 구성하는 방법에 대한 자세한 내용은 참조 무결성 플러그인을 구성하는 방법을 참조하십시오.

SSL을 통한 복제

모든 복제 작업이 SSL 연결을 통해 수행되도록 복제에 포함된 디렉토리 서버를 구성할 수 있습니다.

ProcedureSSL에 대한 복제 작업을 구성하는 방법

이 절차에서는 두 개의 마스터가 있는 복제 토폴로지에서 복제를 설정하는 명령 예를 보여줍니다.


주 –

이 예에서는 자체 서명된 인증서를 사용하는 간단한 복제 구성을 보여줍니다. 작업 환경에서 SSL을 통해 복제를 설정할 경우 인증 기관의 신뢰할 수 있는 인증서를 사용하면 보안이 향상됩니다.

공급자 서버 인증서가 SSL 핸드셰이크 중에 클라이언트 역할을 할 수 없는 SSL 서버 전용 인증서이면 SSL을 통한 복제가 제대로 수행되지 않습니다.


복제가 SSL에 의해 보안되는 동안에도 간단한 바인드 및 비밀번호를 사용하여 복제 관리자 인증이 계속 수행됩니다. 클라이언트 기반 인증을 사용하여 복제를 완벽하게 보안할 수 있지만, 이렇게 하려면 보다 복잡한 설정이 필요합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 새 서버를 만든 다음 시작합니다.


    $ dsadm create -p 1389 -P 1636 /local/ds1
    $ dsadm create -p 2389 -P 2636 /local/ds2
    
    $ dsadm start /local/ds1
    $ dsadm start /local/ds2
  2. 모든 서버에서 빈 접미어를 만듭니다.


    $ dsconf create-suffix -e -i -p 1389 dc=example,dc=com
    $ dsconf create-suffix -e -i -p 2389 dc=example,dc=com
  3. 모든 서버에서 다중 마스터 비밀번호 파일을 설정합니다.


    $ dsconf set-server-prop -e -i -h example1.server -p 1389 \
     def-repl-manager-pwd-file:/local/ds1/replmanrpwd1.txt
    $ dsconf set-server-prop -e -i -h example2.server -p 2389 \
     def-repl-manager-pwd-file:/local/ds1/replmanrpwd2.txt
  4. 모든 서버에서 복제를 활성화합니다.


    $ dsconf enable-repl -h example1.server -p 1389 -e -i -d 1 master dc=example,dc=com
    $ dsconf enable-repl -h example2.server -p 2389 -e -i -d 2 master dc=example,dc=com
  5. 모든 서버에서 기존 기본 인증서를 봅니다.


    $ dsadm show-cert -F der -o certfile1 /local/ds1 defaultCert
    $ dsadm show-cert -F der -o certfile2 /local/ds2 defaultCert
  6. 모든 서버에서 모든 다른 서버의 신뢰할 수 있는 CA 인증서를 추가합니다.


    $ dsadm add-cert --ca /local/ds1 "ds2 Repl Manager Cert" certfile2
    $ dsadm add-cert --ca /local/ds2 "ds1 Repl Manager Cert" certfile1
  7. 모든 마스터와 허브(소스) 서버에서 모든 사용자(대상) 서버를 사용하여 복제 계약을 만듭니다.

    보안 LDAP 포트가 복제 계약에 사용됩니다.


    $ dsconf create-repl-agmt -h example1.server -p 1389 -e -i \
     --auth-protocol "ssl-simple" dc=example,dc=com example2.server:2636
    $ dsconf create-repl-agmt -h example2.server -p 2389 -e -i \
     --auth-protocol "ssl-simple" dc=example,dc=com example1.server:1636
  8. 모든 복제 계약에 대해 복제 계약에 있는 사용자(대상) 서버의 복제 관리자 파일이 되도록 인증 비밀번호 파일을 구성합니다.


    $ dsconf set-repl-agmt-prop -h example1.server -p 1389 -e -i \
     dc=example,dc=com example2.server:2636 auth-pwd-file:/local/ds1/replmanrpwd2.txt
    $ dsconf set-repl-agmt-prop -h example2.server -p 2389 -e -i \
     dc=example,dc=com example1.server:1636 auth-pwd-file:/local/ds1/replmanrpwd1.txt

    접미어 초기화가 끝나면 공급자는 SSL을 통해 모든 복제 업데이트 메시지를 소비자에게 보내며, 해당 옵션을 선택한 경우 인증서를 사용합니다. DSCC에서 SSL용으로 구성된 계약을 사용하면 사용자 초기화 시에도 보안 연결이 사용됩니다.

  9. 모든 서버에서 서버를 다시 시작하여 구성 변경을 적용합니다.


    $ dsadm restart /local/ds1
    $ dsadm restart /local/ds2
  10. 마스터 서버 중 하나에서 접미어를 초기화합니다.


    $ dsconf import -h example1.server -p 1389 -e -i /tmp/Example.ldif dc=example,dc=com
  11. 아직 초기화되지 않은 모든 서버에서 복제 계약을 사용하여 서버를 초기화합니다.


    $ dsconf init-repl-dest -e -i -h example1.server -p 1389 \
     dc=example,dc=com example1.server:2636

WAN을 통한 복제

디렉토리 서버에서는 WAN을 통해 연결된 시스템 간의 다중 마스터 복제를 포함하여 모든 형태의 복제를 수행할 수 있습니다. 공급자 서버에서는 이 복제를 통해 높은 대기 시간과 낮은 대역폭을 가진 네트워크의 대역폭을 최대한 활용하여 소비자를 초기화하고 업데이트할 수 있습니다.


주 –

WAN을 통해 복제되는 복제 토폴로지를 배포하거나 문제를 해결할 경우 네트워크 속도, 대기 시간 및 패킷 손실을 확인해야 합니다. 이러한 영역의 네트워크 문제는 복제 지연을 초래할 수 있습니다.

또한 복제 데이터 전송 속도는 대역폭의 측면에서 사용 가능한 물리적 매체가 허용하는 속도보다 항상 떨어집니다. 복제본 간의 업데이트 용량이 사용 가능한 대역폭에 모두 수용되지 않으면 조정을 통해서도 복제본이 과도한 업데이트 로드로 인해 분산되는 것을 방지할 수 없습니다. 복제 지연 및 업데이트 성능은 수정 속도, 항목 크기, 서버 하드웨어, 오류율, 평균 대기 시간, 평균 대역폭 등 다양한 요인에 의해 결정되며, 이에 제한되지 않습니다.

사용자 환경의 복제에 대한 질문 사항이 있는 경우 Sun 서비스 공급자에게 문의하십시오.


복제 메커니즘의 내부 매개 변수는 기본적으로 WAN에 최적화되어 있습니다. 하지만 위에 명시된 요인들로 인해 복제 속도가 느려질 경우 경험적으로 창 크기 및 그룹 크기 매개 변수를 조정할 수 있습니다. 네트워크 사용량이 많은 시간을 피해 복제를 예약함으로써 전체적인 네트워크 사용을 향상시킬 수도 있습니다. 마지막으로 디렉토리 서버는 대역폭 사용 최적화를 위해 복제 데이터 압축을 지원합니다.

네트워크 매개 변수 구성

창 및 그룹 네트워크 매개 변수는 네트워크에서 보다 효율적으로 항목을 전송하기 위해 복제 메커니즘에서 항목을 그룹화하는 방법을 결정합니다. 이 두 매개 변수는 공급자 및 소비자가 복제 업데이트 메시지와 승인을 교환하는 방법에도 영향을 줍니다. 매개 변수는 모든 복제 계약에서 구성할 수 있으므로 각 소비자의 특정 네트워크 조건에 따라 복제 성능을 조정할 수 있습니다.

수정 결과를 모니터하고 매개 변수를 적절하게 조정합니다. 자세한 내용은 복제 상태 가져오기를 참조하십시오. 창 크기 및 그룹 크기 매개 변수를 수정하는 경우 복제를 중단할 필요가 없습니다.

창 크기 구성

창 크기(기본값 10)는 소비자로부터의 즉각적인 응답 없이 보낼 수 있는 최대 업데이트 메시지 수를 나타냅니다.

각각의 메시지 후에 승인을 기다리지 않고 다수의 메시지를 연속해서 빨리 보내는 것이 더욱 효율적입니다. 적절한 창 크기를 사용하면 복제본이 복제 업데이트 또는 승인이 도착할 때까지 기다리는 시간을 줄일 수 있습니다.

소비자 복제본이 공급자보다 지연되는 경우, 창 크기를 기본값보다 높은 값(예: 100)으로 증가시키고 다른 조정 작업을 수행하기 전에 복제 성능을 다시 확인합니다. 복제 업데이트 속도가 빠르고 업데이트 간격이 짧으면 LAN(Local Area Network)으로 연결된 복제본에서도 창 크기를 높게 설정하는 것이 좋습니다.

Procedure창 크기를 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 창 크기를 수정합니다.


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN consumer-host:consumer-port transport-window-size:value
    

    예를 들면 다음과 같습니다.


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     transport-window-size:20

그룹 크기 구성

그룹 크기(기본값 1)는 하나의 업데이트 메시지로 처리할 수 있는 최대 데이터 수정 항목 수를 나타냅니다. 네트워크 연결이 복제 과정에 방해가 되는 경우, 그룹 크기를 기본값보다 높은 값(예: 10)으로 증가시키고 복제 성능을 다시 확인합니다.

그룹 크기를 늘릴 경우 다음을 확인해야 합니다.

Procedure그룹 크기를 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 그룹 크기를 수정합니다.


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN \
     consumer-host:consumer-port transport-group-size:value
    

    예를 들면 다음과 같습니다.


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     transport-group-size:10

복제 작업 예약

복제본 간에 즉시 동기화할 필요가 없으면 네트워크 사용량이 적은 기간 동안 복제를 예약할 수 있습니다. 네트워크 사용량이 적을수록 데이터 복제가 더 빠르게 완료됩니다.

복제를 특정 시간, 매일 또는 매주 시작하고 끝내도록 예약할 수 있습니다. 복제 계약을 통해 이 작업을 모든 소비자에 대해 개별적으로 수행할 수 있습니다. 새 일정이 즉시 적용되므로 해당 소비자에 대한 다음 데이터 복제는 일정에 처음 부합될 때까지 지연됩니다.

Procedure복제 작업을 예약하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 복제 일정을 수정합니다.


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN \
     host:port repl-schedule:value
    

    예를 들어 매일 밤 2시와 4시 사이에 복제가 발생하도록 설정하려면 다음을 입력합니다.


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     repl-schedule:"0200-0400 0123456"

    여기서 0123456은 요일을 나타냅니다. 즉, 0은 일요일을, 1은 월요일을 나타냅니다.

복제 압축 구성

복제의 대역폭 사용량을 줄이려면 소비자를 업데이트할 때 데이터를 압축하여 보내도록 복제를 구성할 수 있습니다. 복제 메커니즘은 Zlib 압축 라이브러리를 사용합니다.. 압축을 사용하려면 공급자와 소비자 모두 Solaris 또는 Linux 플랫폼에서 실행해야 합니다.

명시적인 테스트를 통해 사용자의 WAN 환경의 예상 복제 사용에 대해 가장 우수한 결과를 제공하는 압축 수준을 선택해야 합니다. 압축 및 압축 해제 계산으로 인해 복제가 느려지므로 네트워크 대역폭이 충분한 LAN에서는 이 매개 변수를 설정하지 마십시오.

Procedure복제 압축을 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 마스터 서버에서 복제 계약 항목에 대한 복제 압축을 구성합니다.


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN \
     consumer-host:consumer-port transport-compression:level
    

    여기서 levelhigh, medium, low 또는 none입니다.

    예를 들어 복제 업데이트를 host1:1389에 있는 소비자에게 보낼 때 가장 빠른 압축을 사용하려면 다음을 입력합니다.


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     transport-compression:high

    압축 수준 설정에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference를 참조하십시오.

복제 토폴로지 수정

이 절에서는 기존 복제 토폴로지 관리의 해당 특징에 대해 설명합니다.

복제 관리자 변경

복제 계약을 편집하여 사용자 서버에 바인드할 때 사용하는 복제 관리자 아이디를 변경할 수 있습니다. 복제 중단을 방지하려면 복제 계약을 수정하기 전에 소비자에 새 복제 관리자 항목 또는 인증서 항목을 정의해야 합니다. 하지만 바인드 실패로 인해 복제가 중단된 경우 복제 메커니즘은 복제 복구 설정의 제한 내에서 오류 수정에 필요한 모든 업데이트를 자동으로 보냅니다. 절차는 기본값이 아닌 복제 관리자 사용을 참조하십시오.

복제 계약 관리

복제 계약을 비활성화, 활성화 또는 삭제할 수 있습니다.

복제 계약 비활성화

복제 계약을 비활성화하면 마스터에서 지정된 소비자로 업데이트를 보내지 않습니다. 이 경우 해당 서버에 대한 복제가 중지되지만 모든 계약 설정은 그대로 유지됩니다. 나중에 계약을 다시 활성화하면 복제를 계속할 수 있습니다. 중단 후에 복제 메커니즘을 다시 시작하는 방법에 대한 자세한 내용은 복제 계약 활성화를 참조하십시오.

Procedure복제 계약을 비활성화하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 복제 계약을 비활성화합니다.


    $ dsconf disable-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port
    

    예를 들면 다음과 같습니다.


    $ dsconf disable-repl-agmt -h host2 -p 1389 dc=example,dc=com host1:1389

복제 계약 활성화

복제 계약을 활성화하면 지정된 소비자부터 복제가 계속됩니다. 하지만 복제 복구 설정에서 허용하는 기간보다 오랫동안 복제가 중단되었으며 다른 공급자가 소비자를 업데이트하지 않은 경우에는 소비자를 다시 초기화해야 합니다. 복제 복구 설정은 이 공급자 변경 로그 및 사용자 지연 제거의 최대 크기와 사용 기간입니다( 고급 사용자 구성을 수행하는 방법 참조).

중단 기간이 짧고 복제를 복구할 수 있으면 마스터는 계약이 다시 활성화될 때 자동으로 소비자를 업데이트합니다.

Procedure복제 계약을 활성화하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 복제 계약을 활성화합니다.


    $ dsconf -h host -p port enable-repl-agmt suffix-DN consumer-host:consumer-port
    

    예를 들면 다음과 같습니다.


    $ dsconf -h host2 -p 1389 enable-repl-agmt dc=example,dc=com host1:1389

복제 계약 삭제

복제 계약을 삭제하면 해당 소비자에 대한 복제가 중지되고 계약에 대한 모든 구성 정보가 제거됩니다. 나중에 복제를 계속하려면 복제 계약 비활성화에 설명된 것처럼 계약을 비활성화합니다.

Procedure복제 계약을 삭제하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 복제 계약을 삭제합니다.


    $ dsconf delete-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port
    

    예를 들면 다음과 같습니다.


    $ dsconf delete-repl-agmt -h host2 -p 1389 dc=example,dc=com host1:1389

복제본 수준 올리기 또는 내리기

복제본 수준을 올리거나 내리면 복제 토폴로지에서 해당 역할이 변경됩니다. 전용 사용자의 수준을 올리면 허브가 되고 허브의 수준을 올리면 마스터가 됩니다. 이와 마찬가지로 마스터의 수준을 내리면 허브가 되고 허브의 수준을 내리면 전용 사용자가 됩니다. 하지만 마스터 수준을 직접 사용자로 내리거나 사용자 수준을 직접 마스터로 올릴 수는 없습니다.

다중 마스터 복제 메커니즘에서 수준 올리기 및 내리기를 사용하면 토폴로지의 유연성이 크게 증가합니다. 이전에 소비자 복제본으로 처리한 사이트의 규모가 커지면 증가한 로드를 처리하기 위해 여러 개의 복제본이 있는 허브가 필요합니다. 복제본 내용에 대한 다수의 수정이 로드에 포함되어 있으면 신속한 로컬 변경을 허용하는 마스터가 되어 다른 사이트의 다른 마스터로 변경 사항을 복제할 수 있습니다.

접미어 수준을 올리거나 내릴 경우 다음에 유의하십시오.

Procedure복제본 수준을 올리거나 내리는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 다음 명령 중 하나를 사용하여 복제본의 수준을 올리거나 내립니다.


    $ dsconf promote-repl -h host -p port role suffix-DN
    

    $ dsconf demote-repl -h host -p port role suffix-DN
    

    여기서 rolemaster, hub 또는 consumer입니다.

복제된 접미어 비활성화

복제된 접미어를 비활성화하면 복제 토폴로지에서 이 복제 접미어가 제거되어 마스터, 허브 또는 사용자 역할에 따라 업데이트되거나 업데이트를 보내지 않습니다. 공급자 서버에서 접미어를 비활성화하면 모든 복제 계약이 삭제되며 다시 복제본을 활성화할 경우 새로 복제 계약을 만들어야 합니다.

Procedure복제된 접미어를 비활성화하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 복제된 접미어를 비활성화합니다.


    $ dsconf disable-repl -h host -p port suffix-DN
    

    예를 들면 다음과 같습니다.


    $ dsconf disable-repl -h host2 -p 1389 dc=example,dc=com

복제된 접미어를 동기화된 상태로 유지

정기 유지관리 작업을 위해 복제에 포함된 디렉토리 서버를 중지했다가 다시 온라인으로 전환할 경우 복제를 통해 즉시 업데이트되는지 확인해야 합니다. 다중 마스터 환경의 마스터인 경우 다중 마스터 집합의 다른 마스터가 디렉토리 정보를 업데이트해야 합니다. 유지 관리를 위해 오프라인 상태로 설정했던 허브 서버나 전용 사용자 서버가 다시 온라인 상태가 되면 마스터 서버가 이를 업데이트해야 합니다.

이 절에서는 복제 재시도 알고리즘 및 다음 재시도를 기다리지 않고 복제 업데이트를 수행하도록 강제하는 방법에 대해 설명합니다.


주 –

이 절에 설명된 절차는 복제가 이미 설정되어 있고, 또한 소비자가 초기화된 경우에만 사용할 수 있습니다.


복제 재시도 알고리즘

소스 복제본이 대상에 복제되지 않은 경우 증분된 시간 간격으로 복제를 주기적으로 다시 시도합니다. 재시도 간격은 오류 유형에 따라 다릅니다.

항상 소스 복제본과 대상 복제본의 동기화를 유지하도록 복제 계약을 구성한 경우에도 5분 이상 오프라인 상태였던 복제본을 즉시 업데이트하기는 어렵습니다.

Procedure복제를 강제로 업데이트하는 방법

복제가 중지된 경우 대상 접미어에 대한 복제 업데이트를 강제로 수행할 수 있습니다.

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 소스 서버에서 대상 서버에 대한 복제 업데이트를 다시 시작합니다.


    $ dsconf update-repl-dest-now -h host -p port suffix-DN destination-host:destination-port
    

    예를 들면 다음과 같습니다.


    $ dsconf update-repl-dest-now -h host2 -p 1389 dc=example,dc=com host1:1389

새 시스템으로 마스터 복제본 이동

경우에 따라 마스터 복제본을 다른 시스템으로 이동해야 할 수도 있습니다. 동일한 호스트 이름과 포트 번호를 사용할 필요가 없는 경우 dsconf change-repl-dest를 사용하여 원격 복제본의 호스트 이름과 포트 번호를 변경합니다. 자세한 내용은 복제 계약의 대상을 변경하는 방법을 참조하십시오.

동일한 호스트 이름과 포트 번호를 유지해야 할 경우 기존 토폴로지에서 마스터를 제거한 다음 해당 마스터를 토폴로지에 다시 추가해야 합니다.

DSCC는 영향 받는 모든 복제 계약을 다루기 때문에 DSCC를 사용하여 해당 작업을 쉽게 수행할 수 있습니다. 그러나 DSCC를 사용하면 마스터가 원래 토폴로지에 있었던 것과 동일한 복제 아이디를 지정할 수 없습니다. 동일한 복제 아이디를 사용하려면 명령줄을 사용하여 다음과 같이 해당 작업을 수행해야 합니다.

Procedure기존 복제 토폴로지에서 마스터를 제거하는 방법

시작하기 전에

마스터의 모든 변경 사항이 이미 복제되었는지 확인합니다.

  1. 가능한 경우 변경 사항이 손실되지 않도록 이진 복사를 사용하여 마스터를 백업합니다.

  2. 마스터 복제본의 수준을 허브 복제본의 수준으로 내립니다.

    복제본 수준 올리기 또는 내리기를 참조하십시오.

  3. 허브에서 다른 서버로 복제를 시작할 때까지 기다립니다.

    허브에서 토폴로지의 다른 서버에 복제 세션을 여는 경우 허브는 RUV에 남아 있지만 더 이상 참조에서 사용되지 않습니다.

  4. 허브를 중지합니다.

    디렉토리 서버 인스턴스 시작, 중지 및 다시 시작 을 참조하십시오.

  5. 토폴로지에서 허브를 제거합니다.

    복제된 접미어 비활성화를 참조하십시오.

Procedure기존 복제 토폴로지에 마스터를 추가하는 방법

  1. 동일한 복제 아이디를 사용하여 마스터 복제본을 추가합니다.

    마스터 복제본에서 복제 활성화를 참조하십시오.

  2. 토폴로지의 해당 마스터에서 다른 복제본까지 복제 계약을 다시 만듭니다.

  3. 새 마스터를 초기화합니다.

    1. 마스터를 백업할 수 있는 경우 이 백업에서 마스터를 초기화합니다.

    2. 마스터를 백업할 수 없는 경우(시스템 중단으로 인해) 토폴로지에 있는 다른 마스터에서 마스터를 초기화합니다.

Directory Server 6.2 이전 버전의 복제

절에서는 Directory Server 6.2 이전 버전에서 복제를 구성하는 방법에 대해 설명합니다.

Directory Server 6.2 및 Directory Server 5.1 또는 5.2 간의 복제

Directory Server 5.1, 5.2 및 6.2은 복제 구성이 호환되지만 다음과 같은 예외가 있습니다.

레트로 변경 로그 사용

레트로 변경 로그는 LDAP 클라이언트에서 디렉토리 서버 데이터에 대한 변경 기록을 확인하는 데 사용됩니다. 레트로 변경 로그는 디렉토리 서버 변경 로그와는 다른 별도의 데이터베이스에서 cn=changelog 접미어 아래에 저장됩니다.

레트로 변경 로그는 독립형 서버나 복제 토폴로지의 각 서버에서 활성화할 수 있습니다. 레트로 변경 로그를 서버에서 활성화하면 기본적으로 해당 서버의 모든 접미어 업데이트가 기록됩니다. 지정된 접미어에 대한 업데이트만 기록하도록 레트로 변경 로그를 구성할 수 있습니다.

복제된 토폴로지에서의 레트로 변경 로그 사용에 대한 자세한 내용과 레트로 변경 로그 사용 제한 사항은 Sun Java System Directory Server Enterprise Edition 6.2 ReferenceReplication and the Retro Change Log Plug-In을 참조하십시오.

레트로 변경 로그의 항목 속성에 대한 자세한 내용은 changeLogEntry(5dsoc) 설명서 페이지를 참조하십시오.

레트로 변경 로그 수정에 대한 자세한 내용은 dsconf(1M) 설명서 페이지를 참조하십시오.

이 절에서는 레트로 변경 로그를 사용할 수 있는 다양한 방법에 대해 설명합니다.

Procedure레트로 변경 로그를 활성화하는 방법

레트로 변경 로그를 사용하려면 먼저 활성화해야 합니다.

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 레트로 변경 로그 구성 항목을 수정합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-enabled:on
  2. 서버를 다시 시작합니다.

    자세한 내용은 디렉토리 서버 인스턴스 시작, 중지 및 다시 시작 을 참조하십시오.

Procedure지정된 접미어에 대한 업데이트를 기록하도록 레트로 변경 로그를 구성하는 방법

레트로 변경 로그를 서버에서 활성화하면 기본적으로 해당 서버의 모든 접미어 업데이트가 기록됩니다. 이 절차에서는 지정된 접미어에 대한 업데이트만 기록하도록 레트로 변경 로그를 구성하는 방법에 대해 설명합니다.

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 레트로 변경 로그 구성 항목을 수정합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-suffix-dn:suffix-DN
    

    예를 들어 cn=Contractors,dc=example,dc=com 접미어와 ou=People,dc=example,dc=com 접미어에 대해서만 변경을 기록하려면 다음 명령을 사용합니다.


    $ dsconf set-server-prop -h host2 -p 1389 \
     retro-cl-suffix-dn:"cn=Contractors,dc=example,dc=com" \
     retro-cl-suffix-dn:"ou=People,dc=example,dc=com"

    지정된 접미어의 기존 목록에 접미어를 추가하려면 이 명령을 사용합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-suffix-dn+:suffix-DN
    
  2. 서버를 다시 시작합니다.

    자세한 내용은 디렉토리 서버 인스턴스 시작, 중지 및 다시 시작 을 참조하십시오.

Procedure삭제된 항목의 속성을 기록하도록 레트로 변경 로그를 구성하는 방법

이 절차에서는 삭제된 항목의 지정된 속성을 기록하도록 레트로 변경 로그를 구성하는 방법에 대해 설명합니다.

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 기록해야 할 속성을 지정합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-deleted-entry-attr: \
     attribute1 attribute2
    

    예를 들어 삭제된 항목의 UID 속성을 기록하도록 레트로 변경 로그를 설정하려면 다음 명령을 사용합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-deleted-entry-attr:uid

    지정된 속성의 기존 목록에 속성을 추가하려면 이 명령을 사용합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-deleted-entry-attr+:attribute
    
  2. 서버를 다시 시작합니다.

    자세한 내용은 디렉토리 서버 인스턴스 시작, 중지 및 다시 시작 을 참조하십시오.

Procedure레트로 변경 로그를 지우는 방법

레트로 변경 로그의 항목은 지정된 기간이 경과한 후 자동으로 제거할 수 있습니다. 항목을 자동으로 삭제할 기간을 구성하려면 레트로 변경 로그가 활성화되어 있는지 확인한 다음 cn=Retro Changelog Plugin, cn=plugins, cn=config 항목의 nsslapd-changelogmaxage 구성 속성을 설정합니다.

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 레트로 변경 로그가 활성화되어 있는지 확인합니다.


    $ dsconf get-server-prop -h host -p port retro-cl-enabled
  2. 레트로 변경 로그가 활성화되지 않은 경우 활성화합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-enabled:on
  3. 기록된 변경 사항에 대한 최대 사용 기간을 설정합니다.


    $ dsconf set-server-prop -h host -p port retro-cl-max-age:duration
    

    여기서 durationundefined(사용 기간 제한 없음) 또는 다음 중 하나입니다.

    • s - 초

    • m - 분

    • h - 시

    • d - 일

    • w - 주

    예를 들어 레트로 변경 로그 최대 사용 기간을 2일로 설정하려면 다음을 입력합니다.


    $ dsconf set-server-prop -h host 2 -p 1389 retro-cl-max-age:2d

    레트로 변경 로그는 변경 로그에 대한 다음 작업을 수행할 때 지워집니다.

액세스 제어 및 레트로 변경 로그

레트로 변경 로그는 검색 작업을 지원하며, 다음과 같은 형식의 필터를 사용한 검색에 최적화되어 있습니다.


(&(changeNumber>=X)(changeNumber<=Y))

일반적으로 레트로 변경 로그 항목에서는 추가 또는 수정 작업을 수행하지 않습니다. 항목을 삭제하여 로그 크기를 줄일 수 있습니다. 기본 액세스 제어 정책을 수정하는 경우에만 레트로 변경 로그에 대한 수정 작업을 수행해야 합니다.

레트로 변경 로그가 만들어지고 기본적으로 다음 액세스 제어 규칙이 적용됩니다.

레트로 변경 로그에 적용되는 기본 액세스 제어 정책을 수정하려면 cn=changelog 항목의 aci 속성을 수정합니다. 6 장, 디렉토리 서버 액세스 제어을 참조하십시오.

복제 상태 가져오기

DSCC 또는 명령줄 도구를 사용하여 복제 상태를 볼 수 있습니다.

DSCC에서 복제 상태 가져오기

접미어 탭을 사용하여 복제 계약, 복제 지연 등을 포함하여 복제를 그래픽으로 볼 수 있습니다. 자세한 내용은 DSCC 온라인 도움말을 참조하십시오.

또한 DSCC를 사용하여 아래 그림과 같이 복제 토폴로지를 볼 수 있습니다.

그림 10–1 복제 토폴로지 예

DSCC의 복제 토폴로지 예

복제 상태 명령줄 사용 가져오기

DSCC를 사용할 수 없는 경우 명령줄 도구를 사용하여 복제 배포에 대한 정보를 가져옵니다.

설명서 페이지는 이러한 도구의 사용 예와 전체 명령줄 구문을 제공합니다.

이러한 명령이 있는 디렉토리를 찾으려면 명령 위치를 참조하십시오.

일반적인 복제 충돌 해결

다중 마스터 복제 시에는 일관성이 낮은 복제 모델이 사용되므로 여러 서버에서 동일한 항목을 동시에 수정할 수 있습니다. 따라서 두 서버 간에 업데이트를 전송하는 경우 충돌하는 변경 사항을 해결해야 합니다. 대부분의 해결은 자동으로 수행됩니다. 예를 들어 각 서버에서 변경과 연관된 타임스탬프는 우선 순위를 가진 최신 변경에 따라 해결됩니다. 일부 변경 충돌은 해결을 위해 수동으로 개입해야 하는 경우도 있습니다.

이 절은 다음 내용으로 구성되어 있습니다.

DSCC를 사용하여 복제 충돌 해결

복제 충돌을 해결하는 가장 쉬운 방법은 DSCC를 사용하는 것입니다. 자세한 내용은 DSCC 온라인 도움말을 참조하십시오.

명령줄을 사용하여 복제 충돌 해결

명령줄을 사용하여 복제 충돌을 해결할 수 있습니다. 복제 프로세스에서 자동으로 해결할 수 없는 변경 충돌이 있는 항목에는 작동 가능 속성인 nsds5ReplConflict가 충돌 표식으로 포함되어 있습니다.

충돌하는 항목을 찾으려면 이 속성을 포함하는 항목을 주기적으로 검색합니다. 예를 들어 다음 ldapsearch 명령을 사용하여 충돌하는 항목을 찾을 수 있습니다.


$ ldapsearch -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config \
 -w - -b "dc=example,dc=com" "(nsds5ReplConflict=*)"

nsds5ReplConflict 속성은 기본적으로 색인화됩니다.

이름 지정 충돌 해결

서버가 변경 사항을 서로에게 복제하기 전에 항목이 작성되면 동일한 DN을 가진 항목이 각각의 마스터에 존재할 수 있습니다. 복제 시 충돌 해결 기법은 두 번째로 작성된 항목의 이름을 자동으로 바꿉니다.

DN 이름이 충돌하는 항목은 작동 가능 속성인 nsuniqueid로 지정된 고유 식별자가 해당 DN에 추가된 새 이름으로 바뀝니다.

예를 들어 uid=bjensen,ou=People,dc=example,dc=com 항목을 두 마스터에서 동시에 만들면 복제 후에 다음 두 항목이 두 서버에 모두 포함됩니다.

두 번째 항목에 유용한 DN을 지정해야 합니다. 충돌하는 항목을 삭제하고 충돌하지 않는 이름을 사용하여 항목을 다시 추가할 수도 있지만항목의 이름을 바꾸면 해당 내용이 변경되지 않습니다. 이름 변경 절차는 이름 지정 속성이 한 개 값을 갖는지 또는 여러 값을 갖는지에 따라 달라집니다. 다음 절차를 참조하십시오.

Procedure여러 값을 갖는 이름 지정 속성이 있는 충돌 항목의 이름을 바꾸는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 이전 RDN 값을 유지하면서 항목의 이름을 바꿉니다. 예를 들면 다음과 같습니다.


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: nsuniqueid=66446001-1dd211b2-66225011-2ee211db+uid=bjensen,dc=example,dc=com
    changetype: modrdn
    newrdn: uid=bj66446001
    deleteoldrdn: 0
    ^D

    삭제할 수 없는 작동 가능 속성인 nsuniqueid도 포함되어 있으므로 이 단계에서는 이전 RDN 값을 삭제할 수 없습니다.

  2. 이름 지정 속성의 이전 RDN 값과 충돌 표식 속성을 제거합니다. 예를 들면 다음과 같습니다.


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: uid=bj66446001,dc=example,dc=com
    changetype: modify
    delete: uid
    uid: bjensen
    -
    delete: nsds5ReplConflict
    ^D

Procedure단일 값을 갖는 이름 지정 속성이 있는 충돌 항목의 이름을 바꾸는 방법

중복 항목의 이름 지정 속성이 한 개의 값을 가지면(예: dc) 항목의 이름을 단순히 동일한 속성의 다른 값으로 바꿀 수 없으므로 임시 이름을 지정해야 합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 다른 이름 지정 속성을 사용하여 항목의 이름을 바꾸고 이전 RDN을 유지합니다. 예를 들면 다음과 같습니다.


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: nsuniqueid=66446001-1dd211b2-66225011-2ee211db+dc=HR,dc=example,dc=com
    changetype: modrdn
    newrdn: o=TempHREntry
    deleteoldrdn: 0
    ^D

    삭제할 수 없는 작동 가능 속성인 nsuniqueid도 포함되어 있으므로 이 단계에서는 이전 RDN 값을 삭제할 수 없습니다.

  2. 원하는 이름 지정 속성을 고유한 값으로 변경하고 충돌 표식 속성을 제거합니다. 예를 들면 다음과 같습니다.


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: o=TempHREntry,dc=example,dc=com
    changetype: modify
    replace: dc
    dc: NewHR
    delete: nsds5ReplConflict
    ^D
  3. 항목의 이름을 다시 해당 이름 지정 속성으로 바꿉니다. 예를 들면 다음과 같습니다.


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: dc=NewHR,dc=example,dc=com
    changetype: modrdn
    newrdn: dc=HR
    deleteoldrdn: 1
    ^D

    deleteoldrdn 속성 값을 1로 설정하여 임시 속성 값 쌍인 o=TempName을 삭제합니다. 이 속성을 유지하려면 deleteoldrdn 속성 값을 0으로 설정합니다.

고아 항목 충돌 해결

삭제 작업을 복제할 때 사용자 서버에서 삭제할 항목에 자식 항목이 있음을 발견하면 충돌 해결 절차는 연결 항목을 만들어 디렉토리에 고아 항목이 발생하지 않도록 방지합니다.

이와 마찬가지로 추가 작업을 복제할 때 사용자 서버에서 부모 항목을 찾을 수 없으면 충돌 해결 절차는 새 항목이 고아 항목이 되지 않도록 부모가 될 연결 항목을 만듭니다.

연결 항목은 glueextensibleObject 객체 클래스를 포함하는 임시 항목으로, 다음과 같은 여러 가지 방법으로 만들 수 있습니다.

잠재적 상호 운용성 문제 해결

메일 서버처럼 속성 고유성에 의존하는 응용 프로그램과의 상호 운용성을 위해 nsds5ReplConflict 속성이 포함된 항목에 대한 액세스를 제한해야 할 수도 있습니다. 이러한 항목에 대한 액세스를 제한하지 않으면 한 개의 속성만 필요한 응용 프로그램이 nsds5ReplConflict가 포함된 충돌 해결 항목과 원래 항목을 모두 받게 되므로 작업이 실패합니다.

액세스를 제한하려면 아래 명령을 실행하여 익명 읽기 액세스를 부여하는 기본 ACI를 수정해야 합니다.


$ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password:
dn: dc=example,dc=com
changetype: modify
delete: aci
aci: (target ="ldap:///dc=example,dc=com")
 (targetattr !="userPassword"
 (version 3.0;acl "Anonymous read-search  access";
 allow (read, search, compare)(userdn = "ldap:///anyone");)
-
add: aci
aci: (target="ldap:///dc=example,dc=com")
 (targetattr!="userPassword")
 (targetfilter="(!(nsds5ReplConflict=*))")(version 3.0;acl
 "Anonymous read-search access";allow (read, search, compare)
 (userdn="ldap:///anyone");)
^D

새 ACI는 nsds5ReplConflict 속성을 포함한 항목이 검색 결과로 반환되지 않도록 필터링합니다.