20장. 일반적인 복제 문제 해결


다중 제공 복제는 결국 일관성 복제 모델을 사용합니다. 즉, 다른 서버에서 동일한 항목을 변경할 수 있습니다. 이 두 서버 간에 복제가 발생하는 경우 Directory Server는 충돌하는 변경 사항을 해결해야 합니다. 대부분의 경우 각 서버에서 변경과 관련된 타임스탬프에 따라 해상도가 자동으로 수행됩니다. 최근의 변경 사항은 우선 순위가 있습니다. 그러나 해결 조치에 도달하기 위해 충돌이 수동 개입이 필요한 경우도 있습니다.

20.1. 이름 지정 충돌 식별 및 해결

여러 공급업체 서버가 동일한 고유 이름(DN)으로 항목을 생성하라는 요청을 수신하면 각 서버는 이 DN과 다른 입력 고유 식별자(입력 ID)를 사용하여 항목을 생성합니다. 항목 ID는 nsuniqueid 운영 특성에 저장됩니다.

예를 들어 서버 A서버 Buid=user_name,ou=people,dc=example,dc=com 사용자 항목을 생성하라는 요청을 받습니다. 결과적으로 각 서버에는 자체 항목이 있습니다.

  • 서버 A에서 항목에는 다음이 있습니다.

    • uid=user_name,ou=people,dc=example,dc=com
    • nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b
  • 서버 B에서 항목에는 다음이 있습니다.

    • uid=user_name,ou=people,dc=example,dc=com
    • nsuniqueid=643a461e-b61311e1-b23be826-4afeed5f

복제하는 동안 서버 A 는 새로 생성된 항목 uid=user_name,ou=people,dc=example,dc=com서버 B 로 복제하고 서버 B 복제는 서버 A 에 새로 생성된 항목을 복제하고 각 서버에서 이름 충돌이 발생합니다. 변경 시퀀스 번호(CSN)를 비교하면 각 서버는 이전에 생성된 항목을 결정합니다. 예를 들어 서버 B 의 항목이 이전에 생성되었습니다.

자동 충돌 해결 절차에서는 생성된 마지막 항목( 서버 A의 항목)을 다음과 같은 방식으로 변경합니다.

  • 고유하지 않은 DN에 nsuniqueid 값을 추가합니다.
  • 충돌이 발생한 설명에 nsds5replconflict 속성을 추가합니다.
  • ldapsubentry 오브젝트 클래스를 추가합니다.

이제 두 서버에 다음 항목이 있습니다.

  • 다음을 포함하는 유효한 항목

    • uid=user_name,ou=people,dc=example,dc=com
    • nsuniqueid=643a461e-b61311e1-b23be826-4afeed5f
  • 다음과의 충돌 항목

    • nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=people,dc=example,dc=com
    • nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b

이름 지정 충돌을 수동으로 해결하려면 각 서버에서 다음 절차를 사용하십시오.

프로세스

  1. 충돌 항목을 나열합니다.

    # dsconf <instance_name> repl-conflict list dc=example,dc=com
    dn: nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=people,dc=example,dc=com
    cn: user_name
    displayName: user
    gidNumber: 99998
    homeDirectory: /var/empty
    legalName: user name
    loginShell: /bin/false
    nsds5replconflict: namingConflict (ADD) uid=user_name,ou=people,dc=example,dc=com
    objectClass: top
    objectClass: nsPerson
    objectClass: nsAccount
    objectClass: nsOrgPerson
    objectClass: posixAccount
    objectClass: ldapsubentry
    uid: user_name
    uidNumber: 99998
    Copy to Clipboard Toggle word wrap
  2. 충돌 항목이 있는 경우 진행 방법을 결정합니다.

    • 유효한 항목(uid=user_name,ou=people,dc=example,dc=com)만 유지하고 충돌 항목을 삭제하려면 다음을 입력합니다.

      # dsconf <instance_name> repl-conflict delete nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=com
      Copy to Clipboard Toggle word wrap
    • 충돌 항목(nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=com)만 계속하려면 다음을 입력합니다.

      # dsconf <instance_name> repl-conflict swap nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=People,dc=example,dc=com
      Copy to Clipboard Toggle word wrap
    • 두 항목을 모두 유지하려면 새 상대 고유 이름(RDN)을 지정하여 충돌 항목의 이름을 변경합니다.

      # dsconf -D "cn=Directory Manager" ldap://server.example.com repl-conflict convert --new-rdn=uid=user_name_NEW nsuniqueid=a7f1758b-512211ec-b115e2e9-7dc2d46b+uid=user_name,ou=people,dc=example,dc=com
      Copy to Clipboard Toggle word wrap

      이 명령은 충돌 항목의 이름을 uid=user_name_NEW,ou=people,dc=example,dc=com 으로 변경합니다.

주의

Directory Server는 충돌 항목에서 수행되는 LDAP 작업을 복제합니다. 일반적으로 복제된 작업은 작업 dn 을 사용하는 대신 원래 작업 항목의 nsuniqueid 를 사용하여 항목을 대상으로 합니다. 그러나 충돌 항목이 있는 경우 동작이 다를 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat