Novell Home

eDirectory Database and Troubleshooting Files

Novell Cool Solutions: Feature

Digg This - Slashdot This

Posted: 29 Aug 2002
 

eDirectory 8.5.x, 8.6.x

eDirectory sports a collection of files that can be used to troubleshoot or to just to better understand how the directory service stores and manages your data. Here's some comprehensive information on these files from TID-10073559 written to help you better understand these files and what they do. For updates to what's listed below, be sure to check the TID.

The Files

Here's a list of these files and a little about what they do. To dig into the details, click on the hyperlinked reference to jump into the detailed description.

The Details

Sys:\_NetWare\NDS.01 - eDirectory Database File
The NDS.01 database file is the main eDirectory database file. It contains almost all data relating to eDirectory objects and their attributes. The NDS.01 database contains several types of records and also any eDirectory indexes defined on the server. Records found within this database fall into the following basic types:

  • Entry records
  • Partition records
  • Attribute records
  • Schema records

The NDS.01 file can grow to a maximum size of almost 4GB for DS version 8.6 and 8.7. When the maximum size is reached, additional database files (starting with NDS.02) are created. The entire eDirectory database can grow into several terabytes worth of data.

NOTE: Versions of eDirectory prior to 8.6 use a maximum size of 2 GB for the NDS.01 file. When the 2 GB size limit is reached, a new NDS.02 file is created. If more than one NDS.xx file exists prior to upgrading to eDirectory 8.6, the 2-GB limit will be imposed on all subsequent NDS.xx files. If only one NDS.01 file exists prior to the upgrade, it will be allowed to grow to the full, almost 4 GB, size.

SYS:\_NETWARE\NDS.RFL\xxxxxxx.LOG - Roll Forward Logs
To protect against loss of data from a catastrophic failure such as a server crash, eDirectory incorporates a Roll Forward log to track all changes made to the eDirectory database. The Roll Forward log naming convention starts at 00000001.LOG and, as needed, increments to FFFFFFFF.LOG. If necessary, eDirectory can recommit lost data to the database by examining the xxxxxxx.LOG files when the server is restarted.

As records are modified in the eDirectory database, but before those records are committed to the disk, a copy of the changes is entered into the Roll Forward log file. These entries are completed transactions that had not been written to disk. Upon server failure, the records committed to the disk may be lost, but the changes will be maintained in the Roll Forward Log. This process is handled by the check point thread on the server and this file should decrease in time as transactions are written to disk.

The Roll Forward logs are typically stored in the SYS:\_NETWARE\NDS.RFL directory. With eDirectory 8.7 it should be possible to store this file in a different location. To ensure database integrity, it could be recommended to place the Roll Forward logs on a disk other than the one holding the eDirectory database. This will be accomplished by using the backup and restore utility. It is possible to delete this file but it is NOT recommended. There is the possibility of corrupting the DS database.

Sys:\_NetWare\NDS.DB - Roll Back Log
Changes to the eDirectory database can include large operations which require many packets worth of information to be sent to the server. eDirectory commits each packet to the database as it is being received -- even though the entire transaction may not yet be complete. To safeguard against communication failure, eDirectory writes these transactions to a Roll Back log. If an incomplete operation is encountered, eDirectory can use this Roll Back log to undo incomplete transactions. With eDirectory 8.7 it should be possible to store this file in a different location other than \_Netware. To ensure database integrity, it could be recommended to place the Roll Forward logs on a disk other than the one holding the eDirectory database. This will be accomplished by using the backup and restore utility.

Sys:\_NetWare\NDS.LCK - Lock File
While performing database maintenance with DSRepair, you must sometimes close or lock the eDirectory database for modifications. The NDS.LCK file is used to designate this locked condition. For eDirectory 8.5 and 8.6 this file will show as a 0 byte file. When the database is locked attributes are changed on this file to signify that condition. It will still show as a 0 byte file. You will notice that the time stamp of the file is updated whenever the database is locked or unlocked.

SYS:\_NETWARE\_NDSDB.INI - Database Configuration File
Tunable parameters such as database cache size can be statically assigned as a hard limit or dynamically configured by eDirectory. If the cache size is statically assigned, the _NDSDB.INI file will be created in the SYS:\_NETWARE directory. This is accomplished by using a SET DSTRACE parameter.

