[cgl_discussion] Project Review: RAID-1 Support

Cress, Andrew R andrew.r.cress at intel.com
Tue Sep 10 14:31:45 PDT 2002


1. Requirements related to the RAID-1 Support project:
---------------------------------------------
3.5.1 RAID 1 Support
OSDL CGL shall provide RAID 1 (Mirroring) support so that the OS
maintains duplicate sets of all data on separate disk drives. OSDL CGL
RAID 1 support shall allow booting off of selected mirror disk drive even
if the other drive is failed. OSDL CGL RAID 1 implementation shall
provide a user-controllable parameter to throttle the syncing operation.
* Support can be configured out if desired.

2.1.1 Hot Insert
OSDL CGL shall continue to provide service when a device, capable of hot
insertion, has been added to the system.

2.1.2 Hot Remove
OSDL CGL shall gracefully remove software access to a device in the
system so it can be physically removed.

2.1.3 Hot Device Identity
OSDL CGL shall ensure that a single device will retain its identity across
hot insert and removals and across system boots.

3.1.2 Drivers Required to be Hardened
Each platform configuration has a set of platform-specific device drivers
installed. Not all device drivers installed on this platform will be
required to be hardened. However, for this platform to be compliant with
OSDL CGL, drivers for the following device types need to be hardened if the
platform is configured with them:
* Network devices.
* Physical direct-access storage devices (e.g., disks) and their associated
  mid-layer drivers. For example, both SCSI driver and mid layer
  driver(s) need to be hardened.
* Logical storage devices (e.g., LVMs).

2. How this software meets the CGL requirements:
---------------------------------------
The RAID-1 project focuses primarily on the software RAID solution in Linux,
since the hardware RAID solutions only require a functioning driver from the
RAID vendor, and are already fairly robust.  The software RAID solution
entails the md module, scsi module, and aic7xxx as a common scsi adapter
driver, as well as several serviceability tools useful to maintain and
repair disk devices.  

This project hardens the kernel modules involved, adds disk hot-insertion
functionality which was not present in previous kernels, and a daemon to
monitor and take (configurable) action when a disk is hot-removed or
hot-added.  The Linux md module already has a sync throttle on the
mdrecovery daemon, although it needs further documentation.

3. Project design information:
------------------------------

Since the disk subsystem is by far the most common hardware component to be
replaced, any improvements that minimize outages for servicing these
components will add significantly to the overall system Reliability,
Availability and Serviceability (RAS).

The 'scsiras' kernel patches include bug fixes, additional log information,
hardening, using the POSIX event log, scsi statistics information, scsi
rescan function to automatically attach hot-inserted devices, etc.  The
hardening efforts apply to each of the kernel modules. 
 
The 'scsirastools' utilities allow administrators to update disk firmware,
set disk mode pages, get disk defect information, perform disk diagnostics,
and monitor scsi disk status without rebooting the system.  The
'sgraidtools' utility can run as a daemon to monitor and take action when a
disk is hot-swapped, so that the software RAID subsystem can automatically
remirror the new disk, just as a hardware RAID adapter would.

Additional information is contained in the 'Disk Mirroring HLD' document,
but this needs to be scrubbed for transition from TLT to CGLE.
 
4. Code location:
-----------------
The scsiras kernel patch and the scsirastools utilities are located at:
  http://cvs.developer.osdl.org/viewcvs/viewcvs.cgi/components/scsirastools/
or
  http://cvs.carrierlinux.org/viewcvs/viewcvs.cgi/components/scsirastools/ 
or
  http://sourceforge.net/projects/scsirastools/ 




More information about the cgl_discussion mailing list