- A conventional Hardware RAID consists of a RAID controller that is installed into the PC or server, and the array drives are connected to it.
- In high end external intelligent RAID controllers, the RAID controller is removed completely from the system to a separate box. Within the box the RAID controller manages the drives in the array, typically using SCSI, and then presents the logical drives of the array over a standard interface (again, typically a variant of SCSI) to the server using the array.
Software RAID:
In software RAID a software does the work of RAID controller in place of a hardware. Instead of using dedicated hardware controllers or intelligent boxes, we use a particular software that manages and implements RAID array with a system software routine.
Comparing Hardware RAID & Software RAID
Portability
-
OS Portability
Software RAID is not usable across operating systems. So you cannot, for example, use two RAID disks configured in Linux with Windows XP and vice versa. This is big issue for dual booting systems where you will either have to provide a non-RAID disk for data sharing between the two operating system or use hardware RAID instead.
As you know, dual booting is mostly obsolete these days as you can run multiple operating systems on the same machine using virtualization software like vmware & xen.
-
Hardware Portability
Software RAID
In Linux you can mirror two disks using RAID-1, including the boot partition. If for any reason the hardware goes bad, you can simply take the harddisk to a different machine and it will just run fine on the new hardware. Also with a RAID-1 array, each of the harddisk will have full copy of the operating system and data, effectively providing you with two backups, each of which can be run from a different hardware.
Unfortunately in Windows it is not so easy to switch a operating systrem from one hardware to another, but that is the story of priprietary licenses and we will keep it for another day.
Hardware RAID
Hardware RAID is not so portable. You cannot just swap the hardware to a different machine and hope it will work. You have to find a Motherboard which is compatible with your RAID controller card; otherwise you can kiss your data goodbye. Also there is a bigger issue of problem with the RAID controller itself. If it fails and you cannot get the same controller from the market (and it has probably become obsolete by then), then again you can kiss your data goodbye.
OS Portability
Software RAID is not usable across operating systems. So you cannot, for example, use two RAID disks configured in Linux with Windows XP and vice versa. This is big issue for dual booting systems where you will either have to provide a non-RAID disk for data sharing between the two operating system or use hardware RAID instead.
As you know, dual booting is mostly obsolete these days as you can run multiple operating systems on the same machine using virtualization software like vmware & xen.
Hardware Portability
Software RAID
In Linux you can mirror two disks using RAID-1, including the boot partition. If for any reason the hardware goes bad, you can simply take the harddisk to a different machine and it will just run fine on the new hardware. Also with a RAID-1 array, each of the harddisk will have full copy of the operating system and data, effectively providing you with two backups, each of which can be run from a different hardware.
Unfortunately in Windows it is not so easy to switch a operating systrem from one hardware to another, but that is the story of priprietary licenses and we will keep it for another day.
Hardware RAID
Hardware RAID is not so portable. You cannot just swap the hardware to a different machine and hope it will work. You have to find a Motherboard which is compatible with your RAID controller card; otherwise you can kiss your data goodbye. Also there is a bigger issue of problem with the RAID controller itself. If it fails and you cannot get the same controller from the market (and it has probably become obsolete by then), then again you can kiss your data goodbye.
Easy & Speedy Recovery
It may seem trivial but trust me, for a busy and loaded server, an easy and speedy recovery, that too inside the operating system without having to reboot is what one can dream of. Imagine if during the peak hours, your RAID system crashes and you are forced to reboot the machine to make changes to it to restore your data! Software RAID's like in Linux, not only continues working even when the hardware has failed, but also starts restoring the RAID array, should any spare disk be available. All of these happens in the background and without affecting your users. This is where software RAID shines brilliantly.
System Performance
Software RAID uses the CPU to do the work of the RAID controller. This is why high-end hardware RAID controller outperforms software RAID, especially for RAID-5, because it has a high powered dedicated processor. However for low end hardware RAID, the difference may be neglible to non-existent. In fact it is possible for the software RAID perform better than low end hardware RAID controller simply because today's desktop's and workstations are powered by very powerful processors and the task is trivial to them.
Support for RAID Standards
High-end Hardware RAID may be slightly more versatile than Software RAID in support for various RAID levels. Software RAID is normally support levels 0, 1, 5 and 10 (which is a combination of RAID 0 and RAID 1) whereas many Hardware RAID controller can also support esoteric RAID levels such as RAID 3 or RAID 1+0. But frankly who uses them?
Cost
This is where software RAID again scores over hardware RAID. Software RAID is free. Hardware RAID is moderate to high priced and can put a strain on your budget if deployed widely.
But over the years the cost of hardware RAID has come down exponentially. So it may not be too far when more affordable RAID-5 cards will be built-in on newer motherboards.
Future Proof
Gone are the days when we could associate software RAIDs with bugs and OS problems. Nowadays software RAIDs are almost flawless. We are using software RAID in linux operating system for several years and haven't experienced any problem whatsoever. On the contrary, hardware RAID has a single point of failure and that is its hardware controller. If it crashes then your only option is to find another equivalent RAID controller from the market; by this time the model may become obsolete and you may not even find anything compatible. You are as such faced with the haunting prospect of losing all your data, should the RAID controller fail. Software RAID will never become obsolete and will continue to get updated with updated versions of your operating system.
Why Use RAID? Benefits and Costs, Tradeoffs and Limitations
RAID offers many advantages over the use of single hard disks, but it is clearly not for everyone. The potential for increased capacity, performance and reliability are attractive, but they come with real costs. Nothing in life is free. In this section I take an overview look at RAID, to help explain its benefits, costs, tradeoffs and limitations. This should give you a better idea if RAID is for you, and help you to understand what RAID can do--and what it can't do.
As you read on, it's essential to keep in mind that with RAID, it's definitely the case that "the devil is in the details". Most common blanket statements made about RAID like "RAID improves availability" or "RAID is for companies that need fast database service" or "RAID level 5 is better than RAID level 0" are only true at best part of the time. In almost every case, it depends. Usually, what RAID is and what it does for you depends on what type you choose and how you implement and manage it. For example, for some applications RAID 5 is better than RAID 0; for others, RAID 0 is vastly superior to RAID 5! There are situations where a RAID design, hardware and software that would normally result in high reliability could result instead in disaster if they are not properly controlled.
RAID Benefits
Alright, let's take a look at the good stuff first. :^) RAID really does offer a wealth of significant advantages that would be attractive to almost any serious PC user . (Unfortunately, there are still those pesky costs ,tradeoffs and limitations to be dealt with... :^) ) The degree that you realize the various benefits below does depend on the exact type of RAID that is set up and how you do it, but you are always going to get some combination of the following:
Higher Data Security: Through the use of redundancy, most RAID levels provide protection for the data stored on the array. This means that the data on the array can withstand even the complete failure of one hard disk (or sometimes more) without any data loss, and without requiring any data to be restored from backup. This security feature is a key benefit of RAID and probably the aspect that drives the creation of more RAID arrays than any other. All RAID levels provide some degree of data protection , depending on the exact implementation, except RAID level 0 .