Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

RAID  —  Devices

NAME

raid − Devices used to send ioctl’s to RAID devices. 

SYNOPSIS

#include <dev/raid.h>
 

OVERVIEW

This document describes the configuration and management of raid devices. 
 

THE RAID CONFIGURATION FILE

An example RAID configuration file is as follows:

#                                              R L S N #              512B        32KB      323MB #numRow numCol logSectSize sectPerSU SUPerDisk parityConfig logDev(d,u,offset) 1       4      9           64        9859      L            516 5128 0 516    7176 516    7192 516    7208 516    7224
 
Lines starting with ’#’ are considereded comments.  Comments can only occure at the BEGINNING of the configuration file.

numRow,
The number of rows and columns of disks in the disk array.  Parity is computed accross the disks in each row.

logSectSize
The log base 2 of the sector size.  A 9 => 2^9 = 512 byte sectors.

sectPerSU
The number of sectors per stripe unit.  The stripe unit is the amount of data placed on a given disk before data is placed on the next disk.

SUPerDisk
The number of stripe units per disk.

parityConfig
The parity configuration to use.  L => left-symmetric (the best all-around choice), R => right-symmetric, N => RAID level 4 placement and S => do not compute parity; i.e., only data striping.

logDev
The type, unit and device offset for the log disk.  By specifying different offsets, the same disk can be used as the log for several disk arrays. If the parity configuration is S, logging is not neccessary and this field should be set to -1 -1 -1 instead of 516 5128 0 in the above example.

The rest of the file contains a list of the type and unit number of each disk in the disk array. 
 

ADDING A NEW RAID DEVICE

 

Create a new raid device ($x = new raid device number): --  If necessary, create:
        fsmakedev -d 10 -u $x /dev/raid$x
        fsmakedev -d 10 -u $x /dev/raid${x}a --  Create raid configuration file /boot/cmds/RAID$x.config. --  Issue IOC’s to configure new device:
    If parityConfig == ’S’ (i.e. no parity, only data striping)
        /boot/cmds/raidioc /dev/raid$x reconfig /boot/cmds/RAID$x.config
    else
        /boot/cmds/raidioc /dev/raid$x reconfig /boot/cmds/RAID$x.config
        /boot/cmds/raidioc /dev/raid$x savestate
        /boot/cmds/raidioc /dev/raid$x hardinit 0 -1
        /boot/cmds/raidioc /dev/raid$x enablelog
        /boot/cmds/raidioc /dev/raid$x unlock
    endif --  Add commands to /hosts/<machine name>/bootcmds to restore existing
    raid device on system boots.
    If parityConfig == ’S’ (i.e. no parity, only data striping)
        /boot/cmds/raidioc /dev/raid$x reconfig /boot/cmds/RAID$x.config
    else
        /boot/cmds/raidioc /dev/raid$x restorestate <logDev(d,u,offset)> &&         /boot/cmds/raidioc /dev/raid$x enablelog                         &&         /boot/cmds/raidioc /dev/raid$x unlock
    endif --  Add new device to ~eklee/bin/paritycheckraid if automatic periodic
    parity checks are desired.
 

ADDING A NEW RAID LFS FILE SYSTEM

 

--  Find out numSector and dataBytesPerStripe (printed to /dev/syslog). 
        /boot/cmds/raidioc /dev/raid$x print --  labeldisk -w /dev/raid$x            # use numSector info here --  mklfs -segAlignment <dataBytesPerStripe> /dev/raid0 --  If necessary create:
        cd /
        ln -r /r$x --  Mount file system:
        prefix -M /dev/raid$x -l /r$x --  Add commands to /hosts/<machine name>/bootcmds to automatically
    export file system.
        prefix -M /dev/raid$x -l /r$x
 

SEE ALSO

 

KEYWORDS

raid command, raid device

Sprite version 1.0  —  September 04, 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026