15.4. インスタンスがオフラインのときにコンシューマーを初期化する
大規模なデータベースや多数のコンシューマーがある場合は、コマンドラインを使用して、オフライン初期化を行うことを検討してください。この手順には、サプライヤーサーバーからデータをエクスポートし、そのデータをコンシューマーサーバーにインポートすることが含まれます。
前提条件
-
サプライヤーサーバーとコンシューマーサーバーで
dc=example,dc=com接尾辞のレプリケーションを有効化している。 - サプライヤーサーバーとコンシューマーサーバーの間でレプリカ合意を作成している。
手順
サプライヤーサーバーで、次の手順を実行します。
サプライヤー上のインスタンスをシャットダウンします。
# dsctl <supplier_instance_name> stopレプリケートする接尾辞を含む
userRootデータベースを、レプリケーション情報を含む/var/lib/dirsrv/slapd-<supplier_instance_name>/ldif/example.ldifファイルにエクスポートします。# dsctl <supplier_instance_name> db2ldif --replication userRoot /var/lib/dirsrv/slapd-<supplier_instance_name>/ldif/example.ldifサプライヤーでインスタンスを起動します。
# dsctl <supplier_instance_name> start
コンシューマーサーバーで、次の手順を実行します。
コンシューマー上のインスタンスをシャットダウンします。
# dsctl <consumer_instance_name> stop-
エクスポートされた
example.ldifファイルをコンシューマーの/var/lib/dirsrv/slapd-<consumer_instance_name>/ldif/ディレクトリーにコピーします。 -
/var/lib/dirsrv/slapd-<consumer_instance_name>/ldif/example.ldifファイルからuserRootデータベースをインポートします。dsctl ldif2dbコマンドを使用してデータをインポートする方法の詳細は、サーバーがオフラインのときにコマンドラインを使用してデータをインポートする を参照してください。 コンシューマー側でインスタンスを起動します。
# dsctl <consumer_instance_name> start
検証
合意のステータスを表示します。
# dsconf <supplier_instance_name> repl-agmt init-status --suffix "dc=example,dc=com" <supplier_consumer_agreement_name> Agreement successfully initialized.