MakeSSI

Version PK-4.60
(Nov 22, 1998)


 DISCLAIMER:
     THIS  PRODUCT  IS  SUPPLIED  "AS  IS".  DREAMLAN 
     DISCLAIMS ALL WARRANTIES,  EXPRESSED OR IMPLIED,
     INCLUDING, WITHOUT  LIMITATION,  THE  WARRANTIES
     OF  MERCHANTABILITY   AND  OF  FITNESS  FOR  ANY
     PURPOSE.  DREAMLAN   ASSUMES  NO  LIABILITY  FOR
     DAMAGES,  DIRECT  OR  CONSEQUENTIAL,  WHICH  MAY
     RESULT FROM THE USE OF THIS PRODUCT.

Introduction

MakeSSI is a NetWare NLM utility that uses SMS API calls to create the "Server Specific Info" (SSI) files. These files are vital in recovering from a NetWare 4.1x/5.0 file server crash or from a SYS volume failure, in a multi-server NDS network.

For detailed information on NDS recovery procedures, we refer you to Novell Application Notes, October 1996 issue: "Backing Up and Restoring Novell Directory Services in NetWare 4.11".

MakeSSI will create seven files -- the five containing critical NetWare server information as provided through the "Server Specific Info" resource of TSA410 or TSA500. The sixth file (unique to MakeSSI) is a detailed directory listing of the server's DOS partition -- very handy if you have installed 3rd party drivers not included on NetWare's CDs. The seventh file (also unique to MakeSSI) contains partition information, which is useful for NetWare 4.10 servers (see the note below).

The updated TSA410 found in SMSUP6 does support the SSI resource on NetWare 4.10 servers. However, a DSMISC.LOG file is not generated. Instead, a DSMAINT.LOG file is generated in the SYS:SYSTEM directory but contains no useful partition information. MakeSSI addresses this shortcoming by creating a PARTINFO.LST file, which contains the missing partition information on NetWare 4.10 servers.

MakeSSI has been tested with NetWare 4.10, NetWare 4.11/IntranetWare and NetWare 5.


What's New


Notes

  1. The MakeSSI NLM is to be run on each server, and the resulting files are stored in a subdirectory under SYS:SYSTEM. The subdirectory name is in DOS 8.3 format and is derived from the name of the server. The choice of the 8.3 name is the standard used by TSA410 and TSA500.

  2. Added optional command-line option so you can specify MakeSSI to use a different volume/directory (other than the default of SYS:SYSTEM\MAKESSI) for its "home directory".

  3. Some house-cleaning tasks are performed by the NLM prior to exiting. They include removing of temp. files created by the NLM in its home directory (MAKE-SSI.DAT and MAKE-SSI.IDX), removing of SERVDATA.NDS from SYS:SYSTEM, purging of these deleted files, and purging of overwritten files in SYS:SYSTEM\servername_directory.

  4. For some unknown reasons, the NLM may sometimes be unable to authenticate to the TSA service on rare occasions and return with an "invalid password" error. To workaround this issue, the NLM will retry up to five times to authenticate, waiting 5 seconds between retries, before giving up. It seems like TSA410 has gone to sleep. On the fifth retry attempt, MakeSSI will also attempt to unload then reload TSA410.

    NOTE In some very rare instances, unloading of TSA410 under this situation would cause a server abend. As a result, as of v2.40 the retry and the unloading of TSA410 is removed. However, the "going to sleep" problem seems to be be addressed by NetWare OS SP4 and higher.

  5. MakeSSI may be launched from any directory. Just make sure you have a search path to it, if not from SYS:SYSTEM or not using a path when loading the NLM.

  6. Ensure SMDR.NLM and TSA410.NLM are loaded before you load MakeSSI NLM. SMDR is auto-loaded by MakeSSI if not already loaded, but on NetWare 5 there could be a timing problem which results in MakeSSI reporting SMDR is not loaded. (This may be due to the debugging mode of Moab Beta 3.) Therefore, its best to manually load SMDR before loading MakeSSI.

    MakeSSI does not auto-load TSA410; TSA410 requires about 5-10 seconds to finish initializing itself in memory, and if auto-loaded by MakeSSI, MakeSSI will report that TSA410 is not loaded (even it was auto-loaded). Rather by putting in a delay loop in MakeSSI to wait for TSA410 to initialize, it is felt that it is best to make loading of TSA410 a prerequite instead. Also, on NetWare 5, the TSA is called TSA500.NLM. Therefore, to keep MakeSSI generic for future versions of NetWare and TSAxxx, it will not auto-load any TSA410/TSA500, etc.

  7. If you unload MAKESSI.NLM while it is running, some memory resources may not be properly released.

  8. The SMSUser object name you use must be the name of a real user object, and not an User Alias.

  9. TSA410 (or whatever names for future verisons) must be v4.14 or higher.

  10. The DOSDRIVE.LST and PARTINFO.LST files are overwritten every time MakeSSI is executed.

  11. The DSMISC.LOG/DSMAINT.LOG files are appended to by the TSA410 every time the SSI resource is backed up. They can grow to be a fair size over time. You should keep an eye on them.

  12. The partition name (including OU= etc) shown in the PARTINFO.LST file is limited to 50 chars long. This should not post a major issue.
  13. The next major version update of MakeSSI will show replica ring information for each replica found on the server. (Done in v2.00)
  14. On NetWare 4.10 servers, some backup software (such as Backup Exec) will report a "SMS 165" error. This is due to NetWare 4.10 servers do not have a DSMISC.LOG file. You can simply create a dummy text file called DSMISC.LOG in the SYS:SYSTEM directory and the "SMS 165" error will go away. MakeSSI does not suffer from this problem.
  15. If you see a "Cleanup not done" message but no obvious message on the status screen, check your PARTINFO.LST file. There may be warning or error messages regarding the replica ring.


