2014-07-29

Software vs Hardware

RAID is traditionally implemented in businesses and organizations where disk fault tolerance and optimized performance are must-haves, not luxuries. Servers and NASes in business datacenters typically have a RAID controller—a piece of hardware that controls the array of disks. These systems feature multiple SSD or SATA drives, depending on the RAID configuration. Because of the increased storage demands of consumers, home NAS devices also support RAID. Home, prosumer, and small business NASes are increasingly shipping with two or more disk drive bays so that users can leverage the power of RAID just like an enterprise can.



Software RAID means you can setup RAID without need for a dedicated hardware RAID controller. The RAID capability is inherent in the operating system. Windows 8's Storage Spaces feature and Windows 7 (Pro and Ultimate editions) have built-in support for RAID. You can set up a single disk with two partitions: one to boot from and the other for data storage and have the data parition mirrored.

Feature

Software RAID

Hardware RAID

Cost:
Software RAID is part of OS, so no need to spend extract money.

Low

High

Complexity:
The software RAID works on partition level and it can sometime increase complexity if you mix different partitions and hardware RAID.

Medium to high

Low

Write back caching (BBU):
The software RAID cannot add a battery. Hardware RAID can run in write-back mode if it has a BBU installed. With BBU pending writes are not lost on a power failure.

No

Yes

Performance:
With the software based RAID0 and RAID1 performance is negligible. However, performance goes down when you use parity-based arrays and/or several arrays at the same time. The performance of a software-based array is dependent on the server CPU performance and current load.

Depend upon usage

High

Overheads (CPU, RAM etc):
The software RAID must use server's CPU and RAM for RAID software. The more hard drives means more CPU cycle will go to software RAID instead of your Apache / Postfix or MySQL server.

Depend upon usage

No

Disk hot swapping:
It means replacing hard disk without shutting down the server. Many RAID controller supports disk hot swapping.

No

Yes

Hot spare support:
A hard disk is physically installed in the array which stays inactive until an active drive fails, when the system automatically replaces the failed drive with the spare, rebuilding the array with the spare hard disk included.

Yes

Yes

/boot partition:
It is hard to make fail over with software RAID if /boot fails while booting the server. This can result into unexpected errors and data loss. However, LILO and FreeBSD loader can get around this problem too.

No

Yes

Open source factor:
*BSD / OpenSolaris and Linux RAID software drivers are open source. It means more people can fix problems as compare to a closed source hardware firmware. You can move, mix and match different sizes with open source software RAID.

Yes

No

Vendor lock in (open formats): See above.

No

Yes

Higher write throughput :
Hardware RAID with BBU may offers higher write throughput.

No

Yes

Faster rebuilds :
Hardware RAID with BBU may offers faster rebuilds as compare to software based solution.

No

Yes

Can act as a backup solution?:
Both software and hardware RAID cannot protect you against human errors or system failures or viruses. Daily scheduled and off site backups of your system are highly recommended. Use tools such as rsync, rsnapshot, tar, dump, restore and others to make daily backups.

No

No

Recommend usage:

+Low cost solution
+Better for RAID0 or RAID1
+Single server / workstation
+Perfect for home and small business users.
+No vendor lock-ins

+Do you run a mission critical cluster or setup?
+Heavy database driven dynamic site
+Do you want the highest performance possible?

Which RAID is right for me?

RAID-0: This technique has striping but no redundancy of data. It offers the best performance but no fault-tolerance.

RAID-1: This type is also known as disk mirroring and consists of at least two drives that duplicate the storage of data. There is no striping. Read performance is improved since either disk can be read at the same time. Write performance is the same as for single disk storage. RAID-1 provides the best performance and the best fault-tolerance in a multi-user system.

RAID-2: This type uses striping across disks with some disks storing error checking and correcting (ECC) information. It has no advantage over RAID-3.

RAID-3: This type uses striping and dedicates one drive to storing parity information. The embedded error checking (ECC) information is used to detect errors. Data recovery is accomplished by calculating the exclusive OR (XOR) of the information recorded on the other drives. Since an I/O operation addresses all drives at the same time, RAID-3 cannot overlap I/O. For this reason, RAID-3 is best for single-user systems with long record applications.

RAID-4: This type uses large stripes, which means you can read records from any single drive. This allows you to take advantage of overlapped I/O for read operations. Since all write operations have to update the parity drive, no I/O overlapping is possible. RAID-4 offers no advantage over RAID-5.

RAID-5: This type includes a rotating parity array, thus addressing the write limitation in RAID-4. Thus, all read and write operations can be overlapped. RAID-5 stores parity information but not redundant data (but parity information can be used to reconstruct data). RAID-5 requires at least three and usually five disks for the array. It's best for multi-user systems in which performance is not critical or which do few write operations.

RAID-6: This type is similar to RAID-5 but includes a second parity scheme that is distributed across different drives and thus offers extremely high fault- and drive-failure tolerance.

RAID-7: This type includes a real-time embedded operating system as a controller, caching via a high-speed bus, and other characteristics of a stand-alone computer. One vendor offers this system.

RAID-10: Combining RAID-0 and RAID-1 is often referred to as RAID-10, which offers higher performance than RAID-1 but at much higher cost. There are two subtypes: In RAID-0+1, data is organized as stripes across multiple disks, and then the striped disk sets are mirrored. In RAID-1+0, the data is mirrored and the mirrors are striped.

RAID-50 (or RAID-5+0): This type consists of a series of RAID-5 groups and striped in RAID-0 fashion to improve RAID-5 performance without reducing data protection.

RAID-53 (or RAID-5+3): This type uses striping (in RAID-0 style) for RAID-3's virtual disk blocks. This offers higher performance than RAID-3 but at much higher cost.

RAID-S (also known as Parity RAID): This is an alternate, proprietary method for striped parity RAID from EMC Symmetrix that is no longer in use on current equipment. It appears to be similar to RAID-5 with some performance enhancements as well as the enhancements that come from having a high-speed disk cache on the disk array.

Other useful terms

JBOD This is shorthand for “just a bunch of disks.” It's not actually RAID, but it is often available as an option on multidisk storage boxes that offer RAID. JBOD offers no speed increase or redundancy. Rather, it simply concatenates a group of disks into a single volume.

Data is written to the first drive until it’s full, then to the second until it is full, and so on, until the last drive has no more room. Even though many network-attached storage devices provide this option, we don’t recommend using it unless it’s the only thing available, you really need a single large volume, and you don’t have the choice of using RAID 0 (an unlikely circumstance).

Drive Extender Microsoft has abandoned this technology, which was formerly employed on NAS boxes runningMicrosoft Windows Home Server (prior to WHS 2011). A smart file replication methodology, drive extender allowed you to configure which data would be replicated on a folder-by-folder basis.

Hot Spare RAID arrays sometimes employ a hot spare, which is simply an extra disk preinstalled in the NAS box or system that serves to replace a failed disk. This setup allows the rebuilding of the array to proceed automatically without user intervention.

Our Advice

Trying to determine which RAID level is best for you?

First off, use hardware RAID over software RAID when you have a choice. Software RAID is fast, but many implementations tend to rebuild at the drop of a hat, reducing performance while in progress.

Use RAID 0 when all you want is faster performance with large files, and you don’t need fault tolerance. (But be sure to back up your drives regularly.)

Use RAID 1 when you have only two drives and you want to protect against drive failure.

Use RAID 5 when you have more than two drives and you want a hedge against drive failure.

The majority of our servers come with a built In RAID controller  saving you money.

You can find a selection of RAID appropriate Harddrives here.

Aswell as our wide range of RAID controllers here.

Show more