10.2. 복제 토폴로지에서 공급업체 제거
복제 토폴로지에서 공급자를 깔끔하게 제거하는 것은 허브 또는 소비자를 제거하는 것보다 더 복잡합니다. 이는 토폴로지의 모든 공급자가 다른 공급 업체에 대한 정보를 저장하고 공급자가 갑자기 사용할 수 없게 되는 경우에도 해당 정보를 유지하기 때문입니다.
Directory Server는 RUV(복제 업데이트 벡터)라는 메타데이터 세트에서 복제 토폴로지에 대한 정보를 유지 관리합니다. RUV에는 로컬 서버의 ID, URL, 최신 변경 상태 번호(CSN) 및 첫 번째 변경과 같은 공급자에 대한 정보가 포함되어 있습니다. 공급업체와 소비자 모두 RUV 정보를 저장하고 복제 업데이트를 제어하는 데 사용합니다.
공급업체를 깔끔하게 제거하려면 구성 항목과 함께 메타데이터를 제거해야 합니다.
사전 요구 사항
- 제거할 인스턴스는 공급자입니다.
 - 호스트를 제거할 호스트가 토폴로지의 다른 서버의 공급자 역할을 하는 경우, 다른 공급업체 또는 허브를 구성하여 이러한 서버에 데이터를 복제하여 격리되지 않도록 합니다.
 
프로세스
다음을 제거할 공급자에서 다음을 수행합니다.
접미사 및 해당 데이터베이스를 나열합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix list
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix list dc=example,dc=com (userroot)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터베이스 이름을 확인합니다.
추가 업데이트를 방지하려면 데이터베이스를 읽기 전용 모드로 설정합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --enable-readonly "userroot"
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --enable-readonly "userroot"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 토폴로지의 다른 모든 서버가 이 공급자로부터 모든 데이터를 수신할 때까지 기다립니다. 확인하려면 다른 서버의 CSN이 공급자의 CSN보다 크거나 같은지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제본 ID를 표시합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication get --suffix "dc=example,dc=com" | grep -i "nsds5replicaid"
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication get --suffix "dc=example,dc=com" | grep -i "nsds5replicaid" nsDS5ReplicaId: 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 복제본 ID는
1입니다. 이 절차의 마지막 단계에 대한 복제본 ID를 기억합니다.
제거하려는 호스트와의 복제 계약이 있는 모든 공급업체에서 다음을 수행하십시오.
복제된 접미사의 복제 계약을 나열합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt list --suffix "dc=example,dc=com" dn: cn=example-agreement,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config cn: example-agreement ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn속성에는 다음 단계에서 필요한 복제 계약 이름이 포함되어 있습니다.복제 계약을 제거합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreement
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
제거할 공급자에서 모든 접미사에 대한 복제를 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication disable --suffix "dc=example,dc=com"
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication disable --suffix "dc=example,dc=com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제를 비활성화하면 이 서버에서 이 접미사에 대한 모든 복제 계약도 삭제됩니다.
- 
						진행하기 전에 
ds-replcheck출력의Replica RUV섹션에 나열된 모든 Directory Server 인스턴스가 온라인 상태인지 확인합니다. 토폴로지의 나머지 공급자 중 하나에서 복제본 ID에 대한 RUV를 정리합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com repl-tasks cleanallruv --suffix "dc=example,dc=com" --replica-id 1
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-tasks cleanallruv --suffix "dc=example,dc=com" --replica-id 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 실행하려면 이 절차의 이전 단계에 표시된 복제본 ID를 지정해야 합니다.
검증
ds-replcheck명령의 출력에서 사용자가 삭제된 호스트의 복제본 ID 및 URL이 남아 있지 않은지 확인합니다.ds-replcheck online -D "cn=Directory Manager" -w password -m ldap://host-to-remove.example.com:389 -r ldap://server.example.com:389 -b dc=example,dc=com
# ds-replcheck online -D "cn=Directory Manager" -w password -m ldap://host-to-remove.example.com:389 -r ldap://server.example.com:389 -b dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
다음 단계
테스트 목적으로 삭제된 인스턴스를 사용하려면 읽기 전용 모드를 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --disable-readonly userroot
# dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --disable-readonly userrootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요테스트를 위해 토폴로지에서 제거한 인스턴스를 사용하려면 클라이언트가 계속 사용하지 않아야 합니다.
인스턴스를 제거합니다.
dsctl <instance_name> remove --do-it
# dsctl <instance_name> remove --do-itCopy to Clipboard Copied! Toggle word wrap Toggle overflow