Use DSMAINT with the -PSE Switch to avoid losing home directory properties and bindery print queues. Be sure to completely read the following procedure FIRST:
NOTE: The DSMAINT -PSE switch only works on a NetWare 4.11 server. It will not work on NetWare 5.x or higher. Currently there is no DSMAINT.NLM for NetWare 5, thus there is no way to use DSMAINT -PSE in a pure NetWare 5 environment. However, there is a new product available called XBROWSE that might work on NetWare 5.x servers, however XBROWSE is not always reliable. See TID #10055940 - DSMAINT -PSE does not work on NetWare 5.x Servers for more information on XBROWSE.
If working in a mixed environment with NetWare 5.x and NetWare 4.11, DSMAINT -PSE may be performed on one of the 4.x servers to successfully restore references to a NetWare 5 server using NWCONFIG, Directory options, Directory backup and restore options, Restore references from another object to this server.
Always use the latest versions of the recommended updates if available.
If the server is a Primary, Single, or Reference time source, it may be desirable to remove it from the time configuration functionality before removing it from the tree (i.e., if it is a Primary time source and other Secondary time servers are point to it for their time source, change the time source on the Secondary time server to point to a different Primary time source temporarily).
1) With NWAdmin/ConsoleOne create a user object called DUMMY_ServerName in the container of the broken server. It is recommended to make it a computer or user Object Type. Note: it is possible to point references at your user object temporarily. DO NOT, however, point the server at another server object.
Example from NWADMIN:
a.) Load NWAdmin, find the appropriate context in which the broken server object can be found.
b.) Highlight the container, then select Object->Create.
c.) For New Object, select Computer as the Class of new object and click OK.
d.) In the Create Computer dialog, enter the placeholder object in he "Computer_name" field. For example: DUMMY_ServerName.
In this example, we are assuming the container is the organization NOVELL. This distinguished name would be DUMMY_ServerName.NOVELL.
2) On a NetWare 4.11 server, LOAD DSMAINT -PSE and select 'Replace server references'. This server just needs to be in the tree. It does not have to hold a replica of the server object.
3) Login as an Administrator using a distinguished name to the objects location, ie, admin.novell. Enter the password and press enter.
4) You will be prompted with the following warning:
"WARNING: This option replaces references to the selected server's object in Home Directory, Host Server and Host Device Properties. Applications which use those properties to determine the physical location of the server will not work correctly until the server object is correctly referenced. If you confirm "yes" in the following box, the operation will continue.
(Press ENTER to continue.)"
5) Press enter and then select "YES" to the "Continue with Replacing?" dialog box. (Nothing will actually happen yet.)
6) In the "Search and Replace Server Object" dialog box, you are presented with the fields:
Begin search at: Enter server being replaced: Replacement object:
7) Enter the following information into these fields: "Begin search at:" Enter the context from which you will start searching the tree. We recommend beginning search at [Root] (typed exactly as specified.) You can start at another location in the tree. Here is the significance and the impact of where you start:
This field determines the information that will be searched in the tree. In a large tree, it may take a while to perform the search. However, if you start too low in the tree, any objects referenced by this server above that contextual location will go unknown when this DSMAINT process is completed. Hence, unless time is a more critical issue than recovery of all objects, start at [Root].
"Enter server being replaced:" Change the server name prompted for to the Full distinguished name of the broken server, ie, toasted_server.ou2.ou1.mainorg.
"Replacement object: Enter the Full distinguished name and context of the object you created in step 1 above, such as: 'DUMMY_ServerName.novell'.
8) You have performed the previous steps to preserve information about the NDS server object (also referred to as an NCP Server object). The reinstallation of this broken server will have to replace this object, hence it is best if we remove it first. If the broken server was a master replica of any partitions, it will be necessary to designate another server as the master. (Step 9)
9) On the server you have performed the DSMAINT -PSE, LOAD DSREPAIR, Advanced Menu, Replica And Partition Operations. This will display the "Replicas stored on this Server" window.
10) Select each partition for which this server is NOT the master and press enter.
11) This will display the Replica Options, Partition: (selected partition) menu. Select the "View replica ring" menu option and press enter. This will list the servers in the ring. Look for the broken server. If it is the master, you will need to designate this server as the master. To do this, press ESCape and select the "Designate this server as the new master replica." DO NOT DESIGNATE A SUBORDINATE REFERENCE TYPE REPLICA AS THE NEW MASTER.
12) Complete steps 10 and 11 for each partition listed in Replicas Stored on this server". It is critical that each partition has a master!
13)Remove the broken server from the tree. Use PARTMGR or NDS Manager to find the server. Highlight it and press Delete. This will effectively remove all occurrences from the replica rings as well, but you might, in some cases, still be needed to clean the rings manually. At this point check Nwadmin to make sure the server object has been removed. If it still shows up in nwadmin delete it now. (DO NOT DELETE THE VOLUME OBJECTS).
14) If needed, remove DS from the broken server. To verify whether or not DS is still on the server, load NWCONFIG (NW5.x) or INSTALL (NW4.x) | Directory Options | Install DS. It will tell you at that time if DS is already on the server. Use the Remove option on this screen to remove DS. If you encounter problems, LOAD INSTALL with the -DSREMOVE parameter. You will still receive errors indicating problems with the process, however, it will complete the removal of Directory Services despite these messages. For further information on this, see TID #10013746, Forcing NDS off a server
15) Reboot the broken server.
16) Install the server into the tree again. (load NWCONFIG [NW5.x] or INSTALL [NW4.x] | Directory Options | Install DS) Be careful _NOT_ to delete the volume objects, when install asks you. Note: File / Trustee restore should take place on step 25.
NOTE FOR STEP 16: If the server is being installed into the tree to a container that currently does not have three real copies (one Master replica and two Read/Write replicas), during this step the system will place a Read/Write replica on the server. This will increase the amount of time for Step 16.
17) LOAD DSMAINT (without the -PSE switch) or NWCONFIG (for NetWare 5) on the freshly installed server and select Directory Options | Directory Backup and Restore Options | 'Restore server references' or 'Restore references from another object to this server'. It will be necessary to login to the tree again.
18) You will be prompted with the message:
"WARNING: This option searches the DS tree at the specified container looking for the temporary placeholder object which replaced the references to the selected server's object in that Host Server, Host Device, and Messaging Server properties. The temporary object will be removed from these properties and the server's object will be added as the value.
(Press ENTER to continue.)"
19) Press enter and again select "YES" to "Continue with the replacing?".
20) The three fields are slightly different this time:
Begin search at:
Enter server name:
Here is how you should fill out these fields:
"Begin search at: "As before, we recommend [Root] so the entire tree is searched for object information that needs to be updated.
"Enter server name:" This field should already be filled out with the newly reinstalled server since you ran DSMAINT from that server. Leave
this field as is.
"Temporary object:" This is the same placeholder object previously specified. In this example: DUMMY_server.novell.
21) When all the fields are filled in, press enter to continue.
NOTE: These next few steps are optional, but recommended. If they do not function properly, do not be alarmed. The server references have already been properly restored.
22) As the object IDs have changed, eventual trustee-ids stored on the data volumes are most likely wrong. In order to clean them you need to do the following operation: **NOTE: The -K6 (-XK6) switch will remove all trustees. In some cases you may not wish to do this.
LOAD DSREPAIR -K6 (-XK6 in the newer versions) on this server and select 'Check Volume Object and Trustees' in the advanced menu.
WARNING NOTE: You will be given a choice to do this operation for the SYS Volume. DO NOT. (Choose NO for the SYS volume and Yes for all others) there is possible danger of Admin loosing rights to the Root of the Volume if Yes is Chosen.)
Confirm the deletion of the trustees for all (old) volumes except SYS. This is needed so you don't retain old - unwanted trustee assignments.
23) LOAD DSREPAIR again, no switches, select advanced options and run the "Check volume objects and trustees". This will perform the same step as "Upgrade mounted volumes into the Directory." In essence, cleans up trustee information and properly relinks it.
24) As a final check, you may wish to also run "Check external references" and run a "Repair local Database" as well. If you encounter any problems you are unsure how to handle, contact
Novell for support.
25) Once the server's DS is clean, you are ready to use your backup program to restore the file/dir information from tape, not overwriting new files. Beware that the ownership of the files is deleted by step 22 if completed. You may need to restore trustee assignments (file rights) from tape backup.
At this point the server should be back in the tree with appropriate rights..