OpenLDAP : OpenLDAP マルチマスターレプリケーション2015/03/18 |
|
OpenLDAP マルチマスターレプリケーションの設定です。
プロバイダー/コンシューマー構成の場合、 コンシューマー側ではデータの登録はできませんが、マルチマスター構成とすることで、いずれのサーバーでもデータ登録可能となります。 |
|
| [1] |
LDAP マスターとするサーバー全てで、
こちらを参照し、LDAP サーバーとしての基本設定をしておきます。
|
| [2] | LDAP マスターとするサーバー全てで syncprov モジュールを追加します。 |
|
[root@slapd01 ~]#
vi mod_syncprov.ldif # 新規作成 dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/lib64/openldap olcModuleLoad: syncprov.la 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@slapd01 ~]#
vi syncprov.ldif # 新規作成
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
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"
|
| [3] | LDAP マスターとするサーバー全てで、以下の設定をします。 ただし、それぞれのサーバーで「olcServerID」は一意の ID を、「provider=***」には相手側のサーバーを指定してください。 |
|
[root@slapd01 ~]#
vi master01.ldif # 新規作成 dn: cn=config changetype: modify replace: olcServerID # ID はサーバー毎に異なるものを指定
olcServerID: 0
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
# 相手側のLDAPサーバーのURI provider=ldap://10.0.0.50:389/ bindmethod=simple # 自身のドメイン名 binddn="cn=Manager,dc=srv,dc=world" # ディレクトリマネージャーのパスワード credentials=password searchbase="dc=srv,dc=world" # サブツリーも含める scope=sub schemachecking=on type=refreshAndPersist # リトライ間隔 リトライ回数 再リトライまでの間隔 再リトライ回数 retry="30 5 300 3" # レプリケーションの間隔
interval=00:00:05:00
-
add: olcMirrorMode
olcMirrorMode: TRUE
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
ldapmodify -Y EXTERNAL -H ldapi:/// -f master01.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"
|
| [4] | LDAP クライアント側で全てのマスターを参照先として設定します。 以上で設定完了です。データの登録はいずれのサーバーからでも可能となっています。 |
|
# カンマ区切りで指定する (実際の設定ファイルにはスペース区切りで登録される) [root@www ~]# authconfig --ldapserver=slapd01.srv.world,slapd02.srv.world --update |
| Sponsored Link |
|
|