|
Q. What happens to partitioning and replication, and to the Admin account, when you merge two NDS trees?
A.
When you merge two NDS trees, one logical tree is “grafted” onto the other at the [Root]. The idea seems pretty simple, until you start thinking about the impact of merges on partitioning and replication.
The ABC Company has been acquired by the XYZ Company. Since XYZ has the larger of the two trees, it has been decided to merge ABC_Tree into XYZ_Tree (merging small trees into larger trees will take much
less time than the other way around). The process of merging these two trees will cause the [Root] of ABC_Tree to be discarded; .O=ABC and .O=XYZ will both become peers under the same [Root], that of XYZ_Tree.
Eventually, the containers and leaves under .O=ABC will be transplanted to locations under .O=XYZ, and .O=ABC can be deleted.
If both trees held only one partition ([Root]), the loss of ABC_Tree’s [Root] object causes the partition root to shift downward. .O=ABC will become the new partition root for that branch of the merged
tree, which will now hold two partitions: [Root] (the parent, holding XYZ’s tree structure) and ABC (the child, holding what remains of ABC’s tree structure).
Now, let’s say each tree held three servers (for the minimum recommended replication strategy): ABC-1, ABC-2, and ABC-3 in the ABC_Tree, and XYZ-1, XYZ-2, and XYZ-3 in the XYZ_Tree. The master replica of
the [Root] of ABC_Tree was on ABC-1, and the master replica of the [Root] of XYZ_Tree was on XYZ-1. The other servers held read/write replicas of their respective partitions.
The merge occurs between the two servers holding the master replicas of the [Root] of their trees. In doing so, XYZ-1 will retain the master of the [Root] of the new tree. ABC-1 will receive a read/write
replica of the new [Root]. Servers XYZ-2 and XYZ-3 will keep their replicas of the new [Root]. Servers ABC-2 and ABC-3 will lose their replicas of the old [Root] and will not get replicas of the new one. In
addition, Server ABC-1 will get a master replica of the ABC partition, and servers ABC-2 and ABC-3 will receive read/write replicas of the ABC partition.
Since servers XYZ-1, XYZ-2 and XYZ-3 all hold replicas of [Root] but not of ABC (the parent exists, but the child does not), these servers will also gain subordinate references to the ABC partition.
To merge the trees you need access to an account in each tree with Supervisor rights to the tree and to the server holding the master replica of the [Root]. This is usually the Admin account in each tree,
although it doesn’t have to be. The account in the source tree (ABC_Tree) used to perform the merge will be given the Supervisor rights to the new [Root]. Accounts that held the Supervisor rights to the [Root] of
XYZ_Tree before the merge will not have any change in rights, however accounts that once held the Supervisor rights over the [Root] of ABC_Tree (except for that used in the merge) may lose their rights, since the
old [Root] is discarded. To protect the rights of these accounts, administrators often shift their trustee assignment down to the Organization object until the merge is complete, and NDS traffic has settled down.
If the tree has more partitions, replicas, or servers, the above basics still apply. Be particularly aware of the potential for more subordinate references as the tree grows through the merger. Partitions
below the [Root] of each tree should not be affected otherwise, although objects in the trees may end up having new distinguished names by the time clean-up is complete.
|