LinuCレベル3 300試験の例題と解説

390.1OpenLDAPのレプリケーション

LinuCレベル3 300試験の試験範囲から「390.1 OpenLDAPのレプリケーション」についての例題を解いてみます。
今回はsyncreplによるレプリケーションについての例題を解いてみましょう。

Linucレベル3 300試験 出題範囲


例題

OpenLDAPのレプリケーションについて、適切でない説明を1つ選択してください。

  1. syncreplでは、プロバイダが管理するエントリのうち、条件を満たす属性だけを指定してコンシューマに同期できる。
  2. OpenLDAP 2.4ではマルチマスタレプリケーションが実現できる。
  3. syncreplでは、同期状態をcookieで管理している。
  4. syncreplでは、プロバイダ側で存在しなくなったエントリをコンシューマ側で削除してから変更エントリの複製を行う。

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「4. syncreplでは、プロバイダ側で存在しなくなったエントリをコンシューマ側で削除してから変更エントリの複製を行う。」です。

Openldapは2つのレプリケーション方法があります。

slurpdによるレプリケーション
複製元をマスターサーバ、複製先をスレーブサーバと呼びます。
マスターサーバで行われた更新の情報をファイルに書き出し、これをslurpdが定期的にチェックして、スレーブサーバ側に反映します。
(OpenLDAP 2.4以降はsyncreplに置き換えられて、slurpdは利用できません)

syncreplによるレプリケーション
複製元をプロバイダ、複製先をコンシューマ呼びます。
syncreplではコンシューマがプロバイダに接続して複製を行います。

コンシューマがプロバイダのディレクトリを参照して、コンシューマ側で必要な更新処理を決めるため、プロバイダとコンシューマが持つ情報が異なっていた場合でも適切な複製が行われます。

syncreplは同期処理用のcookieを管理・交換することで、複製内容の状態を管理します。

OpenLDAPはもともとslurpdにてレプリケーションを行っていましたが、マスター/スレーブ間で正しく同期し続けることを保証するのが難しいことと、管理が複雑になる問題がありました。その問題を解消するために、syncreplと呼ばれるレプリケーション方法が導入されました。

選択肢の解説は以下です。

1. syncreplでは、プロバイダが管理するエントリのうち、条件を満たす属性だけを指定してコンシューマに同期できる。
正しい説明をしているため、不正解です。
コンシューマ側のslpad.conf内に、「attrs=」に値を指定することで、条件を満たす属性だけ指定した、同期が可能です。
カンマで区切って複数指定することも可能です。

2. OpneLDAP 2.4ではマルチマスタレプリケーションが実現できる。
syncreplはマルチマスタレプリケーションに対応しており、正しい説明をしているため、不正解です。

3. syncreplでは、同期状態をcookieで管理している。
正しい説明をしているため、不正解です。

4. syncreplでは、プロバイダ側で存在しなくなったエントリをコンシューマ側で削除してから変更エントリの複製を行う。
誤った解説をしているため、正解です。
syncreplではコンシューマ側で削除しなくても変更エントリの複製を行うことができます。

syncreplによるレプリケーションが実装されて、slurpdの時より柔軟に様々な方法でレプリケーションができるようになりました。
2つの方法の仕組みを理解して、正しく利用できるようにしておきましょう。


例題作成者

株式会社デージーネット OSS研究室 勝山 遼

ページトップへ