This is the second article from our RAID series. We hope it shows – in the easiest possible way – what RAID is, the idea of it and how it works. We wrote about RAID 0. Now is the time for RAID 1, RAID 0+1 and RAID 1+0.
What is RAID 1
RAID 1 (mirroring) – the basic idea of such a solution is the replication (mirroring) of two or more discs. It means that while using RAID 1, an exact copy (or mirror) is created on two or more discs. Such a solution gives good read performance and reliability, but storage capacity must be compartmentalized. The reason for this is that the total storage must be equal to the capacity of the smallest disk. i.e.: in the case of an array composed of 3 discs – 250GM, 500GB and 1TB – the usable space will be equal to 250GB.
Why RAID 1
RAID 1 is the easy way to secure data and maintain a reasonable value of write, read and access speed. Adopting this strategy allows for full optimization of these processes. While it is sequential, the overall write speed is equal to all the write operations of each drive in the array. It’s a simultaneous process, the write operations take place parallel to all drives – which means that the recording duration is equal to the duration of the operation of the slowest disk. It is also possible to set up this strategy for the read process. It can be sequential – so the read speed can be almost equal to RAID 0 or it can take place only from specified drives. The second solution is used when there are significant differences between the read speeds of each of drive in the array.
But returning to the pros – the possibility to increase read speed and reduce access time is the main advantage. The second one is data safety. Wikipedia gives us a good and simple example:
Consider a RAID 1 with two identical models of a disk drive with a 5% probability that the disk would fail within three years. Provided that the failures are statistically independent, then the probability of both disks failing during the three year lifetime is 0.25%. Thus, the probability of losing all data is 0.25% over a three year period if nothing is done to the array. If the first disk fails and is never replaced, then there is a 5% chance the data will be lost. If only one of the disks fails, no data would be lost. As long as a failed disk is replaced before the second disk fails, the data is safe.
However, since two identical disks are used and since their usage patterns are also identical, their failures cannot be assumed to be independent. Thus, the probability of losing all data, if the first failed disk is not replaced, may be considerably higher than 5%.
As a practical matter, in a well-managed system the above is irrelevant because the failed hard drive will not be ignored but will be replaced. The reliability of the overall system is determined by the probability the remaining drive will continue to operate through the repair period, that is the total time it takes to detect a failure, replace the failed hard drive, and for that drive to be rebuilt. If, for example, it takes one hour to replace the failed drive, the overall system reliability is defined by the probability the remaining drive will operate for one hour without failure.
As it’s plain to see, the possibility of data loss is really small. This is the biggest advantage of RAID 1 – allowing for a quick resolution to the rare possibility of losing data through a disk failure.
However, there are also some drawbacks. As was mentioned, the whole storage capacity of an array is equal to the storage capacity of the smallest disk connected to it. The second thing is something we may call the “immediacy of write and change process.” RAID 1 can prevent a data loss due to disk failure, but in the case of viruses or human factors (i.e.: accidental deletion of data) RAID 1 is useless. Changes on the first (of two) disc in the array will take place also on the second – immediately or shortly. One mistake, malware or anything else and data will be lost.
What is RAID 0+1 and RAID 1+0
RAID 0+1 means arrays implemented as RAID 1, whose elements are RAID 0 arrays. Such implementation has the benefits of RAID 0 speed and RAID 1 safety. It is also much easier to implement than RAID 3, RAID 5 or RAID 6. The main drawback of such a solution is its cost.
A RAID 1+0 array is implemented as RAID 0, whose elements are RAID 1. It combines the same advantages of RAID 0 (speed) and RAID 1 (safety), but in different way. RAID 1+0 creates a large stripe of small mirrors. After failure of a disk, while it is being replaced, only the small fragment of a whole array is rebuilt. Unfortunately, it has the same drawback as that of RAID 0+1 – cost of implementation.