DSRepair in eDirectory Troubleshooting

DSRepair in eDirectory Troubleshooting

This article discusses some of the main features of DSRepair and when to use it.

Introduction

In general, we can say this about DSRepair: in the "old times" of NetWare 4.x, it was suggested to run DSRepair on a weekly basis. These days, with eDirectory you only need to run it when you experience problems or you are doing a Health Check to prepare for partition operations.

Many of the monitoring features of DSRepair have been moved to iMonitor. The iMonitor tool is much more efficient than DSRepair, as you can switch between the servers more quickly and easily. Also, iMonitor provides you with a lot of information. There are some helpful TIDs and AppNotes about iMonitor - for example, see Jim Henderson's Cool Solutions article at:http://www.novell.com/coolsolutions/feature/15336.html

DSRepair Switches

In general, I prefer loading DSRepair with the -A switch, so I don't have to exit every time I'm looking for an extra feature.

The following DSRepair switches are good to know about:

-A ... Advanced option, turns on some extra features

-XK2 ... Removes all the replicas from the local database. You have to manually remove the server from the replica ring after you use this switch.

-XK3 ... Removes the backlink status of each external reference. You need to run the Backlinker (set dstrace = *b) to recreate the necessary backlinks.

-RD ... Runs a repair of the local database with the default options

-RC [parameter]... Creates an NDS Archive file to the file specified in parameter. If no file specified, the default file is created at sys:system/dsr_dib/

-U ... Unattended Full Repair

-ANT ... If you run a Repair Local Database with this option, it will check the Transitive and Purge vectors and fix them if it finds any errors.

DSRepair General Features

This section describes the main features of DSRepair and gives some suggestions on how to use them.

Unattended Full Repair

Where: DSRepair Main screen

Shortcut: DSRepair -U

Extra startup switch necessary to reach this option: Not necessary

Purpose: Runs a default repair local database and checks the server connectivities and trustee assignments on traditional volumes. The preferred way to check the database is to use Repair Local Database, as that will check for a specified problem and not 'in general'. Also, in big trees, checking the server connectivities can take a really long time when you simply want to check the local database.

Time Synchronization

Where: DSRepair Main screen

Shortcut: None

Extra startup switch necessary to reach this option: None

Purpose: Checks the time synchronization across the servers. It also reports the DS versions on the servers and the replica depth of the partitions stored on the servers:

-1 means the server contains no replica

0 means the server holds a replica of [ROOT]

1,2,3, etc. means the distance of the partition stored on the server from [ROOT]

Report Synchronization Status

Where: DSRepair Main screen

Shortcut: None

Extra startup switch necessary to reach this option: None

Purpose: Checks the synchronization of the partitions stored on the server

Repair Local Database

Where: DSRepair, Advanced options

Shortcut: DSREPAIR -RD

Extra startup switches necessary to reach this option:

DSREPAIR -ANT to check Transitive Vectors

DSREPAIR -XK2 to remove all replicas

DSREPAIR -XK3 to remove external references

Purpose: Checks the consistency of the database and, depending on the parameters, runs with extra functionality. In normal cases, the default settings are fine with "Lock NDS database during entire repair" set to Yes. Don't use "Rebuild operational schema" unless you are instructed to do so, and you are absolutely sure you are on the latest DS version.

Purpose: Fixes future timestamps in the partition. DSRepair achieves this by

Changing all replicas other than the Master to "New" state

Increasing the Epoch counter

Modifying the future timestamp to the current one

Re-sending all the information to the replicas

As all the replicas are synchronized again, you must double-check the communication between the servers. You should do this after hours - during the NEW state of replicas, users are not able to access the replica.

Purpose: If you lose the Master replica for a server using this switch, you can change another Read-Write or Read-Only replica to a Master. If the original Master is available and you use this switch, it will change the original Master to Read-Write - assuming the communication between servers is fine.

Important: Don't change a Subordinate to Master unless instructed; this will lead to a totally empty partition where all objects are lost!

Purpose: Destroys the selected replica on the partition. If the parent of the partition is available on the server, DSREPAIR will create a Subordinate in the ON state. This can lead to an inconsistent replica ring; therefore, you should use this switch only if you are instructed to do so.

Check External References

Where: DSREPAIR, Advanced options

Shortcut: None

Extra startup switch necessary to reach this option: DSREPAIR -A enables you to check for obituaries

Purpose: Normally you would use this option to check if obituaries exist on the server. Load DSREPAIR -A switch to see them.

NDS Archive Options

Where: DSREPAIR, Advanced options

Shortcut: DSREPAIR -RC parameter

Extra startup switch necessary to reach this option: None

Purpose: Create an NDS backup file. This file can only be restored by Novell Technical Services (NTS) using an internal tool. Creating a backup this way is useful when doing partition operations. If you get stuck, NTS can restore the backup for you.