*

OpenLDAP レプリケーション

公開日: : LDAP

概要

LDAPについて調べたことをまとめ-02
OpenLDAPのレプリケーションについて

  1. レプリケーションについて
  2. slurpd
  3. LDAP Sync

レプリケーション

キーワード
  • slurpd
  • LDAP Sync

 OpenLDAPによるサービスが安定して提供されるためには、OpenLDAPサーバの冗長化が必要になる。複数のOpenLDAPサーバでデータを同期することで、いずれかのサーバが停止した場合でもサービスを利用できる。
 OpenLDAPで、LDAPサーバのデータを複製する機能のことをレプリケーションという。レプリケーションには従来から実装されているslurpdデーモンによるものと、OpenLDAP 2.2以降に追加されたLDAP Syncレプリケーションの2つがある。

slurpd

キーワード
  • マスターサーバ・スレーブサーバ
  • レプリケーションログ
  • replogfile、replica(マスター)
  • updatedn、updateref(スレーブ)
概要

 slurpdデーモンによるレプリケーションでは、マスターデータを提供するサーバをマスターサーバ、それに同期するサーバをスレーブサーバと呼ぶ。マスターサーバではslurpデーモンが稼動し、slapdが出力した更新情報(レプリケーションログ)をslurpdが参照してスレーブサーバの情報を更新する。スレーブサーバは複数設定することができるが、スレーブサーバを追加する場合にはマスターサーバの停止が必要である。
 slurpdデーモンは、スレーブサーバのslapdに変更を通知したときにエラーを受け取ると、その理由と複製エントリをエラーログファイルに書き出す。

マスターサーバの設定
 replogfile /usr/local/var/openldap-data/slapd.replog
 replica uri=ldap://192.168.10.2
         bindmethod=simple
         binddn="cn=replica,dc=lpic,dc=jp"
         credentials=secret

ディレクティブの説明
replogfile
 レプリケーションログファイルのファイル名を表す。デフォルトのファイル名はslapd.replogである。スレーブサーバに設定してはいけない
replica
 スレーブサーバのアドレス(uri)、認証方法(bindmethod)、バインドDN(binddn)、バインドDNのパスワード(credencials)を指定する。スレーブサーバには設定しない
設定の注意点

  1. 個々のレプリケーションごとにreplicaディレクティブを指定する
  2. replogfileディレクティブを指定する
  3. binddnの値はスレーブサーバのupdatednの値と一致させる
  4. binddnにはスレーブサーバのデータベースに書き込み権のあるDNを指定する
  5. binddnの値はマスターサーバのrootdnと同じにすべきでない
  6. slurpdはマスターサーバ側でしか起動できない

作業手順

  • マスターサーバのslapdを停止
  • マスターサーバのデータをスレーブサーバにコピー
  • マスターサーバとスレーブサーバのslapd.confを設定
  • マスターサーバとスレーブサーバのslapdを起動
  • マスターサーバのslurpdを起動
マスターサーバのエラーログファイル

 slurpdデーモンは、スレーブサーバのslapdに変更を通知したときにエラーを受け取ると、その理由と複製エントリをエラーログファイルに書き出す。
 エラーログファイルはレプリケーションログが格納されるのと同じディレクトリに作られるが、ファイル名の末尾が「.rej」となる。
 レプリケーションログファイル名がreplog.slave.lpic.jp:389であればエラーログファイル名はreplog.slave.lpic.jp:389.rejとなる。

 ERROR: No such attribute
 replica: slave.lpic.jp:389
 time: 909182934
 dn: uid=fred,dc=lpic,dc=jp
 changetype: modify
 replace: description
 description:

 上の例は、複製エラーによる拒絶ログファイルであることを示している。エラーログファイルは、slurpdをワンショットモードで実行することで処理できる。

 /usr/local/libexec/slurpd -r /usr/local/var/openldap-data/replog.slave.lpic.jp:389.rej -o
スレーブサーバの設定
 updatedn "cn=replica,dc=lpic,dc=jp"
 updateref ldap://192.168.10.5

ディレクティブの説明
updatedn
 マスターサーバから更新を受け付けるDNを指定する
updateref
 マスターサーバを指定する

設定の注意点

  1. replicaディレクティブ、replogfileディレクティブを指定しない
  2. updatednの値はマスターサーバのbinddnの値と一致させる
  3. updatednの値はマスターサーバのrootdnと同じにすべきでない
  4. updatednにはスレーブサーバのデータベースに書き込み権のあるDNを指定する
  5. updaterefディレクティブでマスターサーバを指定する

admax_area



関連記事

no image

LDAPについて調べたことをまとめ-01

概要 LDAPについて調べたことをまとめ OPENLDAPのインストール LDAPとLDI

記事を読む

admax_area



Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

admax_area



PAGE TOP ↑