┌──────────┐ ┌──────────┐ │OpenLDAP 1号 ├<─>┤OpenLDAP 2号 │ │(sso-1.end0tknr.com)│ │(sso-2.end0tknr.com)│ └──────────┘ └──────────┘
上のようにするには、以下の通り
1号機側
$ vi replica_ldap_1to2.ldif # replace ServerID dn: cn=config changetype: modify replace: olcServerID olcServerID: 1 # mirror mode setup dn: olcDatabase={2}bdb,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://sso-2.end0tknr.com searchbase="dc=sso,dc=end0tknr,dc=com" schemachecking=on bindmethod=simple binddn="cn=Manager,dc=sso,dc=end0tknr,dc=com" credentials=ldapパスワード type=refreshAndPersist retry="60 +" - add: olcMirrorMode olcMirrorMode: TRUE $ ldapadd -x -w ldapパスワード -D cn=config -f replica_ldap_1.ldif.ldif
2号機側
$ vi replica_ldap_2to1.ldif # replace ServerID dn: cn=config changetype: modify replace: olcServerID olcServerID: 2 # mirror mode setup dn: olcDatabase={2}bdb,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://sso-1.end0tknr.com searchbase="dc=sso,dc=end0tknr,dc=com" schemachecking=on bindmethod=simple binddn="cn=Manager,dc=sso,dc=end0tknr,dc=com" credentials=ldapパスワード type=refreshAndPersist retry="60 +" - add: olcMirrorMode olcMirrorMode: TRUE $ ldapadd -x -w ldapパスワード -D cn=config -f replica_ldap_1to2.ldif
オマケ - 同期されるdata store作成
上記までにreplicaされているので、 以下は1 or 2号機のいずれかでのみ、実行すれば、OK
$ vi make_datastore.ldif dn: dc=sso,dc=end0tknr,dc=com objectclass: dcObject objectclass: organization o: end0tknr dc: sso dn: cn=Manager,dc=sso,dc=end0tknr,dc=com objectclass: organizationalRole cn: Manager dn: ou=People,dc=sso,dc=end0tknr,dc=com objectClass: organizationalUnit ou: People dn: ou=Groups,dc=sso,dc=end0tknr,dc=com objectClass: organizationalUnit ou: Groups dn: cn=sidNext,dc=sso,dc=end0tknr,dc=com cn: sidNext uidNumber: 1 objectClass: uidNext dn: cn=defaultpolicy,dc=sso,dc=end0tknr,dc=com objectClass: top objectClass: device objectClass: pwdPolicyChecker objectClass: pwdPolicy cn: defaultpolicy pwdAttribute: userPassword dn: cn=HelpDesk,dc=sso,dc=end0tknr,dc=com objectclass: organizationalRole cn: HelpDesk dn: cn=SpcHelpDesk,cn=HelpDesk,dc=sso,dc=end0tknr,dc=com objectClass: person cn: SpcHelpDesk sn: SpcHelpDesk userPassword: {SSHA}<ないしょ>Zwf+WO1aXKzXTfrV # ldapadd -x -w ldapパスワード -D cn=Manager,dc=sso,dc=end0tknr,dc=com \ -f make_datastore.ldif