Manually costing referrals to other servers in iManager 2.7

  • 7000773
  • 26-Mar-2012
  • 21-Aug-2014

Environment

Novell eDirectory 8.8 SP6 (or later)
Novell iManager 2.7 SP4 (or later)

Situation

If a server-based instance of iManager does not hold the entire tree, iManager will somewhat radomly connect to other servers in order to resolve objects it does not hold.  For instance, in resolving the Root of the tree, iManager is resolving to replica holders remote locations rather than a local replica.  In a large tree this can result in long login delays.
 
Neither Advanced Referral Costing (ARC) nor the hosts.nds file have any effect on iManager's resolving behavior as it uses JClient.

Resolution

An enhancement has been added that allows for manually costing the remote servers that iManager may connect to.
 
This feature is contained in these minimum versions (requires both):
  • iManager 2.7 SP4 Patch 4
  • eDirectory 8.8 SP6 Patch 5
 To configure manual costing:
  1. Create a referral configuration file (refaddrcost.nds) in eDirectory's configuration directory. 
    By default, this is documented in "n4u.server.configdir" (from "ndsconfig get"), and defaults to "/etc/opt/novell/eDirectory/conf"
  2. Add the referrals of remote servers you wish to cost in the refaddrcost.nds referral configuration file.  The following is the correct format where 50 is the cost:

    tcp:164.99.88.152:524 50
 
Please note the following when adding entries to the file
  • The most attractive referral is the one with the lowest cost (i.e. highest priority)
  • A given "cost" should be a positive value with a maximum of 1350
  • After adding a new referral in the referral configuration file iManager must be restarted to read the new referrals.
  • All referrals not listed in the refaddrcost.nds file, will get a default value of 1350.
    This may have a negative impact when working with multiple trees with servers in multiple locations.  A good rule is to, at a minimum, add every well connected server (local or across a WAN link with large bandwidth) with a value lower than 1350.  These will then be preferred when using iManager.
 With costing set the iManager's referral behavior will be as follows:
  1. When iManager loads, it will read in and cache the entries in refaddrcost.nds
  2. iManager first attempts to connect to the local DIB in order to resolve the object.
  3. If the local DIB does not hold a replica of a partition in which this object resides, it will gather the remote referral addresses of all servers holding a replica of that partition.
  4. iManager then compares referrals returned with the cached entries from refaddrcost.nds file -- sorting the referrals returned by their corresponding costs found.  The least cost referral (aka IP address) will then be given the highest priority and thereby chosen..

Additional Information


This feature can be used on a server that is only running iManager (no eDirectory).  You must manually create the path and configuration file.
 
This file can also be used to cost servers in seperate trees if required.