If we have no fault tolerance in Storage Area Network we are exposed to losing data. RAID solutions have been invented in order to provide mechanisms which keep our data safe. RAID in different variants has different level of safety. What are and what characterizes RAID variants , what they do and what is their influence on work of servers ?
RAID – is considered as a data storage virtualization technology and in plain words turns physical disks into logical. There are two kinds of RAID depends on our resources and used solution : hardware and software. Hardware RAID usually will be provided thanks to an extension card (e.g PCI Express)., is much faster than software (or at least shoud be, the best performance has a RAID controller with a cache) and we may use hard drives connected to hardware controller “out of the box”, we have to only choose the type of RAID. If we install OS onto RAID 5, and one of used hard drives got broke than we have still fully working system after replacing broken disk. On the other side we have software RAID which is suitable for storing data, is much more slower than hardware RAID. Software RAID is built-in for example in Windows 2012or what is better option in Linux and mdadm daemon is responsible for.
SIZE and VOLUME of RAID array – the Size is total space which have been allocated for given RAID type, the Volume is total usable capacity. For example if we take into consideration RAID 5 with 4 hard drives with 250 GB capacity, the size will be 1 TB but the volume will be 750 GB. Why? Because we have to give up 1/4 of space for “parity” (compressed data) in order to provide fault tolerance.
RAID 0 – block level STRIPPING. The fastest RAID. Requires the same capacity of hard drives. Support 2 up to 32 disks. No fault tolerance ! The data are shared between hard drives simultaneously
RAID 1 – MIRRORING. Provides full fault tolerance. HDD have to be the same, otherwise the better hard drive takes over values of the worse. The same data are copying between hard drives.
RAID 2 – without fault tolerance, with error correction, but not in use anymore, . We have some hard drives with data and the other with error correction ECC code. There is no fault tolerance. When HDD reads data it compares them with ECC code but may only report that something is wrong (maybe due to bad sectors). RAID 2 has got useless since error correction mechanism has started to be utilized in hard drives.
RAID 3 – not in use anymore! Works with use of parity disk and on bit level. Data are compressed on additional disk.
RAID 4 – the same as RAID 3 but works on block level, not in use anymore!
RAID 5 – Block level striping with parity (parity means data compression). Support 2 up to 32 disks. Parities are spread out on whole array disks. Thanks to this solution if any one single disk failed, nothing wrong happens.
RAID 6 – Block level stripping with double distributed parities. It is a backup of the backup. Even two hard drives may failed and we are still in the game!
RAID 10 (1+0) – combines RAID 0 and 1 . First stripping data then mirroring them. Very expensive solution, but very resist to faults.