Front | Info | Lists | Newsfeeds | Study Guide | What is BSD? |
|
This is the BSDA Study Guide Book written via a wiki collaboration. This is a work in progress. You may contribute to or discuss this specific page at http://bsdwiki.reedmedia.net/wiki/View_the_status_of_a_software_RAID_mirror_or_stripe.html. View the status of a software RAID mirror or stripeConceptIn addition to providing drivers for hardware RAID devices, BSD systems also provide built-in mechanisms for configuring software RAID systems. Know the difference between RAID levels 0, 1, 3 and 5 and recognize which utilities are available to configure software RAID on each BSD system. IntroductionSoftware RAID Raid is performed by using a kernel device driver. Raidframe is an example of this. Software raid is a inexpensive raid solution that can be deployed on any system. Software raid is a great opportunity to practice raid without investing in an expensive raid card. Hardware RAID Hardware raid is performed by a controller card. The most common are produced by LSI and Adaptec. These controller cards offload the workload of parity and transactions across multiple disks, and provide the operating system with a single virtual device to represent this set. It is notable to mention that many cards advertised as raid cards are simply controller cards bundled with a driver that requires the OS to handle parity and transactions. This is not a hardware raid solution. Also many hardware raid cards available on todays market may only be configured during bootup. RAID Levels RAID level 0Raid level 0 traditionaly described a grouping of disks, with data striped evenly across without parity. This means that any single disk failure results in the failure of the complete set. the term "Raid level 0" no longer necessarily means the data is evenly distributed across all disks in a stripe, just that a set of disks are not fault-tolerant. RAID level 1Raid level 1, also called mirroring or shadowing, groups disks into pairs. A single copy of each block is stored on an accompanying disk. Raid level 1 is highly reliable and can tolerate disk failures up to N/2 without losing data, as long as two disks in a pair do not fail. RAID level 3In Raid level 3, data is striped across data disks, and an additional parity disk stores the parity of the data. When any single disk fails, the data may be recovered by computing the incomplete data from the parity disk. Multiple disk failures may be tolerated with the addition of multiple check disks. RAID level 5Raid level 5 is similar to raid level 3, with the exception that the parity data is evenly distributed acrossed all disks. Raid on RaidIt is possible to combine raid levels. For instance, You may build two raid level 1 sets of a pair of two disks each. You may then stripe these two raid level 1 sets as raid level 0. This is not commonly done due to complexity, but is available when necessary. RAIDframe: framework for rapid prototyping of RAID structures RAIDframe is a software RAID solution. It is generaly used when hardware raid solutions are not cost effective. RAIDframe was developed at Carnegie Mellon University. RAIDframe, as distributed by CMU, provides a RAID simulator for a number of different architectures, and a user-level device driver and a kernel device driver for Digital Unix. Greg Oster developed this framework as a NetBSD kernel-level device driver. It has since been ported to OpenBSD and FreeBSD. To check the status of a raid device, /dev/raid0, use:
ccd ccd is a software raid solution. Example output... gstripe/raid3/mirror gstripe, graid3, and gmirror is a software raid solution on FreeBSD(?). Example output... View status of a gstripe set:
View status of a gmirror set:
View status of a graid3 set:
gvinum/vinum gvinum on freebsd and vinum on netbsd is a software raid solution. Example output.... bioctl bioctl is an OpenBSD userland interface to hardware raid controllers and enclosures. Example of checking the health of a bioctl-compatible raid set:
Definitions
See AlsoRAIDframe
vinum(8), gvinum(8), gmirror(8), gstripe(8), graid3(8), raidctl(8), ccdconfig(8)
|