wpid-d53372ab83ca060500bfdd46e1045836ldap2Openldap replikasyon servisi provider ve consumer olarak iki rolün birbiri ile konuşması üzerine kuruludur. Provider dizin güncelleme mesajlarını yollayan, consumer bunları alan roldür. Bir sunucu ya da istemci bu iki rolün biri ya da her ikisini de alabilir.

 

Ldap beş adet replikasyon modunda çalışabilir.

  • Syncrepl : Consumer tarafında çalışan ve DIT parçalarını birer kopyasını saklayan bir replikasyon tipidir.
  • Delta-syncrepl : Sadece değişen  kısımların consumer tarafından provider’dan çekilmesidir.
  • N-way multi-master : Birden fazla provider sunucunun katıldığı replikasyon tipidir. Herhangi bir sunucu devre dışı kalsa da update operasyonları devam edebilir.
  • Mirror Mode : İki providerin birbirlerini aynalaması ve birinin fail olması durumunda ikincinin yazma işlemlerini kabul ettiği replikasyon modudur.
  • Syncrepl Proxy : Normalde replikasyon istekleri consumer tarafından başlatılırken, bazı durumlarda (Firewall ve NAT gibi) bu işlemin provider tarafından başlatıldığı replikasyon modudur.

Ben sunucularımı Mirror Mode’da kullanmak istiyorum. Beu şekilde herhengi bir sunucum fail olursa, diğerine yine update gönderebileceğim.

İlk olarak eğer daha önce yapılmamış ise, modül tanımlarımızı eklememiz lazım. Burada syncprov modülünü openldap servisine ekliyoruz.

ldapadd -Y EXTERNAL -H ldapi:/// <<EOF
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}syncprov.la
EOF

Şimdi mirror yapıya eklenecek sunucuları id değerleri ile beraber ekliyorum. Burada unutulmaması geeken, ldap url değerlerinin birer ip adresi döndürmesi. Bunun için dns kayıtlarını oluşturmanız ya da /etc/hosts dosyanızı düzenlemeniz lazım.

ldapmodify -Y EXTERNAL -H ldapi:/// <<EOF
dn: cn=config
changetype: modify
add: olcServerID
olcServerID: 1 ldap://ldap1.alanadim.com
olcServerID: 2 ldap://ldap2.alanadim.com
EOF

Şimdi de overlay tanımlarımızı yaparak sunuculara artık syncprov bildirimlerini yollamalarını bildiriyoruz.

ldapmodify -Y EXTERNAL -H ldapi:/// <<EOF
dn: olcOverlay=syncprov,olcDatabase={2}bdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
provider=ldap://ldap2.alanadim.com
binddn="cn=admin,dc=alanadim,dc=com"
bindmethod=simple
credentials="parolam"
searchbase="dc=alanadim,dc=com"
type=refreshAndPersist
retry="60 1 300 12 7200 +"
timeout=1
-
add: olcMirrorMode
olcMirrorMode: TRUE
EOF

Diğer sunucuya bu komutları girerken, ldap urilerini sunucu adına göre değiştirmeyi unutmayın. Replikasyon durumunu kontrol etmek için her iki sunucuda contextCSN sorgusu yapılabilir.

ldapsearch -x -LLL -H ldap://ldap1:389 -s base -b 'dc=alanadim,dc=com' contextCSN

Her iki sunucu için de çıktının aynı olası gerekir.

Resources :

  • http://www.openldap.org/doc/admin24/replication.html
  • http://www.math.ucla.edu/~jimc/documents/ldap/ldap-setup-1202.html
  • http://www.zytrax.com/books/ldap/ch6/syncprov.html
Openldap Mirror Mode Replikasyon
Tagged on:         

Leave a Reply

Your email address will not be published. Required fields are marked *