3.5 Identify the purpose and characteristics of fault
tolerance.
A Fault-Tolerant network is, simply, one that can withstand,
survive, and recover from errors. Minor errors might require only a simple
reboot. More major breakdowns, such as a hard drive failure, may require more
dramatic steps. The first line of defense against any kind of errors—improving
the network’s fault tolerance—is some form of data backup.
RAID (Redundant Array of Inexpensive [or Independent] Disks)
The “Inexpensive” portion of this name comes from when
“inexpensive” was a relative term. Inexpensive was originally the correct
term. However, over the years, many techs came to accept "Independent"
as well. Today, both terms are acceptable.
RAID is a data storage system in which data (and information
needed for error correction and/or data recovery) are stored over two or more
physical hard disk drives. RAID (usually) provides improved reliability, and
often performance as well.
Two types of RAID
- Hardware with a special dual ported SCSI adapter. More expensive
than software RAID but provides better performance.
- Software integrated into the OS (usually RAID 0 & RAID 1).
Benefits of RAID
- Offers high availability, ensuring that server resources are
available a high percentage of the time.
- Offers Fault Tolerance. If a hard drive in the RAID array fails,
another will take its place and data can be restored from other disks in the
array. The obvious exception to this rule is RAID 0, which offers no fault
tolerance at all.
- A RAID array appears to the OS as a single, logical hard disk.
- Most RAID levels use the technique of striping. Striping is the
partitioning of each drive's space into units that can range from a sector
(as small as 512 bytes) up to many megabytes.
- The stripes of the disks will be interleaved and addressed in a specific
order.
The minimum number of drives required for each RAID level:
RAID
0 |
2
drives (but is not redundant) |
RAID
1 |
2
drives |
RAID
1+0 (AKA, RAID 10) |
4
drives |
RAID 2 |
NA |
RAID
3 |
3
drives |
RAID 4 |
3
drives |
RAID
5 |
3
drives |
RAID 6 |
3
drives |
RAID 7 |
NA |
RAID
53 |
5
drives |
BOLD = More likely to be tested on these RAID levels.
RAID 0
- Cheapest and fastest of all RAID technologies.
- Disk striping
without parity.
- Offers best performance but no fault-tolerance, which means it’s not
really RAID. Lose just one drive and all the data in the array is lost. (In
this case, reinstall and restore data from a backup.)
- Never use this in mission critical environments.
- Most often seen in video production/editing, image editing, Pre-Press
applications and any application that requires high bandwidth. Also useful
for proxy caches where fault tolerance isn’t so much of an issue.
RAID 1
- Disk Mirroring (one controller, two disks; if the controller fails, the
array will fail) or Duplexing (two controllers, two disks, and more reliable
than simple mirroring).
- No striping. What is written to the first hard drive will be written
exactly to the other. If one drive fails, replace it and copy data from the
other drive. If both drives fail, they both must be replaced and data
restored from a backup.
- Read performance is improved since both disks can be read at the same
time. Write performance carries some overhead.
- Cost per MB is high. If you mirror/duplex two 30-GB hard drives, you
effectively have only 30 GB total.
- May not support hot swap when implemented through software.
RAID 1+0 (AKA RAID 10)
- A mirrored array with segments that are RAID 0 arrays but offers the same
fault tolerance as RAID 1.
- Same fault tolerance overhead as mirroring.
- Offers higher performance than RAID 1 but at a much higher cost.
- Excellent choice in environments where high performance is required but
achieving maximum reliability is not a concern.
- If one drive fails, the entire array becomes, essentially, a RAID 0 array.
RAID 2
- Striping across disks with some disks storing Error Checking and
Correcting (ECC) information.
- Called "on-the-fly" data error correction.
- Slow.
- Very little fault tolerance.
- Relatively simple controller design compared to RAID levels 3,4 & 5.
- Installation costs can be very high. There are no commercial
implementations; not commercially viable.
RAID 3
- Offers striping. One drive is dedicated to storing parity.
- Cannot overlap I/O and, therefore, is best for single-user systems with
long single record applications (large files).
- Very high Read/Write data transfer rates.
- Controller design is relatively complex.
- Very difficult and resource intensive to implement as software RAID.
RAID 4
- RAID 4 is similar to RAID 3. The difference is an entire block of data is
written to each drive, rather than individual bits, as in RAID 2 and RAID 3.
- Uses large stripes, so records can be read from any single drive.
- All write operations must update the parity drive and no I/O overlapping
is possible.
RAID 5
- Striping with parity. Data and parity information is striped at the block
level across all the drivers in the array.
- Most commonly used of all the RAIDs. Commonly implemented in enterprise
critical file and application servers; data base servers; Web, email and
news servers and intranet servers.
- Fastest and most reliable of RAID technologies.
- Requires a minimum of three hard drives but usually five or more disks are
used.
- If one drive fails, parity information (Boolean XOR function) stored on
other drives can be used to reconstruct the data on the failed drive to a
new drive. Can also reconstruct data "on the fly" without
replacing a failed drive, but this carries high overhead due to the ongoing
calculations necessary.
RAID 6
- An extension of RAID 5, it includes a second parity algorithm in an
additional stripe.
- Parity scheme requires N+2 drives.
- More fault tolerant than RAID 5 but it is also more expensive.
RAID 7
- Multiple striped disks each with its own controller.
- Each stripe has its own parity drive, which offers very fast performance.
- Very expensive.
- Access times decrease with each increase in the number of actuators in the
array.
- No extra data transfers required for parity manipulation.
- Only one vendor currently is offering this RAID level technology (Storage
Computer Corporation. For more information, click here
and here.)
RAID 53
- Can be thought of as "RAID 03" because it is implemented as a
striped array (like RAID 0) RAID 3 array segments.
- RAID 3 array segments offer high data transfer rates.
- RAID 0 striping offers high I/O rates for small requests.
For an excellent Cramsession InfoCenter article on RAID
technologies, click here.