LinuCレベル3 300試験の出題範囲「390.1 OpenLDAPのレプリケーション」の解説まとめ

IT資格

LinuCレベル3 300試験の出題範囲「390.1 OpenLDAPのレプリケーション」の技術的内容についての解説をまとめました。

重要度3
説明OpenLDAPで利用可能なサーバのレプリケーションに習熟していること。
主要な知識範囲レプリケーションの概念Open LDAPのレプリケーションの設定レプリケーション ログファイルの分析レプリカ ハブの理解LDAPの参照LDAP同期のレプリケーション
重要なファイル、
用語、ユーティリティ
マスターサーバとスレーブサーバ
マルチマスターレプリケーション
コンシューマー
レプリカハブ
ワンショットモード
referral
syncrepl
PULL型レプリケーションとPUSH型レプリケーション
refreshOnlyとrefreshAndPersist
replog
LinuCレベル3 300試験 出題範囲 | LPI-Japan
LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含まれる技術解説動画やサンプル問題、教科書ダウンロードなど、ITエンジニア向け学習コ...

LDAPとは

LDAPについての説明は、以下のLinuCの公式記事にて説明されています。

LDAPは、「Lightweight Directory Access Protocol」の略で、階層型のディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリサービスとは、ユーザ名やホスト名などの情報を管理することが目的となっており、複数のコンピュータでユーザ情報を一元管理したいという場合に利用します。たとえば、教育機関や企業などで複数のコンピュータがあり、ユーザも複数存在するというケースでよく利用されます。

OpenLDAP - Linux技術者認定 LinuC | LPI-Japan
Linuxを学習する上で出てくる素朴な疑問や、便利なテクニックなどを紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に...

LDAPは上記に記載の通り、ユーザー名やホスト名などの情報を一元管理するのに使われます。

OpenLDAPの概要

OpenLDAPについてもLDAP同様の記事にて以下のように説明されています。

「OpenLDAP」は、LDAPによるディレクトリサービスを提供するオープンソースソフトウェアです。1998年に開発が始まり、現在ではオープンソースのシステムで利用される事実上のLDAP標準ソフトウェアとなっています。

OpenLDAPは、LDAPサービスはもちろんのこと、LDAPを利用する上で非常に重要になるSASL認証への対応やレプリケーション機能など、数多くの機能を持っています。さまざまなソフトウェアとの連携にも対応しており、たとえばSambaと連携させてドメインコントローラを構築することもできます。

OpenLDAP - Linux技術者認定 LinuC | LPI-Japan
Linuxを学習する上で出てくる素朴な疑問や、便利なテクニックなどを紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に...

OpenLDAPはオープンソースのLDAPのソフトウェアです。

OpenLDAPはSASL認証やレプリケーション機能に対応おり、Sambaと連携させてドメインコントローラを構築することも可能です。

SASL認証とは

本記事の「390.1 OpenLDAPのレプリケーション」ではなくその次の出題範囲「390.2 ディレクトリの保護」の例題の解説からSASL詳細についての解説を引用します。

SASL(Simple Authentication and Security Layer)とは、認証やセキュリティに関する処理を行うためのフレームワークです。

SASLは、OpenLDAPやpostfixなど様々なソフトウェアに対応しており、LDAPでもSASL認証が利用できるようになっています。
SASL認証では、認証時にエントリ名とパスワードが暗号化がされます。そのため、SASL認証を利用することで認証のセキュリティを強化することができます。

ディレクトリの保護 - Linux技術者認定 LinuC | LPI-Japan
LinuCレベル3を受験される方向けに300試験の例題と解説をご紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含ま...

SASLはSimple Authentication and Security Layerの略で、認証やセキュリティに関するフレームワークと説明できます。

レプリケーションとは

OpenLDAPでのレプリケーションについては以下のようにLinuC公式の例題の解説で説明されています。

OpenLDAPにおいて、保持するデータを他のサーバへ複製することをレプリケーションと呼びます。

(中略)

OpenLDAPのレプリケーションについては、以下で詳細が確認できます。
https://www.openldap.org/doc/admin24/replication.html

OpenLDAPのレプリケーション - Linux技術者認定 LinuC | LPI-Japan
LinuCレベル3を受験される方向けに300試験の例題と解説をご紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含ま...

レプリケーションは、マスターサーバーのデータをスレーブサーバーに同期し、冗長性を確保することができる技術です。負荷分散する目的でも使用でき、障害にも強くなります。

