[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: high availability referrals



> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Mike Jackson

> Hi,
>  I will explain a problem below and hope that somebody here has a good
> solution about high availability of referred DIT namespace portions.
>
>
> 				LDAP Master - ldap-1.foo.com
>
> 				dc=foo,dc=com
> 				    |
> 			-------------------------
> 			|			|
> 		ou=locations		ou=local-data
> 		   |
> 		   + ou=europe
> 			| is
> referral to ldap://ldap-4.foo.com/ou=europe,ou=locations,dc=foo,dc=com
>
>
> Replication Scenario:
>
> Top Level (dc=foo,dc=com)
> ---------------------------------------
> Master:		ldap-1
> Replicas:	ldap-2, ldap-3
>
>
> Second Level (ou=europe,dc=foo,dc=com)
> ---------------------------------------
> Master:		ldap-4
> Replicas:	ldap-5, ldap-6
>
>
>  So, you can see that a virtual tree is formed via the use of
> referrals.
> Everything is fine if "ldap-1" dies, since the same referral has been
> replicated to "ldap-2" and "ldap-3" and clients can query those boxes.
>
>  What happens if "ldap-4" dies? There are two replicas of
> "ldap-4" waiting
> to service requests, but the referral from the top-level
> doesn't point to
> them. The virtual tree becomes broken and requires manual
> intervention to
> "fix" it, e.g.  modifying the referral on "ldap-1" to point
> to "ldap-5"
> or to "ldap-6".
>
>  Does somebody know of a more intelligent and automatic method of
> handling this? Replies to list and my email, please :-)

Note that the "ref" attribute in a referral object is multi-valued. You
should list referrals pointing to ldap-5 and ldap-6 in addition to ldap-4.
When the client receives the list of referrals, it will fallback to the next
one when one of the servers is down.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support