Ch16 - 16.03 - Implementing Fault Tolerance Flashcards
Redundant Array of Independent Disks (RAID)
RAID is a technology that duplicates data across drives so that if a drive fails, the other drives in the solution can provide the data. The benefit is that if a drive fails, you can wait to fix the problem at the end of the business day, knowing that the redundancy of your solution will ensure that no data is lost (except in the case of RAID 0).
RAID 0 - Disk Striping - Performance
RAID level 0 is called striping or striped volumes. With RAID 0, multiple disks are used to create a volume; when data is saved to the volume, the data is split up and spread across all disks in the volume. The benefit of striped volumes is that all disks are written to at the same time, giving you a performance benefit.
For example, if you are saving a 12MB file to drive D: and drive D: is a striped volume made up of four disks, we can generalize the save operation by saying that each disk will save 3MB of data, and all disks will work at the same time to do that save operation that totals 12MB. If you had only one disk working for that 12MB save operation, it would take four times longer.
The disadvantage of RAID 0 is that no duplication of data occurs; therefore, if one of your hard drives fails within the volume, you can’t read any of the data. RAID 0 is strictly for the performance benefit in the read and write operations.
In short, RAID 0, known as disk striping, splits the data across all disks in the volume. RAID 0 writes to all disks at the same time, decreasing the time it takes to read or write the data. There is no fault tolerance in RAID 0; it is strictly for performance benefits.
RAID 1 - Disk Mirroring
RAID 1 is known as disk mirroring. Disk mirroring uses two hard drives and duplicates the data from one drive to another. The fact that RAID 1 stores a second copy of the data on another member of the volume means that this solution does offer fault tolerance.
In short, RAID 1 is known as disk mirroring, which “mirrors,” or stores a full copy of, the data on a second disk in case the first disk fails. Disk mirroring is when you have two drives connected to a single controller, while disk duplexing, which is a form of mirroring, is when the two drives are connected to different controllers.
Fault Tolerance
The concept that if one part of the solution fails, another part will pick up the workload and the solution will continue to function with no data loss.
RAID 5 - Disk Striping with Parity
RAID 5 is known as striping with parity because a RAID 5 volume acts as a RAID 0 volume but adds the parity information to create redundancy. RAID 5 volumes write data to all disks in the volume, but store redundant information on one of the disks per stripe (a stripe is a row made up of 64KB chunks on each disk, as shown in Figure 16 9). For example, when you save data to a RAID 5 volume made up of four disks, the data is split into 64KB data chunks (that may change, depending on the product or implementation) and written to each disk (let’s say disks 0, 1, and 2). But disk 3 will store redundant data (parity data) of the three 64KB blocks that have been saved
already. If the three 64KB blocks are not sufficient to complete saving the file, the save operation will continue onto the next row. There will be parity information for that row as well, but the parity information is stored on a different disk for each row.
If one of the disks fails, with a RAID 5 volume you can still access the data, but you may want to replace the faulty disk. To recover from a disk error with RAID 5, you simply replace the failed disk and regenerate the volume so that the data on the failed disk is created on the newly added disk.
In short, RAID 5 volumes are known as striping with parity because this volume type splits the data across all disks but saves parity data on one of the disks per stripe. The parity information is used to calculate
the missing data if a disk in the RAID 5 volume fails.