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

복제본 초기화

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

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

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

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

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. 마지막 수준의 허브 복제본에서 전용 소비자에 있는 복제본을 초기화합니다.