Solaris Reference Manual for SMCC-Specific Software
  Search only this book
Download this book in PDF

NAME

rdac - Redundant Disk Array Controller Support

OVERVIEW

Redundant disk array controller (RDAC) support in RAID Manager provides application-transparent protection for array controller and data path failures using a special-purpose daemon process and kernel-resident I/O driver. The RDAC software achieves this protection by positioning the kernel driver, which is primarily responsible for path routing, between the SCSI disk driver and the rest of the operating system. From this vantage point, the RDAC driver has full visibility of the I/O traffic to the disk array and is able to intervene and use the redundant path to recover controller and path failures.
The other essential part of this recovery action is provided by the "error resolution daemon", whose responsibility it is to interpret and analyze error conditions, determine the appropriate course of action and disposition of the failed I/O, and, if necessary, direct a surviving controller to take over the control of logical units from a failed controller.
In short, failed I/Os returning from the SCSI driver will result in the RDAC driver communicating the failure to the daemon, which will resolve the error as it sees fit, and communicate that resolution back to the RDAC driver for continuation of I/O processing, possibly now using the alternate path. All of this occurs without the OS or application realizing that there has been an error.

COMPONENTS

Major components of the RDAC support in RAID Manager consist of:
RDAC Kernel Driver
The RDAC driver is responsible for path routing and participating in the interaction with the daemon on error resolution cycles.
Resolution Daemon
The resolution daemon receives notice from the driver when an I/O failure occurs and attempts to decide if the error is a "routine" condition (such as a LUN transfer for purposes of load balancing), or if it signifies a controller or data path failure, in which case it initiates "failover" to the alternate.
rdacutil Command Line Utility
The RDAC software also includes a command line utility, rdacutil, which provides for scriptable RDAC management, including failover, controller mode transitions, and LUN load balancing.

FILES

The redundant path protection of RDAC is dependent on use of device special files that refer to the RDAC driver, which in effect constitute a "virtual," highly reliable path to the array. The general form of these special files (or device nodes) is:
/dev/[r]dsk/rdac/c<a>t<b>_c<c>t<d>.d<e>s<f>
where the optional [r] signifies character, rather than block device; <a> and <b> are the "controller-target" designators of one path, and <c> and <d> are the controller-target desingators of the other path; <e> is the disk (logical unit) number; and <f> is the slice number.
Examples:
/dev/dsk/rdac/c2t1_c1t2.d0s1 /dev/rdsk/rdac/c2t3_c1t4.d6s0
In addition, RDAC sets up soft links to the above nodes that are easier to work with and which provide a clear correlation to the RAID module names used in the RAID Manager graphical applications. These names have the form:
/dev/[r]<RAID module name>/<a>s<b>
where the optional [r] signifies character, rather than block device; <RAID module name> is the logical name of the RAID module used in RAID Manager; <a> is a logical unit number; and <b> is a slice number.
Examples:
/dev/RAID_Module_01/0s1
/dev/rRAID_Module_01/6s0

NOTES

  1. Currently it is not possible for the RDAC driver to control the root or swap devices of the operating system.

  2. For the greatest level of I/O path protection, each controller in a redundant controller pair should have its own SCSI connection (i.e., SCSI bus and host adapter) into the system.

SEE ALSO

arraymon(1M), lad(1M), nvutil(1M), parityck(1M), raidutil(1M), rdacutil(1M), rdaemon(1M), rdriver(4), rm6(1M), rmevent(4), rmparams(4), rmscript(1M)