Red Hat Training

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

B.2.5. Replica Update Vector (RUV) エラーの削除

注記
このソリューションは、ドメインレベル 0 で適用できます。詳細は7章ドメインレベルの表示と引き上げを参照してください。
IdM トポロジーからレプリカを削除すると、古くなった RUV レコードが残りのレプリカ 1 つ以上に存在するようになります。
考えられる原因:
  • 「レプリカ合意の削除」 で説明されているように、レプリカ合意を最初に適切に削除せずに、レプリカが削除されました。
  • 別のレプリカがオフラインのときに、レプリカが削除されました。

エラー内容:

その他のレプリカでは、削除されたレプリカからも更新を受け取ることが想定されています。
注記
レプリカを削除する正しい手順は、「レプリカの削除」 に記載されています。

解決方法:

更新を受け取ることが予想されるレプリカの RUV レコードを削除します。
  1. ipa-replica-manage list-ruv を使用して、古い RUV に関する詳細を一覧表示します。このコマンドは、レプリカ ID を表示します。
    # ipa-replica-manage list-ruv
    server1.example.com:389: 6
    server2.example.com:389: 5
    server3.example.com:389: 4
    server4.example.com:389: 12
  2. ipa-replica-manage clean-ruv replica_ID コマンドを使用して、破損した RUV を消去します。このコマンドは、指定したレプリカに関連付けられている RUV を削除します。
    古い RUV を持つすべてのレプリカに対してこのコマンドを繰り返します。以下に例を示します。
    # ipa-replica-manage clean-ruv 6
    # ipa-replica-manage clean-ruv 5
    # ipa-replica-manage clean-ruv 4
    # ipa-replica-manage clean-ruv 12
    警告
    ipa-replica-manage clean-ruv の使用には特別な注意を払って続行してください。有効なレプリカ ID を指定してコマンドを実行すると、レプリカデータベース内のそのレプリカに関連するすべてのデータが破損します。
    この場合は、「レプリカの再初期化」の説明に従って、別のレプリカからレプリカを再初期化します。
  3. ipa-replica-manage list-ruv を再度実行します。
    • このコマンドで破損した RUV が表示されなくなった場合は、レコードが正常に消去されています。
    • このコマンドで、依然として破損した RUV が表示される場合は、このタスクを使用して手動で削除します。
      dn: cn=clean replica_ID, cn=cleanallruv, cn=tasks, cn=config
      objectclass: extensibleObject
      replica-base-dn: dc=example,dc=com
      replica-id: replica_ID
      replica-force-cleaning: no
      cn: clean replica_ID
RUV を消去するレプリカがわからない場合は、次のコマンドを実行します。
  1. すべてのサーバーで、アクティブなレプリカ ID がないかを検索します。破損していない、信頼できるレプリカ ID の一覧を作成します。
    有効なレプリカの ID を確認するには、トポロジー内のすべてのノードに対してこの LDAP クエリーを実行します。
    # ldapsearch -p 389 -h IdM_node -D "cn=directory manager" -W -b "cn=config" "(objectclass=nsds5replica)" nsDS5ReplicaId
  2. すべてのサーバーで ipa-replica-manage list-ruv を実行します。破損していないレプリカ ID の一覧にないレプリカ ID がある場合は注意してください。
  3. 破損したすべてのレプリカ ID に対して ipa-replica-manage clean-ruv replica_ID を実行します。