The basic idea behind RAID is to combine multiple small,
inexpensive disk drives into an array to accomplish performance
or redundancy goals not attainable with one large and expensive
drive. This array of drives appears to the computer as a single
logical storage unit or drive.
What is RAID?
RAID allows information to access several disks. RAID uses
techniques such as disk striping (RAID
Level 0), disk mirroring (RAID Level 1),
and disk striping with parity (RAID Level
5) to achieve redundancy, lower latency, increased bandwidth,
and maximized ability to recover from hard disk crashes.
RAID consistently distributes data across each drive in the
array. RAID then breaks down the data into consistently-sized
chunks (commonly 32K or 64k, although other values are
acceptable). Each chunk is then written to a hard drive in the
RAID array according to the RAID level employed. When the data
is read, the process is reversed, giving the illusion that the
multiple drives in the array are actually one large drive.
Who Should Use RAID?
System Administrators and others who manage large amounts of
data would benefit from using RAID technology. Primary reasons
to deploy RAID include:
* Enhances speed
*Increases storage capacity using a single virtual disk
*Minimizes disk failure
Hardware RAID versus Software RAID
There are two possible RAID approaches: Hardware RAID and Software RAID.
Hardware RAID:
The hardware-based array manages the RAID subsystem
independently from the host. It presents a single disk per
RAID array to the host.
A Hardware RAID device connects to the SCSI controller and
presents the RAID arrays as a single SCSI drive. An external
RAID system moves all RAID handling "intelligence" into a
controller located in the external disk subsystem. The whole
subsystem is connected to the host via a normal SCSI
controller and appears to the host as a single disk.
RAID controller cards function like a SCSI controller to the
operating system, and handle all the actual drive
communications. The user plugs the drives into the RAID
controller (just like a normal SCSI controller) and then adds
them to the RAID controllers configuration, and the operating
system won't know the difference.
Software RAID:
Software RAID implements the various RAID levels in the kernel
disk (block device) code. It offers the cheapest possible
solution, as expensive disk controller cards or hot-swap
chassis 1 are not required. Software RAID also works with
cheaper IDE disks as well as SCSI disks. With today's faster
CPUs, Software RAID outperforms Hardware RAID.
The Linux kernel contains an MD driver that allows the RAID
solution to be completely hardware independent. The
performance of a software-based array depends on the server
CPU performance and load.
To learn more about Software RAID, here are the key features:
*Threaded rebuild process.
*Kernel-based configuration.
*Portability of arrays between Linux machines without reconstruction.
*Backgrounded array reconstruction using idle system resources.
*Hot-swappable drive support.
*Automatic CPU detection to take advantage of certain CPU optimizations.
RAID Levels and Linear Support.
RAID supports various configurations, including levels 0, 1, 4,
5, and linear. These RAID types are defined as follows:
* Level 0 — RAID level 0, often
called "striping," is a performance-oriented striped data
mapping technique. This means the data being written to the
array is broken down into strips and written across the
member disks of the array, allowing high I/O performance at
low inherent cost but provides no redundancy. The storage
capacity of a level 0 array is equal to the total capacity
of the member disks in a Hardware RAID or the total capacity
of member partitions in a Software RAID.
* Level 1 — RAID level 1, or
"mirroring," has been used longer than any other form of
RAID. Level 1 provides redundancy by writing identical data
to each member disk of the array, leaving a "mirrored" copy
on each disk. Mirroring remains popular due to its
simplicity and high level of data availability. Level 1
operates with two or more disks that may use parallel access
for high data-transfer rates when reading but more commonly
operate independently to provide high I/O transaction
rates. Level 1 provides very good data reliability and
improves performance for read-intensive applications but at
a relatively high cost. 2 The storage capacity of the level 1 array is
equal to the capacity of one of the mirrored hard disks in a
Hardware RAID or one of the mirrored partitions in a
Software RAID.
* Level 4 — Level 4 uses parity
3 concentrated on a single disk drive to protect
data. It is better suited to transaction I/O rather than
large file transfers. Because the dedicated parity disk
represents an inherent bottleneck, level 4 is seldom used
without accompanying technologies such as write-back
caching. Although RAID level 4 is an option in some RAID
partitioning schemes, it is not an option allowed in Red
Hat Enterprise Linux RAID installations. 4 The storage capacity of Hardware RAID level 4
is equal to the capacity of member disks, minus the
capacity of one member disk. The storage capacity of
Software RAID level 4 is equal to the capacity of the
member partitions, minus the size of one of the partitions
if they are of equal size.
* Level 5 — This is the most common
type of RAID. By distributing parity across some or all of
an array's member disk drives, RAID level 5 eliminates the
write bottleneck inherent in level 4. The only performance
bottleneck is the parity calculation process. With modern
CPUs and Software RAID, that usually is not a very big
problem. As with level 4, the result is asymmetrical
performance, with reads substantially outperforming
writes. Level 5 is often used with write-back caching to
reduce the asymmetry. The storage capacity of Hardware RAID
level 5 is equal to the capacity of member disks, minus the
capacity of one member disk. The storage capacity of
Software RAID level 5 is equal to the capacity of the member
partitions, minus the size of one of the partitions if they
are of equal size.
* RAID 0 (striping without parity)
RAID 1 (disk mirroring)
RAID 4 (parity)
RAID 5 (disk stripping with parity)
RAID 0:
minimum-2 harddisks
Maximum-32 harddisks
Details written alternately and evenly into two or more disks
read & write speed is fast
fault tolerance not available
RAID 1:
minimum-2 harddisks
maximum-2 harddisks
Simaltaneously data will be written to two volumes on two different disks
read speed is fast & write is slow
fault tolerance available
50% overhead
RAID 4:
minimum-3 harddisks
maximum-32 harddisks
Data is written alternately and evenly to two or more disks and a parity is also written on one disk
Read & write speed is fast
fault tolerance is available
RAID5:
minimum-3 harddisks
maximum-32 harddisks
Data is written alternately and evenly to two disks and a parity is written in all disks
read & write speed is fast
fault tolerance is available
also known as striped with parity
Steps to create a Raid:
create multiple partitions
# fdisk /dev/sda
n
+500M
t
fd
# partprobe
to club raid partitions into a single array
# mdadm -C /dev/md0 -n3 /dev/sda{9,10,11} -l5
to display raid device
# mdadm -D /dev/md0
to format
# mke2fs -j /dev/md0
create a mount point
# mkdir /raid
to mount the raid device
# mount /dev/md0 /raid
# cd /raid
to make a partition faulty
#mdadm -f /dev/md0 /dev/sda10
to remove a faulty partition from array
# mdadm -r /dev/md0 /dev/sda10
to add a new partition into raid array
#mdadm -a /dev/md0 /dev/sda11
to watch data recovery
# cat /proc/mdstat
to stop raid
# mdadm -S /dev/md0
to Activate raid
# mdadm -A /dev/md0 /dev/sda{9,10,11}
No comments:
Post a Comment