czwartek, 14 stycznia 2010

Monitoring stanu replikacji serwerów LDAP

Po ostatniej aktualizacji OpenLDAP okazało się, że nie ma wsparcia dla metody replikacji danych LDAP na slave'y. Skorzystałem z nowego mechanizmu refreshAndPolling, o którym w tej chwili nie mam czasu się rozpisywać (może innym razem). Problemem o którym chciałem napisać jest - jak w temacie - monitorowanie stanu replikacji. Czyli - czy wszystkie dane propagują się poprawnie na serwery podrzędne (slave)?
Do czasu migracji sprawdzałem to za pomocą parsowania logu demona slurpd (odpowiedzialnego w OpenLDAP 2.3 za replikację na slave'y) - niestety w 2.4 takiej możliwości już nie ma. Hmm - choć zapewne jakby się uparł - toż to linux - to by się dało. Ponieważ zajęłoby to sporo czasu i było dość zawiłe w implementacji skorzystałem z nowej i prostszej możliwości jaką daje analiza atrybutu contextCSN w baseDN. Teraz na każdym serwerze podrzędnym można wykonać sprawdzenie stanu poprzez odpytanie o numer contextCSN:

master$ ldapsearch -x -LLL -H ldap://master:389 -s base -b 'dc=linuxway,dc=eu' contextCSN
dn: dc=linuxway,dc=eu contextCSN: 20101025222436.834813Z&000000;000#000000

slave$ ldapsearch -x -LLL -H ldap://slave:389 -s base -b 'dc=linuxway,dc=eu' contextCSN
dn: dc=linuxway,dc=eu contextCSN: 20101025222436.834813Z&000000;000#000000


i już jeśli contextCSN na każdym z hostów jest identyczny z tym na masterze = replikacja działa.

Brak komentarzy:

Prześlij komentarz