CentOS7

OpenLDAP レプリケーション

OpenLDAP レプリケーションの設定です。

LDAP スレーブサーバーを構築し、LDAP マスターサーバーダウン時も LDAP クライアントに対してサービスを継続できるようにします。 OpenLDAP 用語で LDAP マスターサーバーを「プロバイダー」、LDAP スレーブサーバーを「コンシューマー」と呼びます。

LDAP プロバイダー および コンシューマーとするサーバー双方に、 こちらを参照して LDAP サーバーとしての基本設定をしておきます。

LDAP プロバイダーの設定です。syncprov モジュールを追加します。

[root@localhost ~]# vi mod_syncprov.ldif
# 新規作成
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
[root@localhost ~]# vi syncprov.ldif
# 新規作成
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"

LDAP コンシューマーの設定です

[root@localhost ~]# vi syncrepl.ldif
# 新規作成
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
  # LDAPサーバーのURI
  provider=ldap://10.0.0.30:389/
  bindmethod=simple
  # 自身のドメイン名
  binddn="cn=Manager,dc=hoge,dc=com"
  # ディレクトリマネージャーのパスワード
  credentials=password
  searchbase="dc=hoge,dc=com"
  # サブツリーも含める
  scope=sub
  schemachecking=on
  type=refreshAndPersist
  # リトライ間隔 リトライ回数 再リトライまでの間隔 再リトライ回数
  retry="30 5 300 3"
  # レプリケーションの間隔
  interval=00:00:05:00
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}hdb,cn=config"
# データを検索して確認
[root@localhost ~]# ldapsearch -x -b 'ou=People,dc=hoge,dc=com'
# People, hoge.com
dn: ou=People,dc=hoge,dc=com
objectClass: organizationalUnit
ou: People
...
...

LDAP クライアント側でプロバイダーとコンシューマーの両方を参照先として設定します。 以上により、プロバイダーダウン時も、参照先がコンシューマーに切り替わり、LDAP サービスは継続されるようになります。

# カンマ区切りで指定する (実際の設定ファイルにはスペース区切りで登録される)
[root@localhost ~]# authconfig --ldapserver=centos.hoge.com,slave.hoge.com --update

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-22 (水) 11:34:22