Getting Schooled in eDirectory 8.6 Synchronization Changes
Novell Cool Solutions: Feature
Digg This -
Posted: 7 Dec 2001
Sharpen your pencils, directory fans. The new and improved eDirectory 8.6 handles synchronization in a slightly different fashion. Thanks (again) to the support guys, who get to explain these concepts in terms we can all understand, we've been given the following as a primer:
The introduction of eDirectory 8.6 into a network environment brings some differences in the way directory synchronization occurs. eDirectory 8.6 now has the ability to perform outbound synchronization using multiple threads. We are still limited to single-threaded inbound synchronization with eDirectory 8.6, however, multi-threaded inbound sync is slated for future releases of eDirectory 8.6.
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). 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 5-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
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. Servers 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.
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).
For more information on synchronization and eDirectory 8.6, see TID-10065779.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com