Installation

No special installation steps or program need to be used. Simply copy MAKESSI.NLM to SYS:SYSTEM. Create a subdirectory in SYS:SYSTEM called MAKESSI and then copy the MAKESSI.INI (containing license information and execution options for MakeSSI) to this directory. The log file (MAKESSI.LOG) is created in this directory; the log file will be appended to if exist.

Alternatively, you can use any volume/directory as the "home directory" for MakeSSI, but you need to specify the new location on the command-line when loading the NLM.

Without the appropriate license key in the INI file, the NLM will run in an evaluation mode.


Usage

There is no mandatory command-line option for MakeSSI. Any command-line options described below are optional:

LOAD [path]MAKESSI [-h volume:directory\directory]

where -h specifies the desired volume and directory path for the home directory for MakeSSI.

Ensure that SMDR and the appropriate version of TSA (e.g. TSA410 or TSA500) is loaded before loading MakeSSI .


Configuration

You will need to edit the MAKESSI.INI file and enter a "SMSUser" name and a password (LoginPassword). The password needs to be first encrypted using the ENCRYPT.EXE utility provided with MakeSSI. This SMSUser must have Supervisor file system rights to the SYS volume. All the command options are fully documented within the INI file, and a copy of the shipped INI file is show below:

     # MakeSSI.INI
     # -----------
     # Configuration file used by the MakeSSI NLM program.
     #--------------------------------------------------------
     # Version 0.80 -- Jun 15, 1997.
     # Version 0.85 -- Jun 19, 1997. Added ShowStats, CreateLog,
     #                               CloseScreen & NoCloseScreen.
     # Version 0.86 -- Jun 20, 1997. Added DOSDrive.
     # Version 1.00 -- Jul 04, 1997. Released into production.
     #--------------------------------------------------------
     # Caution:
     # -------
     # If there are multiple entries of the same keyword,
     # the last entry will be used.
     #--------------------------------------------------------
     # Note:
     # ----
     # Make sure each line is terminated by a CR/LF. If not,
     # the line may be ignored. Case does not matter in the keywords.
     #--------------------------------------------------------
     #ServerName =
     #-----------
     # The beta and eval/demo version of MakeSSI does not require the
     # following two (2) keywords.

     #------------------ DO NOT MODIFY -----------------------
     #LicenseKey =
     #LicensedTo =
     #------------------ DO NOT MODIFY -----------------------

     # SMSUser. No default. This user must have full file system rights
     # ------- (i.e. Supervisor) to the SYS: volume of the server to be
     # backed up. Note that a leading period *is* needed, and the full
     # (typeless) NDS name path is used. Must not be an user alias.
     SMSUser = .smsuser.ou.org

     # LoginPassword. No default. This is an encrypted password. Please
     # ------------- encrypt the password using the supplied ENCRYPT.EXE
     # and then insert the encrypted password below.
     LoginPassword = encrypted_password_here

     # ShowStats. Default is not showing stats. This keyword will cause
     # --------- progress statistics (i.e. bytes read, throughput) be
     # included as part of the information.
     #ShowStats

     # CreateLog. Default is not to create a log file. This keyword will
     # --------- cause a log file to be created or appended to. The
     # "home directory" for MakeSSI is SYS:SYSTEM\MAKESSI.
     #CreateLog

     # CloseScreen/NoCloseScreen. Default is CloseScreen. This allows the
     # ------------------------- NLM to exit and close the status screen
     # without user intervention. You may wish to specify NoCloseScreen for
     # troubleshooting purposes.
     #CloseScreen
     #NoCloseScreen

     # DOSDrive. By default, MakeSSI only scans C:\NWSERVER directory
     # -------- and its subdirectories for files. However, there may be
     # times that your server files are installed in a different drive/
     # directory or you wish to get a list of *all* files on the C: partition.
     # If this is the case, specify the DOSDrive keyword and the path to
     # start the scan. Note that the path *must* be followed by a backslash.
     #
     # (USE THIS OPTION WITH CAUTION, it may cause high server utilization
     # and/or slow response time during the scan, especially if you are to
     # scan the whole drive!)
     #
     #DOSDrive = C:\
     #DOSDrive = D:\NWSERVER\

