DiskShadow(TM)

File System mirroring, Resource Manager for QNX(TM).

Picture

    DiskShadow is a QNX resource manager which provides on-line file and data duplication services.
    DiskShadow also protects applications from data loss and down times due to network and PC failures.

    Distributed and supported by:
    RealTime Technology Systems Pty Ltd.

    Contact: Geoff Roberts
    Phone: 61 2 6291 3833
    Fax:   61 2 6291 3838
    Email:  sales@rtts.com.au
    

DiskShadow Ver 4.24A User Manual
DiskShadow Ver 4.24A Technical Manual

DiskShadow operates by creating and managing a directory in the existing file system (termed the shadow directory). Two real directories (termed Primary and Secondary) are being shadowed and kept in step by DiskShadow. Files that exist on the Primary and Secondary are reflected in the shadow directory. All I/O requests made on this directory will be performed on both the Primary and Secondary.

Some of the more important and interesting features of DiskShadow are:-

  1. The shadow directory exists in the standard file space.
  2. ALL applications and system level I/O calls are transparently directed to DiskShadow by the OS.
  3. There is no need to modify application code to use DiskShadow.
  4. The two real directories may be on different disks.
  5. The two real directories may be on different physical nodes.
  6. The two real directories may be different file systems. (SCSI, floppy, ram etc).
  7. I/O operations are mirrored as they occur. When a shadow file is written to, so are the real files.
  8. All file permissions, modes and ownership settings are maintained.
  9. Most I/O functions are supported.
  10. DiskShadow has the ability to transparently detect a failed node.
  11. DiskShadow is able to transparently restore a once failed Primary or Secondary directory.
  12. It is significantly cheaper than hardware mirroring solutions.
  13. A utility exists that permits a high degree of control over the use of DiskShadow.
  14. Primary and Secondary directories may be closed, re-opened, renamed or disabled.
  15. Extensive log and history outputs are available for DiskShadow monitoring.
  16. Message structures exist that allow direct queries to be made of DiskShadow.
  17. An application may request to be Triggered when the status of a node changes.
  18. Minimum system requirements (See System Requirements).

Unfortunately there are some disadvantages : 

  1. DiskShadow is a software solution and so imposes a speed penalty (See Performance).
  2. DiskShadow cannot support some I/O functions (See Non Supported Functions).
  3. Time is required to re-build recovered directories. (See Node Rebuilding Issues).
  4. DiskShadow is able to detect and recover from node failures, not disk failures.
  5. Twice the normal disk space is required.

Configurations:

DiskShadow may be configured to suit individual needs. The following table gives some hypothetical examples :

Shadow

Primary

Secondary

Description

//1/shadow //1/primary //1/secondary Simple implementation. Primary and Secondary are on the same node. They may be on the same or different disks. (/shadow is the default name).
//1/DATA //1/DATA1 //2/DATA2 On-line backup strategy. All data written to the shadow directory is written to the local and remote directory. Therefore a failure of the disk in either node 1 or node 2 will not mean the copmplete loss of data. Loss of the second node may be detected and later restored.
//1/DATA //2/DATA1 //3/DATA2 Full Recovery. Node 2 or 3 may fail and operation can continue.

Performance :

By the nature of its operation DiskShadow must impose a speed penalty. It is required to perform the same I/O operation twice. If so configured it may have to pass the request over the network. A performance test is described in the "Technical Manual", the test is performed while varying the location of the Primary and Secondary nodes. It is done on the local disk, one remote node and then using two remote directories.

Some steps have been taken to reduce the performance hit:

  • Reads are performed on the local node, the remote node simply has its offset adjusted.
  • All status style requests are done on the local node only.

Non Supported Functions:

All of the normally used I/O functions are supported. The exceptions are those that usually involve direct access to a disk devce. Fsys_get_mount_pt and Fsys_get_mount_dev cannot return useful values. If DiskShadow is required to mirror the root directory then Pipe functions cannot be directly supported. Start the Pipe first.

Node Rebuilding Issues:

Once a node has failed DiskShadow will periodically test the node to determine if the link has recovered. Once the link has been restored DiskShadow immediately starts a recovery process which stalls all other I/O operations until complete. The node may be restored by one of 3 methods the longest involves removing all of the contents of the destination directory and the copying all files and sub-directories. While this is being done DiskShadow is stalled and all applications performing I/O through it are also stalled.

System Requirements

DiskShadow requires only a 386 or greater, 150K ram and QNX 4.23A.


Back to the Top

DiskShadow: Distributed and supported by: RealTime Technology Systems.
Contact : sales@rtts.com.au

QNX Real Time Operating System. Find out more.

  • This material is copyright 1997 by John Rhind of Symmetry Innovations Pty Ltd; All rights reserved.