|
When looking for a Dedicated Server for your website/s you will need to select different hardware for it. One of the most important thing (specially for database driven websites) will be fast and reliable storage system and understanding what is RAID and how it works will be very helpful.
Redundant Array of Independent Disks, or RAID, is a technology which makes use of two or more hard drives in order to improve performance, reliability or create larger data volumes. The former is achieved through striping, whereby data is split and written across multiple drives to increase throughput, and reliability can be improved by introducing redundancy. An example of this is a mirrored RAID array, whereby data is written to more than one disk so that in the event of a single disk failure, an exact copy of the original data still remains. Common RAID Configurations Though many possible RAID configurations exist, the three which are used most commonly are: RAID 0, or striped array, splits data down into fragments which are written to multiple drives simultaneously. This allows data to be read and written in parallel, vastly increasing the available bandwidth hence providing increased performance. However, RAID 0 arrays do not implement any kind of error checking and as such the failure of a single drive will result in a complete loss of data. RAID 1, or mirrored array, writes data to two (or more) drives simultaneously hence introducing a level of redundancy. As long as at least one drive remains in tact the array will continue to operate without problems. Read performance can be marginally increased with the use of a RAID 0 array, though write performance is typically slower. It should be noted that although two sets of data exist, all operations are performed on both drives, and as such a mirrored array will not protect against malicious or accidental data deletion. RAID 5, or striped array with parity, allows increased performance through striping as well as increased reliability through distributed parity. In the event of a single drive failure, the distributed parity can be used to calculate the missing data and so the array will continue to function correctly. However, the array will be destroyed with the loss of a second disk, so it is essential that failed disks are replaced. The distributed parity can then be used to calculate the missing data and rebuild the missing drive onto the replacement. A minimum of three drives are required to form a RAID 5 array. There are many other possible RAID configurations, though these have more specialist applications. It is also possible to nest RAID levels. For example, RAID 0+1 is a striped set in a mirrored configuration (or RAID 1+0 which is a stripe of mirrors). This means that data is split across two drives for increased performance, but this data is then mirrored to a further two drives to provide fault tolerance. Though this does marginally improve overall performance, it is much more complex and requires a minimum of four disks to operate. RAID Implementation Most server and some desktop operating systems support RAID to some extent. However, RAID arrays can require a significant amount of processing, particularly with those requiring fault tolerances, and as such software-based RAID can have a significant impact on overall system performance. In addition to this, the RAID array isn’t initialised until the operating system boots, meaning that if the bootable drive were to fail there is no mechanism in place to simply boot from an alternative drive in the array. Hardware-based RAID controllers are preferred, which usually come in the form of expansion cards. These include their own processor and read/write cache, meaning that there are no overheads on the system’s CPU hence deliver far superior performance. Hardware RAID controllers are more compatible as they present arrays as single logical volumes to the operating system and typically provide hot-swapping capabilities which are essential in many applications where machine availability is crucial. There are also RAID controllers which are firmware or driver-based, sometimes known as fake RAID. Though these controllers exist physically – that is they reside on expansion cards or on the motherboard – like software-based RAID, all the processing is done by the host CPU. The only real advantage to this implementation of RAID over a software-based solution is that the boot process can be altered should the bootable drive of an array fail. Conclusion For the vast majority of home users, a RAID array is not necessary and will not provide a big enough gain in performance to warrant the initial cost unless there is a particular desire for optimum performance or need for data redundancy. Though it is much more convenient to be able to fall back on a mirrored drive in the event of a disk failure, for example, a proper backup will allow most users to get back up and running relatively quickly. Where RAID is really used to its full potential is in environments such as emergency services and businesses, where uptime, performance and data reliability are essential.
 |