The difference between "by Partition" vs "by Server" synchronization

  • 10065779
  • NOVL62538
  • 01-Nov-2001
  • 07-Feb-2003

Archived Content: This information is no longer maintained and is provided 'as is' for your convenience.

Goal

The difference between "by Partition" vs "by Server" synchronization

Fact

Novell NetWare 6

Novell eDirectory 8.6

Novell eDirectory 8.7

NDS iMonitor 1.5

NDS iMonitor 2.0

Fix

With the introduction of eDirectory 8.6 or greater into a network environment comes some major differences in the way DS synchronization occurs.  eDirectory 8.6 and greater now has the ability to perform outbound synchronization using multiple threads.  We are still limited to single-threaded inbound sync with these versions of eDirectory, however multi-threaded inbound sync is slated for future releases of eDirectory.

The following is an example of the difference between "by Partition" and " by Server" synchronization.  By default, the "by Server" synchronization method is selected.  This setting can be changed by using iMonitor version 1.5 or higher.  Go to the iMonitor home page on the eDirectory server (the URL is usually http://<server IP address>:8008/nds).  Once there, click on the Agent Configuration link on the left and then click Agent Synchronization.  Also available on this page, is the setting to change how many threads DS uses to synchronize.  The default is 8.  The following 4-server network will be used for example purposes:

There are three partitions:  [Root], O=novell and OU=sales.O=novell

Server A ---- M [Root] ----- R/W O=novell ----- R/W OU=sales.O=novell
Server B ----- R/W [Root] ----- S/R O=novell
Server C ----- R/W [Root] ----- R/W O=novell ----- S/R OU=sales.O=novell
Server D ----- R/W [Root] ----- R/W O=novell ----- R/W OU=sales.O=novell
Server E ----- R/W O=novell ----- S/R OU=sales.O=novell


BY PARTITION

Server A will use one thread to outbound sync [Root] with Server B, another thread for [Root] to Server C and another thread for [Root] to Server D, etc. simultaneously.  Severs B, C D, and E will only accept one inbound thread at a time.  Once synchronization has completed, the partition record is updated.  This method is similar to the way DS synchronization occurs in pre-eDirectory 8.6 versions except outbound sync uses multiple threads.  In order to mimic the pre-eDirectory 8.6 synchronization methods, the synchronization threads needs would need to be lowered to 1.  Normally this would not be needed unless troubleshooting a synchronization issue.  The setting can be changed by simply selecting the method needed and then clicking SUBMIT.    

NOTE:  In this multi-threaded algorithm, if Server D tries to outbound sync O=novell to Server B while Server B is receiving inbound sync from Server A for [Root], Server D will report a -6015 error to Server B, which is similar to the -698 skulk in progress error because it can only handle one inbound sync thread at a time.  


BY SERVER

Server A will outbound sync [Root], O=novell, and OU=sales to Server D using one thread.  Simultaneously Server A can outbound sync [Root] and O=novell and OU=sales with Server C using another thread.  


Here is the algorithm that DS uses to calculate when to sync "by Server" or "by Partition."  

If # of Partitions >= (# of unique servers - 1) then DS will sync "by Partition"
Otherwise DS will sync "by Server"

In our example above, the # of Partitions = 3 and (# of unique servers - 1) = 4.  3 >= 4 is FALSE so it will sync "by Server."


The following is the algorithm that DS uses to determine how many threads to use.

If # of Partitions <= (2 * # of unique servers) then # of threads = # of Partitions
Otherwise # of threads = # of Servers / 2.

If # of threads >= # of Threads set in iMonitor (8 is the default) then # of Threads = the iMonitor setting.
Otherwise # of threads is calculated as shown above.

In our example above, the # of Partitions = 3 and (2 * # of unique servers) = 10.  3 <= 10 is TRUE so DS will use 3 threads to synchronize (which is still less than the default value of 8 as shown in iMonitor).
.

Note

in NDS iMonitor 2.0 there is a new option available:  DYNAMIC ADJUST.  This will set the algorithm back to a dynamic state.  iMonitor 2.0 ships with Novell eDirectory 8.7.

Fix

For additional information on eDirectory 8.6, please see the following solution.  TID #10066455 - eDirectory 8.6 Readme Addendum 

For additional information on eDirectory 8.7, please see the following solution.  NOVL81742 - eDirectory 8.7 Readme Addendum