Troubleshooting Tips for NetWare Directory Services
Articles and Tips: article
01 Aug 1995
This document outlines general strategies for troubleshooting problems with NetWare Directory Services™ (NDS™). Its purpose is to help system administrators gather pertinent information and isolate the problem before placing a service call with Novell Technical Support. By following these guidelines, system administrators can assist Technical Support in resolving the issue quickly - and perhaps even avoid a service call altogether.
This document is adapted from an online document entitled "NetWare Directory Services Troubleshooting Tips" included in the TNDSx.EXE file (where x is the revision number). The file is available in Novlib 14 from NetWire on CompuServe, from Novell's ftp server on the Internet, and from the World Wide Web.
- Introduction
- Preventing Problems
- Identifying the Problem
- LAN Communication Problems
- The Partition Troubleshooting Chart
Introduction
NetWare Directory Services (NDS) is a distributed database, and as such is loosely consistent. This means that after an NDS object has been modified, the data will temporarily be different on individual replicas until all replicas with that object are synchronized. Errors that come and go without requiring any intervention are normal and represent no cause for alarm. However, when an NDS error occurs consistently for more than an hour, something is generally wrong and Novell recommends further investigation.
Preventing Problems
Stay current with the latest reVisions and patches. The current NetWare 4/NDS files can be found on the NSEPro CD-ROM, the NetWire section on CompuServe, and on Novell's World Wide Web server on the Internet. The NetWare 4 forum on NetWire is NOVLIB 14.
Read the release notes and readme files whenever installing or upgrading your software. Documents discussing current issues can be found in the locations listed above and on Novell's FaxBack service. To obtain FaxBack documents, call 1-800-NetWare (or 801-429-5350), press 2, press 2 again, and then follow the instructions.
Avoid experimenting on production trees. Many options available in DSREPAIR are for advanced troubleshooting purposes and should be used only in specific situations. Partition Manager should be used for all partition operations (deleting a replica from a server, changing a read/write replica to a master, and so on).
If a warning notice is displayed prior to an operation in NWAdmin, Partition Manager, or DSREPAIR, be assured it is there for a good reason! If one of these utilities returns an error during an operation, resolve the error instead of forcing the operation through DSREPAIR.
When in doubt, place a service call to your authorized Novell support provider and take no further action until advised to do so by a technical support engineer.
Identifying the Problem
Generally, problems with NDS affect one or two partitions, but not the entire tree. The first step in identifying the problem is to determine which partition is experiencing trouble. The second step is to check the status of all servers which hold replicas of that partition.
If multiple partitions are experiencing problems, take a top-down approach. Start at the top of the tree and resolve the errors for the root-most partition. Then move down to the next partition.
Checking NDS Synchronization Status
DSRepair and DSTrace are the best tools for identifying NDS error conditions. Here are some tips for using these tools to check NDS synchronization.
NetWare 4.1 Environment. In a tree containing only NetWare 4.1 servers, load DSRepair on a server holding a replica of the problem partition. From the "Available Options" menu, select Replica Synchronization. This action will synchronize all replicas held on this server with all other replicas of the same partitions stored on other servers.
The information shown on the screen in DSRepair after a Replica Synchronization is recorded in a file named DSREPAIR.LOG in the SYS:SYSTEM directory. It shows the partition being synchronized, the server on which the synchronization was done, and the status of the synchronization according to that server. The status column is especially helpful, as it provides error codes if the synchronization was unsuccessful.
To view the log file, go to the main menu in DSRepair. Choose Advanced Options, then Log file and login configuration. (You can also view the file through any text editor and, if necessary, send the file to Novell Technical Support).
An example log file is shown below:
/****************************************************************************/ Netware 4.1 Directory Services Repair 4.25 , DS 4.77 Log file for server "Saturn.novell" in tree "Galaxy" Start: Thursday, May 4, 1995 10:32:00 pm Local Time Synchronizing Replica: [Root] Performed on server: Mars.Novell Servers that contain a replica Replica Type Status -----------------------------------------+-----------------+---------------- Mars.Novell Subordinate Host Saturn.Novell Master OK Earth.Servers.Novell Read Write OK Mercury.Novell Read Write -625
In this example, the [Root] partition is being synchronized; the replica being read is the one stored on server Mars.Novell. According to the Mars server, synchronization was successful with both Saturn and Earth, but failed with a -625 error on the Mercury server.
Mixed NetWare 4.0x-4.1 Environment. In mixed environments consisting of NetWare 4.0x and 4.1 servers in the same tree, it may be necessary to use DSTrace to identify NDS problems. DSTrace is a debugging screen on the server console. To enable the screen, type SET DSTRACE=ON. To force an immediate synchronization, type SET DSTRACE=*H. Next, toggle to the Directory Services screen. The synchronization of the replicas stored on that server will be shown on the screen.
An example is shown below (line numbers have been added for ease of reference):
00 2FA9A1A3:152:FB018000 (95/05/04 21:55:15) 02 SYNC: Start outbound sync with (2) [6B00023C]<Mars.Novell> 03 SYNC: sending updates to server <CN=Mars> 04 2FA9A1A3:355:FB018000 SYNC: update to server <CN=Mars< successfully completed 05 2FA9A1A3:370:FB018000 SYNC: Start outbound sync with (3) [010001A3] <Earth.Servers.Novell> 06 SYNC: sending updates to server <CN=Earth> 07 2FA9A1A4:529:FB018000 SYNC: update to server <CN=Earth< successfully completed 08 2FA9A1A4:542:FB018000 SYNC: Start outbound sync with (1) [01000134]<Mercury.novell> 09 2FA9A1A4:549:FB018000 (21:55:16) SYNC: failed to communicate with server <CN'Mercury> 10 ERROR:-625
Line 01 shows the partition being synchronized ([Root]), the state of the replica (0, which means "on"), and the replica type:
0=Master
1=Read/Write
2=Read Only
3=Subordinate Reference
Lines 02 through 04 show that the first outbound synch for the partition to server Mars was successful. Lines 06 and 07 show the outbound synch to server Earth completing successfully.
Line 08 shows the start of an outbound synch to server Mercury. Lines 09 and 10 show that synch failing with a -625 error. The end result on line 11 is that the partition was unable to complete synchronization with all replicas.
The goal here is to see "All processed'YES" for every partition.
Note: It is normal to see -683 (INVALID_API_VERSION) errors during replicasynchronization in a mixed NetWare 4.0x and 4.1 tree. |
To log the DSTrace information to a file, do the following at the console prompt:
Type SET DSTRACE=ON(this turns on the Directory Services screen).
Type SET TTF=ON(this turns on the Trace To File option).
Type SET DSTRACE=*R(this resets the trace log file to zero bytes).
Type SET DSTRACE=*H(this forces an immediate synchronization).
Toggle to the NetWare Directory Services screen and wait for the synchronization cycle to complete.
Toggle back to the console prompt and type SET TTF=OFF(this turns off the Trace To File and closes the log file).
The DSTrace screen output is sent to a file named DSTRACE.DBG in the SYS:SYSTEM directory. This file can be viewed through a text editor and, if necessary, it can be sent to Novell Technical Support for analysis.
Other Information to Gather
Time Synchronization Status. Time synchronization problems can prevent partition operations from completing successfully.
To check time synchronization for the entire tree in a pure NetWare 4.1 environment, load DSREPAIR on a 4.1 server holding a replica of the [Root] partition. Choose Time Synchronization from the main menu. Time synchronization information will be sent to a file named DSREPAIR.LOG in the SYS:SYSTEM directory. The log file lists (among other things) the server name, the type of time sync server it is, and whether or not the time is in sync.
A sample log file is shown below:
/****************************************************************************/ Netware 4.1 Directory Services Repair 4.25 , DS 4.77 Log file for server "Saturn.Novell" in tree "Galaxy" Time synchronization and server status information Start: Friday, May 5, 1995 9:51:40 am Local Time DS.NLM Replica Time Time is Time Server name Version Depth Source in sync +/- ---------------------------+---------+---------+-----------+--------+------- Mars.Novell 4.77 0 Secondary No + 1 Saturn.Novell 4.77 0 Secondary Yes 0 Earth.Servers.Novell 4.77 0 Secondary Yes 0 Mercury.Novell 3.10 0 Single Yes 0 *** END ***
In a NetWare 4.0x tree, the time synchronization status can be found by typing the TIME command at the server console for each server. Time synchronization should be active and time should be synchronized to the network.
NDS Version. To verify the version of NetWare Directory Services running on your NetWare 4 servers, type MODULES at each server's console. Look for DS.NLM in the listing, and note the number found in parentheses on the line immediately after the module name. For example, "NetWare Directory Services (310)" means that the version of DS.NLM on this server is 310.
Server Status. The status for each server in a replica list should be UP. NDS was designed to be able to function normally when a server in the tree is down for short periods. However, if a server is not going to be available for synchronization for an extended period (a few days or longer, depending on how busy the tree is), the unavailable server should be removed from the tree. Do this by loading INSTALL on that server and choosing the option to remove Directory Services from the server.
LAN Communication Problems
If the network is having communication problems, Directory Services may have trouble synchronizing because all servers cannot be contacted. Checking the status of servers in the tree can pinpoint possible LAN issues which can adversely affect NDS.
NetWare 4.1 Environment. To check the status of servers in a NetWare 4.1 environment, load DSREPAIR on one server, choose Advanced Options, then select "Servers Known to this Database". All the servers found in that particular server's database will be displayed, along with their status and ID number (according to the server you are viewing this information on).
Any information gathered this way is from the perspective of the server on which you run DSREPAIR. To get a complete picture of the state of a partition, you should run this option on most, preferably all, of the servers in the partition's replica list. Then compare the output.
NetWare 4.0x Environment. To check the status of servers in a NetWare 4.0x environment, you need an enhanced version of the 4.0x DSREPAIR utility. This DSREPAIR can be found in the 4X241.EXE file on NetWire in NOVLIB 14.
Load this DSREPAIR on a NetWare 4.0x server as follows:
LOAD DSREPAIR -UR
This command loads DSREPAIR in unattended mode, and sends the replica ring information to the DSREPAIR.LOG file in SYS:SYSTEM. You can then view or print this text file and, if necessary, send it to Novell Technical Support. Running this option will not lock the database, so users should not be affected.
The replica ring information will be according to the server on which you ran DSREPAIR. To get a good idea of the state of a partition, you should run this DSREPAIR option on several, preferably all, of the servers in the partition's replica list. Then compare the output.
The Partition Troubleshooting Chart
Any NetWare 4 server showing as DOWN or UNKNOWN is a problem and should be noted on the Partition Troubleshooting Chart. This chart is a tool to help you organize your trouble-shooting efforts. It will help you outline a partition's replica list, answer relevant NDS questions, and spot problem areas. A sample copy of this chart is included at the end of this document.
Note: The chart is also available as part of the Partition TroubleshootingGuide document (PARTGUID.xxx) on NetWire. |
Here is a sample Partition Troubleshooting Chart filled out with the information gathered in the examples listed above:
Partition Troubleshooting Chart
|
||||||
Server Name |
||||||
Partition:[Root] |
Mars |
Earth |
Saturn |
Mercury |
|
|
Time in Sync? |
No |
Yes |
Yes |
Yes |
||
Server Status |
Up |
Up |
Up |
Down |
||
Replica Type |
Sub |
RW |
M |
RW |
||
Replica State |
On |
On |
On |
On |
||
BLOCKQUOTE>Version of DS |
4.77 |
4.77 |
4.77 |
3.10 |
||
DSTrace Errors |
-- |
-- |
-- |
-625 fromall servers |
With the information you have gathered as instructed in this document, you can fill out the Partition Troubleshooting Chart to summarize NDS status and identify partition errors.
With this information, you'll be better equipped to solve NDS problems yourself or, if necessary, help Novell Technical Support resolve the problems quickly.
Partition Troubleshooting Chart
|
||||||||
Server Name |
||||||||
Partition: |
|
|
|
|
|
|
|
|
Time in Sync? |
||||||||
Server Status |
||||||||
Replica Type |
||||||||
Replica State |
||||||||
Version of DS |
||||||||
DSTraceErrors |
PartitionTroubleshooting Chart
|
||||||||
Server Name |
||||||||
Partition: |
|
|
|
|
|
|
|
|
Time in Sync? |
||||||||
Server Status |
||||||||
Replica Type |
||||||||
Replica State |
||||||||
Version of DS |
||||||||
DSTraceErrors |
PartitionTroubleshooting Chart
|
||||||||
Server Name |
||||||||
Partition: |
|
|
|
|
|
|
|
|
Time in Sync? |
||||||||
Server Status |
||||||||
Replica Type |
||||||||
Replica State |
||||||||
Version of DS |
||||||||
DSTraceErrors |
* Originally published in Novell AppNotes
Disclaimer
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.