Required Modules

Ensure the following NLMs are loaded prior to loading of MakeSSI:

Sample Log Files

The following is a sample MAKESSI.LOG file. Similar information is displayed on the server console screen at runtime.

                         R u n    L o g    R e p o r t                         

               Version PK-2.00 (DLAN/960726r-MakeSSI-2420/0666)
             Licensed to Internal Evaluation & Testing - DreamLAN
                        NetWare 4.11 Server: WEB_SERVER


*----------
* Start of run: 07-26-1997 at 06:56:23.
* Report file [SYS:XX\MAKESSI.LOG] opened.
 * SMDR found on server [WEB_SERVER].
 * TSA410 found on server [WEB_SERVER].
 * Connecting to TSA410 ... Connection established.
 *     --> Found TSA410.NLM v4.14.
 *     --> Version OK!
 * Authenticating to TSA410 as [.ADMIN.DREAMLAN] ... OK!
  *----------
  * Reading [Server Specific Info] resource.
  *     --> Resource [Server Specific Info] opened.
  *     --> Bytes read: 110.72 KB
  * Done.
  *----------
  * Writing [Server Specific Info] files:
  *     --> SERVDATA.NDS     VOLSINFO.TXT     DSMISC.LOG
  *     --> AUTOEXEC.NCF     STARTUP.NCF
  *     --> Bytes written: 110.72 KB
  * Done.
  *----------
  * Performing read/write consistency check.
  *     --> Total Read    : 113377 bytes.
  *     --> Total Written : 113377 bytes.
  *     --> Check OK!
  * Done.
  *----------
  * Creating directory listing of [WEB_SERVER/C:\NWSERVER\] and below.
  *     --> Listing file [SYS:SYSTEM\WEB_SERV.ER\DOSDRIVE.LST] opened.
  *     --> Total of [4] directories and [439] files found.
  *     --> [SYS:SYSTEM\WEB_SERV.ER\DOSDRIVE.LST] saved.
  * Done.
  *----------
  * Collecting NDS partition information.
  *     --> [SYS:SYSTEM\WEB_SERV.ER\PARTINFO.LST] opened.
  *     --> Total of [3] partition(s) found.
  *     --> [SYS:SYSTEM\WEB_SERV.ER\PARTINFO.LST] saved.
  * Done.
  *----------
 * Logging out from TSA410 ... OK!
 * Detaching from TSA410 ... OK!
* Cleaning up ... OK!
* End of run: 07-26-1997 at 06:57:45.
*----------

Note that the total number of bytes read should always equal to the total number of bytes written for the SSI resources. If they don't match, there is probably a read problem on the temp. data files. Check for possible disk/volume problem. Although we have never encountered such an issue, but the check is put in to ensure data consistency.

