HDDs can store large amount of data. If stored in a single HDD, a failure can destroy the data. To prepare for the worst we can use RAID.
Note that RAID is not a back up - it is the very data that is being retrieved or updated. as a result, RAID is used mainly to maintain uptime and availability if a drive fails.
There are different levels of RAID, although certain RAID levels do not have redundancy.
RAID 0
RAID 0, also known as striping, requires at least 2 drives wherein we take all our data and split it evenly across the drives. specifically, different blocks of the same file could be distributed.
this gives us a performance increase is that performanc eis increased. Howveer, there is no redundancy.
RAID 0 == 0 redundancy
RAID 1
In RAID 1 file blocks are dupliciated between two or more physical drives - the data is mirrored accross them.
This of course has high disk utilization - twice as much as we do with RAID 0. The advantage is that we have high redundancy and a drive failure does not affect data availability.
RAID 5
In RAID 5 our data is striped - like RAID 0 - where we put pieces of data accross drives. However, this requires at least a third drive to maintain paritiy data.
The use of space here is fairly efficient, since data is not duplicated. It does require an extra drive.
Part of the issue is that if a drive is lost, data will be lost. But with the help of the parity drive we can rebuild whatever data is missing. This just might take some time.
RAID 10 (1+0)
This is a stripe of mirrors. In other words, we create a series of RAID 1 arrays that each works as a single disk, but each array has a single block of data. This means that we can lose any one disk and still have access to the data, plus we have the advantage of .
Each stripe of data is mirrored.
This requires at least 4 drives; it allows us to lose half our drives (assuming each drive failure is in each RAID 1 mirror)