レプリケーションは、OpenLDAPの重要な機能の1つで、データをマスターサーバからスレーブサーバへ同期が可能です。これにより冗長性が確保でき、負荷分散を実現できます。レプリケーションは、データの可用性と信頼性を向上させ、障害時にデータの喪失を防ぐのに役立ちます。

OpenLDAPのレプリケーション - Linux技術者認定 LinuC | LPI-Japan
LinuCレベル3を受験される方向けに300試験の例題と解説をご紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含ま...

https://lpi.or.jp/news/event/docs/20191207_linuc300.pdf

slurpdデーモン

slurpdデーモンは、slapdが提供する複製サービスを支援するデーモンです。デーモンは、常駐プログラムのことで、システムのバックグラウンドで常に動作しているプログラムのことを指します。

slurpd(8) は、slapd が提供する複製サービスを支援する デーモンです。slurpd の役割は、マスターの slapd データベース に起きた変更を他の複製の slapd に配送することです。slurpd では、変更を送るときに複製の slapd がダウンしていたり 通信できない場合はどうするかといった心配もありません。 なぜなら slurpd は失敗した要求の再トライを自動的に処理する からです。slapd と slurpd は変更を記録する単純なテキスト ファイルをとおして情報をやりとりします。

OpenLDAP 2.0 管理者ガイド: OpenLDAP ディレクトリサービスの紹介

slurpdデーモンはマスターサーバ上で動作し、LDAPサーバの更新履歴(レプリケーションログファイル)を読み取り、スレーブサーバに更新情報を送信する役割を担います。

slurpdデーモンの起動とオプション

slurpdデーモンは以下の書式のコマンドを実行して起動します。

/usr/local/libexec/slurpd [-d debug-level] [-f slapd-config-file] [-r slapd-replog-file] [-t temp-dir] [-o] [-k srvtab-file]  

起動時に指定できるオプションの詳細は以下です。

オプション

-d debug-level

デバッグモードを debug-level にします。このオプションを指定すると、そのデバッグ指定が 0 であっても、 slurpd はフォークせず、起動した端末から切り離されません。 一般的な操作と状態のメッセージが debug-level の値に応じて出力されます。 debug-level はビットストリングとして扱われます。 その各ビットは それぞれ行ったデバッグ情報に対応しています。 詳しくは <ldap.h> を参照 してください。

-f slapd-config-fileslapd

設定ファイルを指定します。デフォルトは /usr/local/etc/openldap/slapd.conf です。

-r slapd-replog-file

slapd 複製ログファイルの名前を指定します。 通常、複製ログファイルの名前は、 slapd 設定ファイルから読み取ります。このファイルは read/write/execute アクセス権を制限したディレクトリにあるべきです。 オプション -r は、この設定ファイルの指定に優先します。 オプション -o とともに指定して、複製ログを「ワンショット」モードで処理できます。 たとえば、 slurpd が複製ログの処理でエラーに遭遇した場合、複製が失敗の原因を解決した後、 拒絶ファイルの名前を -r オプションの引数に指定してワンショットモードで slurpd を起動できます。

-o

「ワンショット」モードで起動します。通常、 slurpd は複数ログファイルを処理し、さらに複製エントリが追加されるのを監視します。 ワンショットモードにおいて、 slurpd は単一の複製ログフを処理して終了します。

-t temp-dir

slurpd は、複製ログを処理する前に、そのログを作業ディレクトリにコピーします。 このディレクトリの利用権は、read/write/execute アクセスを制限すべきです。 なぜなら一時ファイルに機密情報が含まれる可能性があるからです。 このオプションでは、この一時ファイルの置き場所を指定できます。 デフォルトは /usr/local/var/openldap-slurp です。

-k srvtab-file

複製側の slapd のためのキーを持った Kerberos srvtab ファイルのある場所を指定します。 この指定は、 slapd 設定ファイルに指定する replica ディレクティブの srvtab 引数に優先します。

Manpage of SLURPD

syncrepl

syncreplは、slurpdから新たに置き換えられて使われる技術です。詳細な違いについてはLinuC公式サイトの記載を引用して紹介します。

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

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

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

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

OpenLDAPのレプリケーション - Linux技術者認定 LinuC | LPI-Japan
LinuCレベル3を受験される方向けに300試験の例題と解説をご紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含ま...

LPI 300の資料にも以下のようにsyncreplの詳細が紹介されています。

https://lpi.or.jp/news/event/docs/20161016_01.pdf 47スライド

参考資料

本記事の作成のために参考にした資料を掲載します。

https://lpi.or.jp/news/event/docs/20161016_01.pdf

タイトルとURLをコピーしました