The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Openldap replica & problems"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Openldap replica & problems" 
Сообщение от rm Искать по авторуВ закладки(??) on 28-Сен-05, 21:40  (MSK)
Настроил репликацию между двумя серверами. Изменения на master реплицируются на slave. Но возникла проблема.....

Сервера выполняют одни и те же функции, у них одинаковые OS (freebsd 5.3) и используются одинаковые скрипты.
В некоторые моменты скрипты на серверах должны менять записи в своем LDAPе.

Работает система так: меняется что-то на Master, это сразу реплицируется на slave.

Но при этом slave server не может ничего изменить в своем ldap!
Без репликации тот же скрипт (вызывает ldapmodify)прекрасно работает. Стоит только закоментировать у slave строчки:
updatedn        "cn=replicator,o=org,c=ru"
updateref       ldap://localhost:636

Естественно, при этом не работает репликация!

Если же работает репликация, получаю ошибку

ldap_modify: Referral
ldif_record() = 10

и записи на slave посредством скрипта не меняются!

Как сделать, чтобы это работало одновременно?
Те нужно, чтобы:

Изменения на master реплицируются на slave
Причем сам slave мог самостоятельно менять записи в ldap (не нужно, чтобы это отображалось на master)

конфиги
MASTER

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/samba.schema
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
loglevel       64
database        ldbm
cachesize       10000
dbcachesize     1000000
threads         128
dbnosync
dbsync          2 12 5
sizelimit       10000

suffix          "o=org,c=ru"
rootdn          "cn=Manager,o=org,c=ru"
rootpw          secret


directory       /var/db/openldap-ldbm

replogfile      /var/log/slurpd.replog
replica         host=localhost:636
                binddn="cn=replicator,o=org,c=ru"
                bindmethod=simple
                credentials=my_replicator

index   objectClass           eq
index           uid           pres,eq
index           rid           eq
index           uidNumber     eq
index           gidNumber     eq
index           cn            eq,subinitial
index           memberUid     eq

index           gecos         eq
index           description   eq
index           default       sub

access to attr=userPassword,lmPassword,ntPassword
       by self write
       by * auth

access to *
       by * read

----------------
SLAVE:
----------------

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/samba.schema
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
loglevel        64

database        ldbm
cachesize       10000
dbcachesize     1000000
threads         128
dbnosync
dbsync          2 12 5
sizelimit       10000

suffix          "o=org,c=ru"
rootdn          "cn=Manager,o=org,c=ru"

rootpw          secret
directory       /var/db/openldap-ldbm

index   objectClass     eq
index           uid           pres,eq
index           rid           eq
index           uidNumber     eq
index           gidNumber     eq
index           cn            eq,subinitial
index           memberUid     eq

index           gecos         eq
index           description   eq
index           default       sub

updatedn        "cn=replicator,o=org,c=ru"
updateref       ldap://localhost:636

access to * attr=userPassword,lmPassword,ntPassword
       by dn="cn=replicator,o=org,c=ru" write
       by self write
       by * auth
access to *
       by dn="cn=replicator,o=org,c=ru" write
       by * read


  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Openldap replica & problems" 
