10.2. 복제 토폴로지에서 공급업체 제거


복제 토폴로지에서 공급자를 깔끔하게 제거하는 것은 허브 또는 소비자를 제거하는 것보다 더 복잡합니다. 이는 토폴로지의 모든 공급자가 다른 공급 업체에 대한 정보를 저장하고 공급자가 갑자기 사용할 수 없게 되는 경우에도 해당 정보를 유지하기 때문입니다.

Directory Server는 RUV(복제 업데이트 벡터)라는 메타데이터 세트에서 복제 토폴로지에 대한 정보를 유지 관리합니다. RUV에는 로컬 서버의 ID, URL, 최신 변경 상태 번호(CSN) 및 첫 번째 변경과 같은 공급자에 대한 정보가 포함되어 있습니다. 공급업체와 소비자 모두 RUV 정보를 저장하고 복제 업데이트를 제어하는 데 사용합니다.

공급업체를 깔끔하게 제거하려면 구성 항목과 함께 메타데이터를 제거해야 합니다.

사전 요구 사항

  • 제거할 인스턴스는 공급자입니다.
  • 호스트를 제거할 호스트가 토폴로지의 다른 서버의 공급자 역할을 하는 경우, 다른 공급업체 또는 허브를 구성하여 이러한 서버에 데이터를 복제하여 격리되지 않도록 합니다.

프로세스

  1. 다음을 제거할 공급자에서 다음을 수행합니다.

    1. 접미사 및 해당 데이터베이스를 나열합니다.

      # dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix list
      dc=example,dc=com (userroot)
      Copy to Clipboard Toggle word wrap

      데이터베이스 이름을 확인합니다.

    2. 추가 업데이트를 방지하려면 데이터베이스를 읽기 전용 모드로 설정합니다.

      # dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --enable-readonly "userroot"
      Copy to Clipboard Toggle word wrap
    3. 토폴로지의 다른 모든 서버가 이 공급자로부터 모든 데이터를 수신할 때까지 기다립니다. 확인하려면 다른 서버의 CSN이 공급자의 CSN보다 크거나 같은지 확인합니다.

      # 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
      ================================================================================
               Replication Synchronization Report  (Tue Mar  5 09:46:20 2021)
      ================================================================================
      
      Database RUV's
      =====================================================
      
      Supplier RUV:
        {replica 1 ldap://host-to-remove.example.com:389} 5c7e8927000100010000 5c7e89a0000100010000
        {replicageneration} 5c7e8927000000010000
      
      Replica RUV:
        {replica 1 ldap://host-to-remove.example.com:389} 5c7e8927000100010000 5c7e8927000400010000
        {replica 2 ldap://server.example.com:389}
        {replicageneration} 5c7e8927000000010000
      Copy to Clipboard Toggle word wrap
    4. 복제본 ID를 표시합니다.

      # dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication get --suffix "dc=example,dc=com" | grep -i "nsds5replicaid"
      nsDS5ReplicaId: 1
      Copy to Clipboard Toggle word wrap

      이 예에서 복제본 ID는 1 입니다. 이 절차의 마지막 단계에 대한 복제본 ID를 기억합니다.

  2. 제거하려는 호스트와의 복제 계약이 있는 모든 공급업체에서 다음을 수행하십시오.

    1. 복제된 접미사의 복제 계약을 나열합니다.

      # 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 Toggle word wrap

      cn 속성에는 다음 단계에서 필요한 복제 계약 이름이 포함되어 있습니다.

    2. 복제 계약을 제거합니다.

      # dsconf -D "cn=Directory Manager" ldap://server.example.com repl-agmt delete --suffix "dc=example,dc=com" example-agreement
      Copy to Clipboard Toggle word wrap
  3. 제거할 공급자에서 모든 접미사에 대한 복제를 비활성화합니다.

    # dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com replication disable --suffix "dc=example,dc=com"
    Copy to Clipboard Toggle word wrap

    복제를 비활성화하면 이 서버에서 이 접미사에 대한 모든 복제 계약도 삭제됩니다.

  4. 진행하기 전에 ds-replcheck 출력의 Replica RUV 섹션에 나열된 모든 Directory Server 인스턴스가 온라인 상태인지 확인합니다.
  5. 토폴로지의 나머지 공급자 중 하나에서 복제본 ID에 대한 RUV를 정리합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com repl-tasks cleanallruv --suffix "dc=example,dc=com" --replica-id 1
    Copy to Clipboard Toggle word wrap

    이 명령을 실행하려면 이 절차의 이전 단계에 표시된 복제본 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
    Copy to Clipboard Toggle word wrap

다음 단계

  • 테스트 목적으로 삭제된 인스턴스를 사용하려면 읽기 전용 모드를 비활성화합니다.

    # dsconf -D "cn=Directory Manager" ldap://host-to-remove.example.com backend suffix set --disable-readonly userroot
    Copy to Clipboard Toggle word wrap
    중요

    테스트를 위해 토폴로지에서 제거한 인스턴스를 사용하려면 클라이언트가 계속 사용하지 않아야 합니다.

  • 인스턴스를 제거합니다.

    # dsctl <instance_name> remove --do-it
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat