2013-07-26 2 views
1

우분투 10.04를 마스터 (제공자)로 사용하고 12.04를 슬레이브 (소비자)로 사용하여 Openldap을 성공적으로 복제했습니다.ldap one slave-mutlimaster 복제를 구성하는 방법

저는이 복제에 syncrepl 메소드를 사용하고 있습니다.

이이 성공적으로 내가 공급자에 가치를 추가 할 때, 다음 소비자에 복제됩니다, 복제

### consumer ### 
#Load the syncprov module. 
dn: cn=module{0},cn=config 
changetype: modify 
add: olcModuleLoad 
olcModuleLoad: syncprov 

# syncrepl specific indices 
dn: olcDatabase={1}hdb,cn=config 
changetype: modify 
add: olcDbIndex 
olcDbIndex: entryUUID eq 
- 
add: olcSyncRepl 
olcSyncRepl: rid=0 provider=ldap://192.168.2.29 bindmethod=simple binddn="cn=admin,dc=teleneos,dc=org" 
credentials=teleneos searchbase="dc=teleneos,dc=org" logbase="cn=accesslog" 
logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on 
type=refreshAndPersist retry="60 +" syncdata=accesslog 
- 
add: olcUpdateRef 
olcUpdateRef: ldap://192.168.2.29 

### provider ### 
# Add indexes to the frontend db. 
dn: olcDatabase={1}hdb,cn=config 
changetype: modify 
add: olcDbIndex 
olcDbIndex: entryCSN eq 
- 
add: olcDbIndex 
olcDbIndex: entryUUID eq 

#Load the syncprov and accesslog modules. 
dn: cn=module{0},cn=config 
changetype: modify 
add: olcModuleLoad 
olcModuleLoad: syncprov 
- 
add: olcModuleLoad 
olcModuleLoad: accesslog 

# Accesslog database definitions 
dn: olcDatabase={2}hdb,cn=config 
objectClass: olcDatabaseConfig 
objectClass: olcHdbConfig 
olcDatabase: {2}hdb 
olcDbDirectory: /var/lib/ldap/accesslog 
olcSuffix: cn=accesslog 
olcRootDN: cn=admin,dc=teleneos,dc=org 
olcDbIndex: default eq 
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart 

# Accesslog db syncprov. 
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config 
changetype: add 
objectClass: olcOverlayConfig 
objectClass: olcSyncProvConfig 
olcOverlay: syncprov 
olcSpNoPresent: TRUE 
olcSpReloadHint: TRUE 

# syncrepl Provider for primary db 
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config 
changetype: add 
objectClass: olcOverlayConfig 
objectClass: olcSyncProvConfig 
olcOverlay: syncprov 
olcSpNoPresent: TRUE 

# accesslog overlay definitions for primary db 
dn: olcOverlay=accesslog,olcDatabase={1}hdb,cn=config 
objectClass: olcOverlayConfig 
objectClass: olcAccessLogConfig 
olcOverlay: accesslog 
olcAccessLogDB: cn=accesslog 
olcAccessLogOps: writes 
olcAccessLogSuccess: TRUE 
# scan the accesslog DB every day, and purge entries older than 7 days 
olcAccessLogPurge: 07+00:00 01+00:00 

그런 consumer.ldif 아래 provider.ldif 및 consumer.ldif에 대한 구성 아래

(노예). 그러나 이것은 단지 2 대의 컴퓨터에 연결되어 있습니다. 어떻게하면 10 대 이상의 컴퓨터가 공급자 (마스터)가 될 수 있습니까? customer.ldif에 올리십시오. olcUpdateRef를 추가하십시오 : ldap : // url_ldap?

add: olcUpdateRef 
olcUpdateRef: ldap://192.168.2.29 
olcUpdateRef: ldap://192.168.2.30 
olcUpdateRef: ldap://192.168.2.31 
... 
... 

olcUpdateRef: ldap://192.168.2.39 

이 경우 다른 구성이 필요합니까? 나는 내가 LDAP 마스터의 URL 하나를 추가하면 효과가 없을 것이라고 생각합니다.

이 문제를 해결하는 데 도움을주세요.

감사

그것은이 지원되는 구성 인 것을 나에게 분명하지 않다거나 작동 할 수 있지만, 그렇다면 당신이 필요합니다 모든 소비자에 여러 syncrepl 지침입니다

답변

0

.

NB 소비자에게 syncprov 모듈을로드하지 마십시오.

+0

하지만 내 스키마가 가능합니까? 어떤 샘플 구성이나 참조입니까? – Pirates

관련 문제