The following is a sample PARTINFO.LST file.

                   N D S    P a r t i t i o n    R e p o r t                   

               Version PK-2.00 (DLAN/960726r-MakeSSI-2420/0666)               
             Licensed to Internal Evaluation & Testing - DreamLAN             
                        NetWare 4.11 Server: WEB_SERVER                        


*----------
* Start of run: 07-27-1997 at 02:11:11.
 * NDS Partition information located on this server:
  *
  * Replica ring information for [[Root]]:
  * --> ServerName: CN=WEB_SERVER.OU=Toronto.O=DreamLAN (type: 0, Master)
  *               <<< Warning: LESS THAN 3 REPLICA COPIES FOUND >>>
  *
  * Replica ring information for [O=Students]:
  * --> ServerName: CN=WEB_SERVER.OU=Toronto.O=DreamLAN (type: 0, Master)
  *               <<< Warning: LESS THAN 3 REPLICA COPIES FOUND >>>
  *
  * Replica ring information for [OU=Finance.O=Students]:
  * --> ServerName: CN=WEB_SERVER.OU=Toronto.O=DreamLAN (type: 0, Master)
  *               <<< Warning: LESS THAN 3 REPLICA COPIES FOUND >>>
  *
 * Total of [3] partition(s) found.
* End of run: 07-27-1997 at 02:11:21.
*----------

The following is a partial listing of a sample DOSDRIVE.LST file.

                  D O S    P a r t i t i o n    R e p o r t                   

               Version PK-2.10 (DLAN/960727r-MakeSSI-2420/0999)               
                    Copyright (C) 1997. All Rights Reserved.                    
                        <<< NDS Tree-based Edition >>>                        
          Site Licensed for Internal Evaluation & Testing - DreamLAN          
                        NetWare 4.11 Server: WEB_SERVER                        


*----------
* Directory listing of [WEB_SERVER/C:\NWSERVER\] and below.
* Generated on 08-05-1997 at 22:22:42.


 [C:\NWSERVER\*.*]

	   Name         Bytes     mm-dd-yy   hh:mm:ss
	------------   --------   --------   --------
	README.LIC           45  03-06-1996  10:34:29
	NETMAIN.ILS       11013  09-07-1996  18:21:07
           ...            ...       ...        ...
	SYM8XXNW.DDI      29648  07-11-1996  02:01:04
	SYM8XXNW.HAM      69412  07-11-1996  02:01:00

		Found [439] files.


 [C:\NWSERVER\SMP\*.*]

	   Name         Bytes     mm-dd-yy   hh:mm:ss
	------------   --------   --------   --------

		Found [0] files.


 [C:\NWSERVER\SFT3\*.*]

	   Name         Bytes     mm-dd-yy   hh:mm:ss
	------------   --------   --------   --------

		Found [0] files.


 [C:\NWSERVER\CONN\*.*]

	   Name         Bytes     mm-dd-yy   hh:mm:ss
	------------   --------   --------   --------

		Found [0] files.


 Total of [439] files found in [4] directories.


Registration

You are granted a 30-day trail license to evaluate the unregistered version of MakeSSI. The evaluation (unregistered) version has the following limitations:

  1. Will not create a list of files on the DOS partition.
  2. Will not create a list of replicas found on the server.
  3. Will not purge old SERVDATA.NDS file from SYS:SYSTEM.

MakeSSI is licensed on a per-server basis. For multiple servers, a tree-based site license is available (so that you only need one license key for all servers). The licensing cost for MakeSSI is as follows:

     1  -  9 servers     $20 US or $30    CDN+GST per server
     10 - 49 servers     $15 US or $22.50 CDN+GST per server
     50 - 99 servers     $10 US or $15    CDN+GST per server
     100+ servers        $ 5 US or $ 7.50 CDN+GST per server

Sites with 10 or more servers will receive tree-based site licenses. At this time, MakeSSI can be registered using the enclosed order form (ORDER2.FRM), via a Company Purchase Order, or from the following Websites


Other Information

MakeSSI is written in C using WatCOM C v10.0a optimizing compiler and Novell Developer Kit Volume 15 (including the SMS kit).

Inclusion of this utility on CD-ROMs (except for backup purposes) without permission from DreamLAN Network Consulting Ltd. is expressly prohibited.


Revision History