If you plan the transition to your new NDS tree perfectly, and if your installation goes perfectly, you might never have to merge NDS trees. Occasionally, however, it is necessary to merge NDS trees before your migration to NetWare 4 is complete. The two principal reasons for performing a merge during the migration process follow:
At times it is even advantageous to plan on constructing NDS trees separately and merging them later. For a large organization, a coherent NDS design requires a great deal of coordination and agreement among departments on the top-level structure of the tree. This agreement is sometimes difficult to achieve, and the final design could depend on political considerations that defy prediction. It is sometimes expedient to install departmental networks separately and later merge them into one NDS tree. Though it is possible to operate forever with more than one NDS tree, the only way to access resources in separate NDS trees is through separate logins or through bindery emulation-- a process that circumvents the many advantages of NDS.
This chapter teaches you how to merge NDS trees using DSMERGE.
You can use the DSMERGE NLM to merge the roots of two separate NDS trees. The [Root] objects of separate NDS trees are merged. The container objects and their leaf objects can maintain separate identities within the newly merged root. Before you begin merging NDS trees, you must define a source NDS tree and a target NDS tree. The source NDS tree is merged into the target NDS tree. The root of the target NDS tree becomes the new root of the consolidated tree. Objects in the source NDS tree are moved to the target NDS tree. In actual practice, this movement is accomplished by deleting the [Root] of the source NDS tree and making it a child partition to the [Root] of the target NDS tree. The source NDS tree becomes a branch of the target NDS tree. This means that the objects in the source NDS tree become part of the target NDS tree. The target [Root] object becomes the new root for objects that are moved from the source tree.
The DSMERGE tool does not change NDS names or the context of objects within the containers. Therefore, the complete names for objects in the consolidated tree are the same as the names before the trees are merged.
You must decide which NDS tree is the source tree and which NDS tree is the target tree. Because the source NDS tree is merged with the target NDS tree, the source NDS tree is usually the smaller of the two NDS trees. However, this need not be the case. If you are merging NDS trees as a (planned or unplanned) part of the migration process, your NDS tree design will tell you which tree will be the source and which will be the target. Merging a smaller tree with a larger tree is faster than merging a larger tree with a smaller tree. After the merge, the target tree name is retained; the source target tree name is lost.
The objects that were subordinate to the local Root object become subordinate to the target Root object.
To merge the two NDS trees, you must have Supervisor object rights to the roots of both NDS trees. You are asked to supply NDS login names and passwords for both trees as part of the tree merging process.
DSMERGE enables you only to merge the roots of two separate NDS trees. The top- level organizations are immediately placed beneath the [Root]. Container objects and leaf objects maintain their identities under the newly merged root. This means that complete names of objects in the source and target trees will not change in the merged tree. You must make sure that containers at the same level in the source and target trees have unique names. If you have two containers in the separate trees that have conflicting names (same names) for a level of the tree, you cannot merge the trees; DSMERGE will ask you to change the name of the source Organization (O) object that conflicts with the target organization (O) name. You can use NWADMIN or NETADMIN to rename the source organization object. See Chapter 6, "Creating Objects," for more on NWADMIN and NETADMIN.
Figure 5.1 shows examples of the source and target trees used in the tree merging process. The O=KINETICS tree branch is merged into the target NDS tree. The consolidated NDS tree has the [Root] of the target tree with O=KINETICS added as a tree branch directly under [Root]. The organization O=SCS in the source NDS tree has the same name as the organization O=SCS in the target NDS tree. During the merge, DSMERGE will detect the duplicate name and ask you to rename the source organization name O=SCS. In the example in figure 5.1, O=SCS is renamed to O=KSCS in the consolidated tree. If you do not want to change the name, your only choice is to move the duplicate name container O=SCS under another tree level. It is possible to have duplicate Organizational Unit (OU) objects, as seen by the OU=CORP in figure 5.1 that exists in containers O=ESL and O=KINETICS. The problem with duplicate names exists for objects that are immediately below the [Root] objects. These objects are the Country (C) and Organization (O) container objects.
Figure 5.1 An NDS tree merger example.
Before merging the NDS trees, you must prepare both source and target trees. The merging process is done as a single transaction and, according to Novell, is not subject to catastrophic failure caused by power outages or hardware failure. For your own assurance, however, you should back up the NDS database in both the source and target trees. The NDS backup can be performed using SBACKUP. Refer to Chapter 15, "New and Improved Utilities," for more information.
You should perform the following list of preparatory tasks before merging two NDS trees:
Some of the more important issues in the preceding list are discussed next.
For NDS to work correctly, each tree should contain only one Reference Time Server or one Single Reference Time Server. If the source and target trees each have a Single Reference Time Server or a Reference Time Server, then after the merge, the consolidate tree will have too many Single Reference or Reference Time Servers. To avoid this, you must change the time server types so that you have a maximum of one Single Reference or one Reference Time Server in the final tree. This ensures that the consolidated tree contains only one Reference or one Single Reference Time Server.
You can change the time server type using the SET TIME SERVER TYPE command or use SERVMAN.NLM to change this parameter. You also can edit the TIMESYNC.CFG file.
If you make time synchronization changes on a server, bring the server down and restart it. You can force time synchronization by using this console command:
SET TIMESYNC RESTART FLAG = ON
This flag activates the TIMESYNC.NLM, after which the flag value is set to OFF. After the time synchronization has been established, you will see messages similar to the following:
NW4CS: SET TIMESYNC RESTART FLAG = ON TIMESYNC Restart Flag action was SUCCESSFUL. 12-24-94: 5:12:33 pm: TIMESYNC-4.10-138 Time Synchronization has been established. NW4CS:
Wait until all the servers report that time synchronization has been established. On a large network, this can take an hour or longer.
The source and target trees should have different tree names. The tree name of the target tree becomes the name of the consolidated tree. If the source and target trees have the same name, change one of the tree names. You should change the tree name of the source tree because the source tree is the tree that disappears with the merge.
You use DSMERGE to change the name of a tree. To find out the NetWare server on which you must run DSMERGE, use the Partition Manager to find the server that has a replica of the [Root] partition. The following is an outline of the procedure to change the name of a tree.
The steps that follow assume that you are using the Partition Manager.
Figure 5.2 Replicas of [Root] partition.
Figure 5.3 DSMERGE's Available Options menu.
Figure 5.4 The DSEMERGE Rename Tree Information dialog box.
Figure 5.5 The DSMERGE Warning message about consequences of changing the tree name.
Figure 5.3 shows the DSMERGE options. You can use these options to perform a number of useful checks and operations.
The "Check servers in this tree" option is used to verify that each server in this tree has the correct name. This option requires that the server on which you are running DSMERGE has a replica of the Root partition; this replica need not be a master replica. If you select this option, DSMERGE verifies the status of servers in the tree and reports a list of the servers and their status. Figure 5.6 shows a sample screen report for a tree that has only one server.
Figure 5.6 Status of servers in the tree.
The "Check time synchronization" option is used to check each server in the tree for proper time synchronization. This option requires that the server on which you are running DSMERGE has a replica of the Root partition; this replica need not be a master replica. If you select this option, DSMERGE verifies the status of time synchronization and time sources on all servers in the tree. Figure 5.7 shows a sample screen report for a tree that has only one server.
Figure 5.7 Time synchroni-zation status of servers in the tree.
The "Rename trees" option was discussed in the previous section. The "Merge two trees" option is used for merging the NDS tree and is described in the next section.
You must load DSMERGE on a server that contains the master replica. You can use Partition Manager to find the name of this server. If you do not know the server where the master replica is stored, you are prompted for the correct server name when you attempt an operation that requires the master replica.
When merging many trees, the operation is faster if you designate as the source tree a tree with fewer objects. Each tree that is added to the target tree has its own NDS partition. You might want to use Partition Manager if you want to combine separate partitions into a single NDS partition.
After the merge, the source tree name no longer exists. You must, therefore, update the PREFERRED TREE statement in the NET.CFG file on NetWare workstations. If you want to minimize the number of NET.CFG files to update, designate the tree with the most clients as the target tree. This is because the final tree retains the name of the target tree. You can also rename the tree after the merge operation so that the consolidated tree name is the name referenced in a majority of the NetWare workstations' NET.CFG files.
To perform the NDS tree merge operations, you must have Supervisor object rights to the [Root] of the source and target trees, and the servers in the tree should be synchronized to the same time source. The following is an outline of the tree merge operation.
Figure 5.8 The DSMERGE Merge Trees Information dialog box.
When the trees are consolidated, you must do the following:
In this chapter you learned how to merge two NDS trees using DSMERGE, and how to set up your network for the new, consolidated tree.
© Copyright, Macmillan Computer Publishing. All rights reserved.