SET DSTRACE=!MB

For example, to set a hard limit of 8 MB you would type the following command at the NetWare console:

SET DSTRACE=!MB8388608 

This command will set a persistent setting in a file called _NDSDB.INI file found in the SYS:\_NETWARE directory on a NetWare server. The following represents the cache parameter that would be set in the _NDSDB.INI file when using the SET command above for 8MB:

cache=8388608

Temporary Files / Repair Local Database
When running DSRepair and repairing the local database, one option is to use a temporary NDS database during the repair. This allows the repair operation to be done on copy of the database and not the live database. The following files are created during this time.

When the repair is completed and the database is unlocked these files are removed. Information on troubleshooting issues related to these files can be found in TID-10060740.

DSRepair Database Backup File
DSRepair can be used to create a DIB set backup of the eDirectory database including all streams files. This should not be used to take the place of tape backup as a regular NDS backup method. This can be achieved by loading DSREPAIR ?RC at the server prompt or by loading DSREPAIR with no parameter and selecting Advanced Options / NDS Archive Options / Create NDS Archive.

By default the eDirectory backup will be placed in SYS:SYSTEM\DSR_DIB\ and file will be called 00000000.$DU. The backup will create a new file for every 100MB of data in the NDS by incrementing the filename e.g. 00000001.$DU. By using the Create NDS Archive method it is possible to specify a different location for this file.

Prepare DS for Hardware Upgrade Files
There are two ways to save the eDirectory database when preparing a server for a hardware upgrade. The first is using DSMAINT and selecting Prepare NDS for Hardware Upgrade. This creates a file SYS:SYSTEM\BACKUP.DS. The second way is by using NWCONFIG and selecting Directory Options / Directory Backup and Restore Options / Save Local NDS Information. This create a file SYS:SYSTEM\BACKUP.NDS. Using these options will lock and disable the NDS database on this server. Other servers that communicate with this server will believe it is down. For detailed DSMAINT procedures review TID 10010933.

DSRepair Log File
It is possible to log much of the activity done using DSRepair to a log file. This would include time sync checks and replica synchronization operations. From the main DSRepair menu select Advanced Options and then Log file and login information. The default location of this file is SYS:\SYSTEM\DSREPAIR.LOG. There are options to reset the log file and change the location of the file.

Set DSTrace Log file
The DSTrace utility allows any activity being sent to the DSTrace output screen to also be sent to a file. The file is SYS:\SYSTEM\DSTRACE.DBG. To activate DSTrace logging perform the following steps. This requires DS.NLM to be loaded on the server.

SET DSTRACE=ON
SET DSTRACE=+S (OR ANY OTHER PARAMETERS)
SET TTF=ON (THIS ENABLES THE LOGGING)
SET DSTRACE=*R (THIS WILL RESET THE DSTRACE LOG FILE)
SET TTF=OFF (TURNS OFF LOGGING)

DSTRACE.NLM Log File
Loading DSTRACE.NLM allows the gathering of many DS events and process messages without the need for DS.NLM to be loaded. The information gathered can be sent to screen, file, or both. The file is SYS:\SYSTEM\DSTRACE.LOG. A sample usage can be the following.

LOAD DSTRACE FILE ON  (loads the utility and activates logging to file)
LOAD DSTRACE +ALL  (sets all possible tag and process monitoring to on)

The logging to this file is cumulative. Load DSTRACE on a server then enter HELP DSTRACE to see how to direct the output and limit the file size. After loading DSTRACE, load DSTRACE again to see what tags and processes are being logged. It is possible to use DSTRACE.NLM to track the activity of DS from the point it loads. To do this, edit the file SYS:\SYSTEM\NASAUTO.NCF. This file should not exist on the server. It is referenced at the end of load stage 3 right before DS loads. Most servers do not use it and it is not removed from the load stages. It can be used for purposes such as this to load modules during the load stage process. Create this file with these lines:

DSTRACE FILE ON
DSTRACE +ALL

When the server is rebooted all DS activity from the point of loading will be logged to file.

For more information on the database and troubleshooting files used by eDirectory, see TID-10073559.


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell