LinuCレベル3 300試験の例題と解説
390.1OpenLDAPのレプリケーション
LinuCレベル3 300試験の試験範囲から「390.1 OpenLDAPのレプリケーション」についての例題を解いてみます。
今回はsyncreplによるレプリケーションについての例題を解いてみましょう。
例題
OpenLDAPのレプリケーションについて、適切でない説明を1つ選択してください。
- syncreplでは、プロバイダが管理するエントリのうち、条件を満たす属性だけを指定してコンシューマに同期できる。
- OpenLDAP 2.4ではマルチマスタレプリケーションが実現できる。
- syncreplでは、同期状態をcookieで管理している。
- 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研究室 勝山 遼