2011-07-22 71 views
1

我想使用OpenLDap動態配置。我已經顯示錯誤,因爲我嘗試添加以下:OpenLDAP olcMirrorMode

add: olcMirrorMode 
olcMirrorMode: TRUE 

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

任何人都可以解釋如何才能擺脫這種錯誤,我需要設置什麼在後臺配置中添加olcMirrorMode?

感謝:-)

回答

4

我有類似的問題,所以希望這可以幫助。

Mirrormode應設置只對要複製的數據庫,並且已經設置了任何和所有的syncrepl命令的olcMirrorMode應設置。

假設您正在嘗試n-master replication 設置您的syncrepl表達式。

一旦完成,打開mirrormode。對我來說,捕捉的是,我不得不做了修改/添加而不是直接加讓它接受mirrormode:

dn: olcDatabase={1}bdb,cn=config  
changetype: modify 
add: olcMirrorMode 
olcMirrorMode: TRUE 
0

配置的OpenLDAP像下面第一個服務器上。

[[email protected] ~]# 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。

[[email protected] ~]# 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 =配置方法,那麼它使用的slapd的

# 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/ 

啓動服務兩臺服務器上轉換爲CN =配置格式。

# service slapd start