This is an excerpt from the bestselling book
Oracle Grid & Real Application Clusters. To get immediate
access to the code depot of working RAC scripts, buy it
directly from the publisher and save more than 30%.
This RAID level is often
misunderstood. Which should be used, RAID 10 or RAID 0+1? Examine
Figure 5.10 and see exactly how they work. In the case of RAID 0+1,
also called mirrored stripe, striping is implemented in the lowest
position, meaning from a group of drives. A stripe is formed and
then two such stripes are mirrored resulting in a logical drive.
With this method, the loss of any drive makes the entire stripe
invalid and the stripe is detached from the mirror pair. When the
failed disk is replaced, the entire stripe must be brought up to
date. Recovering the entire stripe can take a substantial amount of
time as all the stripe members need to update the data.
Figure 5.10: Mirrored Stripe and
Striped Mirror RAID architecture
With RAID 1+0 (or 10), mirroring
is implemented at the lowest position. A group of mirrored drives
are used to create a stripe. RAID 10, also called a striped mirror,
is the superior method. If a disk fails in a striped mirror layout,
only the failing disk is detached, and only that portion of the
volume loses redundancy. When the disk is replaced, only a portion
of the volume needs to be recovered. As shown in Figure 5.10,
mirrored drives are independent units. When a disk is lost, it
affects only one mirrored pair. Thus, compared to a mirrored-stripe,
a striped-mirror offers more tolerance to disk failure. If a disk
failure occurs, the recovery time is shorter for a striped-mirror
layout.
A short summary of the RAID
levels is presented in Table 5.1.
RAID LEVEL
STRENGTHS
WEAKNESS
RAID 0
Performance
No redundancy
RAID 1
Redundancy without Parity
Cost (double the disks)
RAID 3
Minimal Write penalty
No Overlapping
RAID 4
Overlapped small I/Os
Parity Disk bottleneck
RAID 5
Overlapped small I/Os
Write Penalty
RAID 0+1/10
Redundancy and Performance
Cost is very high
Table: 5.1: Strengths and
Weaknesses of Various RAID Levels
One thing to remember when
calculating the number of disks required for a particular RAID
configuration is not just the storage capacity required, but to also
take into account the needed I/O requirements. On some
configurations the added parity writes and other overhead associated
with RAID5 for example, can reduce the I/O capacity of the drive set
by up to 50%. Disks are limited to around 110-120 I/Os per second
maximum I/O capacity for linear read/write activity. For random
read/write activity this can drop to 90 I/Os per second or less.
Taking I/O capacity into account, RAID10 or 01 becomes less costly
with the modern RAID controllers since it essentially doubles I/O
capacity even if it halves storage capacity.
Software RAID and Hardware
RAID
As previously stated, the RAID
operations can be performed either in the host or within the disk
sub-system. When RAID is done within a host, usually with the help
of volume manager software or by means of a device drive, it is
referred to as software RAID. When it is implemented within the
storage system it is said to be hardware RAID.
Some of the issues surrounding
the software RAID implementation are:
* Issue of Portability ? Since
the RAID software implementation has some O/S specific components,
these components have to be RAID operations, share the kernel mode
components, and may add to the system CPU load. Software RAID uses
more system resources, as more disk ports and channels are required,
and it is subject to additional loads during write and copy
operations.
* Software RAID is relatively
complex. Creating several dozen redundant performance volumes across
several dozen hard drives results in several hundred configuration
records that describe the layout.
The following advantages may
be seen with hardware RAID:
* The RAID firmware is executed
on a dedicated processor within the disk subsystem, and therefore
does not share the system?s CPU.
* It is portable across all the
operating systems. In the event of a malfunction in the RAID
firmware, the host system continues to operate and gives a suitable
report on the RAID issue. At the same time, if the crash occurs at
the system level the storage system functioning is unaffected.
* Many of the RAID solutions are
equipped with battery backup modules that allow them to maintain
cache coherency and complete outstanding operations without loss of
data integrity.
* RAID controllers or storage
processors are specialized for enhancing performance. Auxiliary
processors are dedicated to calculating the parity of the data
blocks that are being written to disk, while the main embedded
processor concurrently fetches and executes RAID code.
However, there is one situation
where software RAID becomes very useful. To mirror the drives from
two different storage units, only software mirroring at the host
level can do it. For example, after drives from two storage units
are placed under the control of the Veritas volume manager at host
level, a volume can be created by using the RAID-1 level to mirror
two disks originating from two different disk systems. By this
means, even if access to one of the storage units is lost, the
volume can still continue to function.