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