Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

28.5.5. レプリケーションの競合の解決

IdM ドメインデータと、証明書および鍵データの両方の変更は、IdM サーバーとレプリカ (および同様のパスで、IdM サーバーと Active Directory サーバー間) 間で複製されます。
レプリケーション操作は継続的に実行されますが、1 台の IdM サーバーで変更を同時に実行でき、別の IdM サーバーの同じエントリーに別の変更が加えられる可能性があります。レプリケーションがこれらのエントリーを処理し始めると、変更が照合されます。これは レプリケーションの競合 です。
すべてのディレクトリー変更操作には、サーバー固有の 変更状態番号 (CSN)が割り当てられ、レプリケーション中にそれらの変更が伝播される方法を追跡します。CSN には変更のタイムスタンプも含まれます。レプリケーションの競合がある場合、タイムスタンプを確認して最後の変更が優先されます。
最新の変更を受け入れるだけでは、属性値との競合の解決に有効です。ただし、一部の操作ではこのメソッドが不安定ですが、ディレクトリーツリーに影響します。modrdn、DN の変更、親および子エントリーの追加/削除などの一部の操作では、競合を解決する前に管理者のレビューが必要になります。
注記
レプリケーションの競合は、LDAP データベースの entries ディレクトリーを編集して解決されます。
レプリケーションの競合がある場合は、両方のエントリーがディレクトリーに追加され、nsds5ReplConflict 属性が割り当てられます。これにより、競合のあるエントリーの検索が容易になります。
ldapsearch -x -D "cn=directory manager" -w password -b "dc=example,dc=com" "nsds5ReplConflict=*" \* nsds5ReplConflict

28.5.5.1. ネーミングの競合の解決

同じ DN を持つ IdM ドメインに 2 つのエントリーを追加すると、両方のエントリーがディレクトリーに追加されますが、この nsuniqueid 属性を命名属性として使用するよう変更されます。以下に例を示します。
nsuniqueid=0a950601-435311e0-86a2f5bd-3cd26022+uid=jsmith,cn=users,cn=accounts,dc=example,dc=com
これらのエントリーは、IdM CLI で検索および表示することができますが、競合が解決され、DN が更新されるまで編集または削除できません。
競合を解決するには、以下を実行します。
  1. 別の naming 属性を使用してエントリーの名前を変更し、古い RDN を維持します。以下に例を示します。
    ldapmodify -x -D "cn=directory manager" -w secret -h ipaserver.example.com -p 389
      dn: nsuniqueid=66446001-1dd211b2+uid=jsmith,cn=users,cn=accounts,dc=example,dc=com
      changetype: modrdn
      newrdn: cn=TempValue
      deleteoldrdn: 0
  2. naming 属性の古い RDN 値と競合マーカー属性を削除します。以下に例を示します。
    ldapmodify -x -D "cn=directory manager" -w secret -h ipaserver.example.com -p 389
      dn: cn=TempValue,cn=users,cn=accounts,dc=example,dc=com
      changetype: modify
      delete: uid
      uid: jsmith
      -
      delete: nsds5ReplConflict
      -
    注記
    一意の識別子属性 nsuniqueid は削除できません。
  3. エントリーの名前を目的の属性と値のペアに変更します。たとえば、以下のようになります。
    ldapmodify -x -D "cn=directory manager" -w secret -h ipaserver.example.com -p 389
      dn: cn=TempValue,dc=example,dc=com
      changetype: modrdn
      newrdn: uid=jsmith
      deleteoldrdn: 1
    deleteoldrdn 属性の値を 1 に設定して、一時属性と値のペア cn=TempValue を削除します。この属性を保持するには、deleteoldrdn 属性の値を 0 に設定します。