LPIC301 slurpd
slurpd を利用した複製
slurpdは、マスタ/スレーブ複製機構をサービスを提供します。
複製のシナリオ
- LDAP クライアントは LDAP 更新操作をスレーブの slapd に送る。
- スレーブの slapd は、マスタの slapd を参照するよう LDAP クライアントに紹介(referral)を返す。
- LDAP クライアントはマスターの slapd に LDAP 更新操作を送る。
- マスターの slapd は更新操作を行い、複製ログファイルに変更内容を書き出して、クライアントに成功を示すコードを返す。
- slurpd プロセスは、複製ログファイルに新しいエントリが追加されていることを検出して、複製ログのエントリを読み、LDAP でスレーブの slapd に変更内容を送る。
- スレーブの slapd は更新操作を行い、slurpd プロセスに成功を示すコードを返す。
複製ログ
複製ログファイルを作成するように slapd を設定すると、 LDIF 変更レコードを含んだファイルが出力されます。
この複製ログは、複製サイト、時刻印、更新されたエントリの DN、実際の変更を指定する行の並びを与えます。
- ログサンプル
replica: slave.example.com:389 time: 809618633 dn: uid=bjensen,dc=example,dc=com changetype: modify replace: multiLineDescription description: A dreamer... - replace: modifiersName modifiersName: uid=bjensen,dc=example,dc=com - replace: modifyTimestamp modifyTimestamp: 20000805073308Z -
コマンドラインオプション
slurpd -d
このオプションは slurpd のデバッグレベルを に設定します。
slurpd -r 【logfile】 -o
slurpdをデーモンではなくコマンドラインツールとして、ワンショット(one-shot」モードの操作を行います。
通常の環境において slurpd は、複製ログファイルの処理を終得た後も活動を続け、複製ログに新しいエントリが追加されたかを定期的に監視します。
ワンショットモードになっていると、対象的に slurpd は複製ログを処理するとすぐに終了します。
オプション -o を与える場合には、オプション -r で複製ログファイルも明示しなければなりません
slapd の設定
slurpdを利用したレプリケーションは、以下の手順で実施
- マスタ slapd の設定
- スレーブ slapd の設定
- マスタサーバのシャットダウン
- マスタ slapd のデータベースのスレーブへのコピー
- マスタ slapd の再起動とスレーブ slapd の起動
マスタ slapd の設定
replogfile /var/log/ldap/replog replica uri=ldap://slave.example.com:389 binddn="cn=Replicator,dc=example,dc=com" bindmethod=simple credentials=secret
スレーブ slapd の設定
rootdn "cn=Replicator,dc=example,dc=com" rootpw secret updatedn "cn=Replicator,dc=example,dc=com" updateref ldap://master.example.com:389
マスタのreplica ディレクティブの binddnとスレーブのupdatednに同じにする
マスタのreplica ディレクティブの credentialsとスレーブのrootpwに同じ値にする
複製エラー
slurpd がスレーブ slapd に変更を伝播してエラーの返却コードを受け取ると、エラーの理由と複製レコードを拒絶ファイルに書き出します。
拒絶ファイルは、それぞれの複製ログファイルと同じディレクトリにあります。
拒絶ファイルの名前は複製ログファイルの名前に接尾辞 “.rej" がついたものです。
ホスト slave.example.com のポート 389 で動作する複製サーバの場合
/usr/local/var/openldap/replog.slave.example.com:389.rej
拒絶ログに書き出されたエントリの例
ERROR: No such attribute replica: slave.example.com:389 time: 809618633 dn: uid=bjensen,dc=example,dc=com changetype: modify replace: description description: A dreamer... - replace: modifiersName modifiersName: uid=bjensen,dc=example,dc=com - replace: modifyTimestamp modifyTimestamp: 20000805073308Z -
ディスカッション
コメント一覧
まだ、コメントがありません