RAID Structure & Levels
o RAID is an acronym
for Redundant Array of Independent (or Inexpensive) Disks.
o RAID is the way of
combining several independent and relatively small disks into a single storage
of a large size.
o The disks included
into the array are called array members.
o The disks can be
combined into the array in different ways which are known as RAID
levels.
o
Each of RAID levels has its own characteristics of:
- Fault-tolerance which is the ability
to survive of one or several disk failures.
- Performance which shows the change
in the read and write speed of the entire array as compared to a single
disk.
- The capacity of the array which is
determined by the amount of user data that can be written to the array.
The array capacity depends on the RAID level and does not always match the
sum of the sizes of the RAID member disks.
v How RAID
is organized?
Two independent aspects are clearly distinguished in the RAID
organization.
- The organization of data in the array (RAID storage techniques: striping, mirroring, parity, combination of them).
- Implementation of each particular RAID installation - hardware or software.
v RAID
storage techniques
The main methods of storing data in the array are:
- Striping -
splitting the flow of data into blocks of a certain size (called
"block size") then writing of these blocks across the RAID one
by one. This way of data storage affects on the performance.
- Mirroring is
a storage technique in which the identical copies of data are stored on
the RAID members simultaneously. This type of data placement affects the
fault tolerance as well as the performance.
- Parity is
a storage technique which is utilized striping and checksum methods. In
parity technique, a certain parity function is calculated for the data
blocks. If a drive fails, the missing blocks are recalculated from the
checksum, providing the RAID fault tolerance.
All the existing RAID types are based on striping, mirroring, parity, or
combination of these storage techniques.
v Standard
RAID levels
1.
RAID 0
o RAID 0 consists of striping, but
no mirroring or parity.
o Compared to a spanned volume,
the capacity of a RAID 0 volume is the same; it is the sum of
the capacities of the disks in the set.
o But because striping distributes the contents
of each file among all disks in the set, the failure of any
disk causes all files, the entire RAID 0 volume, to be lost.
o The benefit of RAID 0 is that
the throughput of read and writes operations to any file are
multiplied by the number of disks.
2.
RAID 1
o RAID 1 consists of data mirroring, without
parity or striping.
o Data is written identically to two drives, thereby
producing a "mirrored set" of drives. Thus, any read request can be
serviced by any drive in the set.
o If a request is broadcast to every drive in the set, it
can be serviced by the drive that accesses the data first (depending on
its seek time and rotational latency), improving performance.
o Actual read throughput of most RAID 1
implementations is slower than the fastest drive.
o Write throughput is always slower because every drive
must be updated, and the slowest drive limits the write performance.
3.
RAID 2
o RAID 2 consists of bit-level striping with
dedicated Hamming-code parity.
o All disk spindle rotation is synchronized and data
is striped such that each sequential bit is on a different
drive.
o Hamming-code parity is calculated across corresponding
bits and stored on at least one parity drive.
1.
RAID 3
o RAID 3 consists of byte-level striping with
dedicated parity.
o All disk spindle rotation is synchronized and data is
striped such that each sequential byte is on a different drive.
o Parity is calculated across corresponding bytes and
stored on a dedicated parity drive.
o RAID 3 is not commonly used in practice.
2.
RAID 4
o RAID 4 consists of block-level striping with
dedicated parity.
o The main advantage of RAID 4 over RAID 2 and 3
is I/O parallelism: in RAID 2 and 3, a single read I/O operation requires
reading the whole group of data drives, while in RAID 4 one I/O read
operation does not have to spread across all data drives.
o As a result, more I/O operations can be executed in
parallel, improving the performance of small transfers.
3.
RAID 5
o RAID 5 consists of block-level striping with
distributed parity.
o Unlike RAID 4, parity information is distributed
among the drives, requiring all drives but one to be present to operate.
o Upon failure of a single drive, subsequent reads can be
calculated from the distributed parity such that no data is lost.
o RAID 5 requires at least three disks.
4.
RAID 6
o RAID 6 consists of block-level striping with
double distributed parity.
o Double parity provides fault tolerance up to two failed
drives.
o This makes larger RAID groups more practical, especially
for high-availability systems, as large-capacity drives take longer to restore.
o RAID 6 requires a minimum of four disks.
o As with RAID 5, a single drive failure results in
reduced performance of the entire array until the failed drive has been
replaced.
o With a RAID 6 array, using drives from multiple
sources and manufacturers, it is possible to mitigate most of the problems
associated with RAID 5.
5. RAID 0+1: creates two stripes and mirrors them. If a single drive failure occurs then one of the stripes has failed, at this point it is running effectively as RAID 0 with no redundancy.
1. RAID 1+0: creates a striped set from a series of mirrored
drives. The array can sustain multiple drive losses so long as no mirror loses
all its drives.
v RAID Implementations
RAID can be created by two different ways:
- with
the use of operating system drivers, so called software RAID;
- with
the use of special hardware, so called hardware RAID.
v Software
RAID
Software RAID is one of the cheapest RAID solutions.
There are certain limitations on the use of the software RAID to boot
the system. Only RAID 1 can contain boot partition, while system
boot is impossible with a software RAID 5 and RAID 0.
v Hardware
RAID
Hardware RAID is created using separate hardware. Basically there are
two options:
- inexpensive RAID
chip possibly built into the motherboard,
- more
expensive option with a complex standalone RAID controller.
Such controllers can be equipped with their own CPU, battery-backed up
cache memory, and they typically support hot-swapping.
A hardware RAID has some advantages over a software RAID, such as:
- doesn't
use CPU of the host computer;
- allows
user to create boot partitions;
- handles
errors better, since communicates with the devices directly;
- supports
hot-swapping.
No comments:
Post a Comment