15.26.3. 廃止または不明なエラーの解決
レプリケーショントポロジーに関する情報、つまり、相互に、および同じレプリケーショングループ内の他のレプリカに更新を提供するすべてのサプライヤーは、レプリカ更新ベクトル (RUV) と呼ばれるメタデータのセットに含まれています。RUV には、ID と URL、ローカルサーバー上の最新の変更状態番号 (CSN)、最初の変更の CSN などのサプライヤーに関する情報が含まれています。サプライヤーとコンシューマーはいずれも RUV 情報を保存し、これを使用してレプリケーションの更新を制御します。
あるサプライヤーがレプリケーショントポロジーから削除されると、別のレプリカの RUV に残っている場合があります。他のレプリカが再起動すると、ログにエラーを記録し、レプリケーションプラグインが削除されたサプライヤーを認識しないことを警告します。エラーは以下の例のようになります。
レプリカとその ID (この場合はレプリカ
8
を書き留めます。
サプライヤーがトポロジーから永久に削除されると、そのサプライヤーに関する残存するメタデータは、他のすべてのサプライヤーの RUV エントリーから消去されるはずです。
cleanallruv
ディレクトリータスクを使用して、トポロジー内のすべてのサプライヤーから RUV エントリーを削除します。
注記
cleanallruv
タスクが複製されます。そのため、1 つのマスターでのみ実行する必要があります。
手順15.1 cleanallruv タスク操作を使用した、廃止または欠落したサプライヤーの削除
- 削除されたマスターが他のマスターにメタデータを残す可能性があるため、有効無効を問わず、すべての RUV レコードとレプリカ ID を一覧表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 返されたレプリカ ID1
、20
、9
、および8
を書き留めます。 - cn=
config
接尾辞のレプリカ設定エントリー DNcn=replica
を検索して、データベースを複製するすべてのマスターで現在定義され、有効なレプリカ ID を一覧表示します。注記コンシューマーおよび読み取り専用ノードには、レプリカ ID が65535
に常に設定され、nsDS5ReplicaType: 3
はマスターを署名します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 最初のステップで返されるすべての URI を検索すると(この手順ではm1.example.com
およびm2.example.com
)、返されたマスターのリスト(nsDS5ReplicaType: 3)
を直前の手順の RUV の一覧と比較します。上記の例では、この検索で ID1
と20
のみが返されますが、以前の検索では URIm2.example.com
で9
および8
も返されます。これは、後者の 2 つが削除済みで、その RUV を消去する必要があることを意味します。 - クリーニングが必要な RUV を判別した後に、新しい
cn=cleanallruv,cn=tasks,cn=config
エントリーを作成し、レプリケーション設定に関する以下の情報を提供します。- 複製されたデータベースのベース DN (
replica-base-dn
) - レプリカ ID (
replica-id
) - 欠落しているサプライヤーからの最大変更状態番号 (CSN) に追いつくか、あるいはすべての RUV エントリーを削除して更新を見逃すか (
replica-force-cleaning
)。この属性をno
に設定すると、タスクは設定されているすべてのレプリカが、まず削除されたレプリカからのすべての変更に追いつくのを待ってから、RUV を削除することになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記cleanallruv
タスクが複製されます。そのため、1 つのマスターでのみ実行する必要があります。整理したい各 RUV に同じことを繰り返す (この手順では ID9
)。 - 先に確認したすべてのレプリカの RUV をクリーンアップした後、最初の手順からの検索を再度使用して、追加の RUV がすべて削除されていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の出力で分かるように、レプリカ ID8
および9
は存在しなくなり、RUV が正常に消去されていることを示しています。