OpenLDAP olcMirrorMode - PullRequest
       2

OpenLDAP olcMirrorMode

1 голос
/ 22 июля 2011

Я пытаюсь использовать динамическую конфигурацию Openldap.У меня отображается сообщение об ошибке при попытке добавить следующее:

add: olcMirrorMode
olcMirrorMode: TRUE

error(80)
additional info: <olcMirrorMode> database is not a shadow

Может кто-нибудь объяснить, как устранить эту ошибку и какие настройки мне нужны для добавления olcMirrorMode в конфигурацию демона?

Спасибо: -)

Ответы [ 2 ]

5 голосов
/ 13 сентября 2011

У меня были похожие проблемы, так что, надеюсь, это поможет.

Mirrormode должен быть установлен только для тех баз данных, которые вы хотите реплицировать, а olcMirrorMode должен быть установлен после , когда вы настроили все команды syncrepl.

Предполагается, что вы пытаетесь выполнить n-master репликацию Настройте свои syncrepl-записи.

Как только это будет сделано, включите зеркальный режим. Уловка для меня заключалась в том, что я должен был сделать изменение / добавление, а не прямое добавление, чтобы заставить его принять mirrormode:

dn: olcDatabase={1}bdb,cn=config     
changetype: modify 
add: olcMirrorMode 
olcMirrorMode: TRUE
0 голосов
/ 08 марта 2012

Настройте OpenLDAP, как показано ниже, на первом сервере.

[root@dhcp200 ~]# cat /etc/openldap/slapd.conf |grep -v '^#' |grep -v '^$'
include     /etc/openldap/schema/core.schema
include     /etc/openldap/schema/cosine.schema
include     /etc/openldap/schema/inetorgperson.schema
include     /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/ppolicy.schema
allow bind_v2
pidfile     /var/run/openldap/slapd.pid
argsfile    /var/run/openldap/slapd.args
modulepath  /usr/lib64/openldap
moduleload  syncprov.la
loglevel sync
database    bdb
suffix      "dc=example,dc=com"
rootdn      "cn=Manager,dc=example,dc=com"
rootpw      secret
directory   /var/lib/ldap
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
index entryCSN              eq
index entryUUID             eq
serverID 2
syncrepl      rid=001
              provider=ldap://192.168.122.204:389
              bindmethod=simple
              binddn="cn=Manager,dc=example,dc=com"
              credentials=secret
              searchbase="dc=example,dc=com"
              attrs=",+"
              schemachecking=off
              type=refreshAndPersist
              retry="1 +"
mirrormode TRUE
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

Настройте slapd.conf, как показано ниже, на втором сервере.

[root@test6 ~]# cat /etc/openldap/slapd.conf |grep -v '^#' |grep -v '^$'
include     /etc/openldap/schema/core.schema
include     /etc/openldap/schema/cosine.schema
include     /etc/openldap/schema/inetorgperson.schema
include     /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/ppolicy.schema
allow bind_v2
pidfile     /var/run/openldap/slapd.pid
argsfile    /var/run/openldap/slapd.args
modulepath  /usr/lib64/openldap
moduleload  syncprov.la
loglevel sync
database    bdb
suffix      "dc=example,dc=com"
rootdn      "cn=Manager,dc=example,dc=com"
rootpw      secret
directory   /var/lib/ldap
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
index entryCSN              eq
index entryUUID             eq
serverID 1
syncrepl      rid=001
              provider=ldap://192.168.122.200:389
              bindmethod=simple
              binddn="cn=Manager,dc=example,dc=com"
              credentials=secret
              searchbase="dc=example,dc=com"
              attrs=",+"
              schemachecking=off
              type=refreshAndPersist
              retry="1 +"
mirrormode TRUE
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

Если вы хотите использовать метод cn = config, тогдапреобразовать его в формат cn = config, используя

# rm -rvf /etc/openldap/slapd.d/
# mkdir /etc/openldap/slapd.d/
# slaptest -f slapd.conf -F /etc/openldap/slapd.d/
# rm slapd.conf
# chown -R ldap:ldap /etc/openldap/slapd.d/

Запустить службу slapd на обоих серверах.

# service slapd start
...