Сообщение от rm Искать по авторуВ закладки(??) on 29-Сен-05, 12:30  (MSK)
а вообще такое возможно или нужно делать двустороннюю репликацию?
куда вообще копать? :)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Openldap replica & problems" 
Сообщение от ekc emailИскать по авторуВ закладки on 29-Сен-05, 15:57  (MSK)
>Настроил репликацию между двумя серверами. Изменения на master реплицируются на slave. Но
>возникла проблема.....
>
>Сервера выполняют одни и те же функции, у них одинаковые OS (freebsd
>5.3) и используются одинаковые скрипты.
>В некоторые моменты скрипты на серверах должны менять записи в своем LDAPе.
>
>
>Работает система так: меняется что-то на Master, это сразу реплицируется на slave.
>
>
>Но при этом slave server не может ничего изменить в своем ldap!
>
>Без репликации тот же скрипт (вызывает ldapmodify)прекрасно работает. Стоит только закоментировать у
>slave строчки:
>updatedn        "cn=replicator,o=org,c=ru"
>updateref       ldap://localhost:636
updateref должна ссылаться на master ldap (ldap://master.ldap.org)
>
>Естественно, при этом не работает репликация!
>
>Если же работает репликация, получаю ошибку
>
>ldap_modify: Referral
>ldif_record() = 10
>
>и записи на slave посредством скрипта не меняются!
>
>Как сделать, чтобы это работало одновременно?
>Те нужно, чтобы:
>
>Изменения на master реплицируются на slave
>Причем сам slave мог самостоятельно менять записи в ldap (не нужно, чтобы
>это отображалось на master)
>
>конфиги
>MASTER
>
>include         /usr/local/etc/openldap/schema/core.schema
>include         /usr/local/etc/openldap/schema/cosine.schema
>include         /usr/local/etc/openldap/schema/nis.schema
>include         /usr/local/etc/openldap/schema/inetorgperson.schema
>include         /usr/local/etc/openldap/schema/samba.schema
>pidfile         /var/run/openldap/slapd.pid
>argsfile        /var/run/openldap/slapd.args
>loglevel       64
>database        ldbm
>cachesize       10000
>dbcachesize     1000000
>threads         128
>dbnosync
>dbsync          2 12
>5
>sizelimit       10000
>
>suffix          "o=org,c=ru"
>rootdn          "cn=Manager,o=org,c=ru"
>rootpw          secret
>
>
>directory       /var/db/openldap-ldbm
>
>replogfile      /var/log/slurpd.replog
>replica         host=localhost:636
>            
>    binddn="cn=replicator,o=org,c=ru"
>            
>    bindmethod=simple
>            
>    credentials=my_replicator
>
>index   objectClass        
>  eq
>index           uid
>          pres,eq
>
>index           rid
>          eq
>
>index           uidNumber
>    eq
>index           gidNumber
>    eq
>index           cn
>          
>eq,subinitial
>index           memberUid
>    eq
>
>index           gecos
>        eq
>index           description
>  eq
>index           default
>      sub
>
>access to attr=userPassword,lmPassword,ntPassword
>       by self write
>       by * auth
>
>access to *
>       by * read
>
>----------------
>SLAVE:
>----------------
>
>include         /usr/local/etc/openldap/schema/core.schema
>include         /usr/local/etc/openldap/schema/cosine.schema
>include         /usr/local/etc/openldap/schema/nis.schema
>include         /usr/local/etc/openldap/schema/inetorgperson.schema
>include         /usr/local/etc/openldap/schema/samba.schema
>pidfile         /var/run/openldap/slapd.pid
>argsfile        /var/run/openldap/slapd.args
>loglevel        64
>
>database        ldbm
>cachesize       10000
>dbcachesize     1000000
>threads         128
>dbnosync
>dbsync          2 12
>5
>sizelimit       10000
>
>suffix          "o=org,c=ru"
>rootdn          "cn=Manager,o=org,c=ru"
>
>rootpw          secret
>directory       /var/db/openldap-ldbm
>
>index   objectClass     eq
>index           uid
>          pres,eq
>
>index           rid
>          eq
>
>index           uidNumber
>    eq
>index           gidNumber
>    eq
>index           cn
>          
>eq,subinitial
>index           memberUid
>    eq
>
>index           gecos
>        eq
>index           description
>  eq
>index           default
>      sub
>
>updatedn        "cn=replicator,o=org,c=ru"
>updateref       ldap://localhost:636
updateref должна ссылаться на master ldap (ldap://master.ldap.org)
>
>access to * attr=userPassword,lmPassword,ntPassword
>       by dn="cn=replicator,o=org,c=ru" write
>       by self write
>       by * auth
>access to *
>       by dn="cn=replicator,o=org,c=ru" write
>       by * read


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Openldap replica & problems" 
Сообщение от rm Искать по авторуВ закладки(??) on 29-Сен-05, 18:03  (MSK)

>>updatedn        "cn=replicator,o=org,c=ru"
>>updateref       ldap://localhost:636
>updateref должна ссылаться на master ldap (ldap://master.ldap.org)


у меня репликация шифруется stunnel, т.е.

master,localhost:636-->шифруем-->slave,localhost:636--->расшифровываем-->slave,localhost,ldap:389


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Openldap replica & problems" 
Сообщение от rm Искать по авторуВ закладки(??) on 29-Сен-05, 19:27  (MSK)
>
>>>updatedn        "cn=replicator,o=org,c=ru"
>>>updateref       ldap://localhost:636
>>updateref должна ссылаться на master ldap (ldap://master.ldap.org)
>
>
>у меня репликация шифруется stunnel, т.е.
>
>master,localhost:636-->шифруем-->slave,localhost:636--->расшифровываем-->slave,localhost,ldap:389

вернее даже не так, а

master,localhost:636 --> шифруем --> slave,slave IP:636 --> расшифровываем --> slave,localhost,ldap:389

так что мне в этом случае писать?

Или может возвожно сделать двустороннюю репликацию?
Я тут попробовал и в итоге нельзя было ничего исправить ни на master, ни на slave...к тому же загадочным способом удалилось 200 записей из ldap, хорошо что backup есть :)


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру