Настройка мультимастерной репликации openldap с помощью cn=config
В настоящее время у нас есть один сервер OpenLDAP, использующий cn=config
бэкенд. Мы хотели бы добавить второй сервер OpenLDAP и настроить их для репликации с несколькими хозяевами. Что нам нужно сделать, чтобы
- включить репликацию на существующем сервере и
- инициализировать новый сервер с существующими данными
Пока что я сделал (следуя этому руководству):
Синхронизация конфигурации
dn: cn = config тип изменения: изменить заменить: olcServerID olcServerID: 1 ldap://foo.example.com olcServerID: 2 ldap://bar.example.com - заменить: olcSaslSecProps olcSaslSecProps: анонимный dn: cn = модуль,cn= изменение типа конфигурации: изменить olcModuleLoad: syncprov dn: olcDatabase=config,cn=config изменение типа: изменить olcRootDN: cn=admin,cn=config olcRootPW: abc123 добавить: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://foo bindmethod=simple binddn="cn=admin,cn=config" учетные данные =abc123 searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=3 olcSyncRepl: rid=002 provider=ldap://bar.example.com bindmethod=simple binddn="cn=admin,cn=config" учетные данные =abc123 searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=3 - добавить: olcMirrorMode olcMirrorMode: TRUE dn: olcOverlay=syncprov, olcDatabase=config, cn=config changetype: добавить objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov
Это получило синхронизацию конфигурации, работающую в обоих направлениях.
Синхронизация данных
dn: olcDatabase = bdb,cn= config изменить тип: изменить добавить: olcMirrorMode olcMirrorMode: TRUE - добавить: olcSyncrepl olcSyncrepl: rid=001 provider=ldap://foo.example.com searchbase=dc= пример,dc=com binddn="uid=ldapsync,ou= специальные учетные записи, dc = пример,dc=com" учетные данные =xyz123 olcSyncrepl: rid=002 provider=ldap://bar.example.com searchbase=dc= пример,dc=com binddn="uid=ldapsync,ou= специальные учетные записи, dc = пример,dc=com" учетные данные = xyz123 dn: olcOverlay = syncprov, olcDatabase = bdb,cn= config изменить тип: добавить objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov
Я проверил, что эти изменения были синхронизированы со вторым сервером, и что пользователь ldapsync может аутентифицироваться и видеть все необходимые ему данные. Однако данные bdb не синхронизируются ни в одном направлении. Что мне не хватает?
1 ответ
Эта тема привела меня к мысли, что olcMirrorMode
определение должно быть размещено после olcSyncrepl
линий. Я остановил серверы ldap и отредактировал файлы olcDatabase ldif вручную. Похоже, что теперь репликация данных работает в обоих направлениях.