Many IT consultants build and deploy new servers for clients on a very regular (sometimes weekly) basis. This requires you to make numerous decisions about chassis design, processor count and speed, disk capacity, redundant power supplies, disk speeds, memory, operating systems, and warranty replacement windows. It can be easy to overlook the specified RAID version, even though this detail constitutes a critical component of server architecture.
Here’s a guide you can use when planning a client server to help ensure the RAID version selected best fits the requirements. The RAID version you deploy will depend upon each client’s specific needs.
Hardware- vs. software-based
Clients almost always desire the least expensive server available, but it’s your job to ensure the server deployed best meets client objectives, and software-based RAID systems provide a compromise. And, almost any time a compromise is made, there is a price to pay for building a server.
Software-based RAID typically trades lower cost for less performance. The server’s resources must manage RAID overhead, and performance suffers. But a separate, dedicated RAID controller isn’t required, so cost is reduced.
I don’t recommend software-based RAID. The purpose of a server is to deliver reliable performance. Compromising server potential to shave marginal cost is shortsighted and pays performance penalties over the lifespan of the server, the purpose of which is to deliver performance. Further, many virtualization engines required hardware-based RAID.
Hardware-based RAID leverages a dedicated hardware controller, typically with its own onboard memory. Because the dedicated component manages transactional overhead, performance improves. Battery-supported disk write caching and tighter component integration usually result in hardware-based RAID configurations, delivering more reliable performance and improved error-handling, too.
Hardware- vs. software-based RAID TL-DNR: Hardware-based RAID is more expensive but provides better performance.
RAID 0
RAID 0 stripes data across a minimum of two disks and provides excellent performance, as data can be read or written simultaneously using two or more disks. Disk costs (i.e., the amount of disk space lost to support redundancy) are zero, as RAID 0 is a misnomer (RAID, after all, stands for Redundant Array of Inexpensive Disks); RAID 0 offers no redundancy. Thus, it should not be deployed when uptime or high availability is required. If a single drive fails, the array is destroyed and downtime and data loss result.
RAID 0 TL-DNR: Fast, cheap, and dangerous.
RAID 1
RAID 1 mirrors data usually across two disks. Depending upon the installed controller, performance may prove unaffected. Disk cost is high at 50 percent (when using two disks total), as one disk mirrors another. If a disk fails, the array continues to operate, and no downtime should result.
RAID 1 TL-DNR: Slow, expensive, and safer.
RAID 5
RAID 5 — potentially the most commonly deployed RAID version when seeking a balance between performance and redundancy — stripes data across three or more disks. Performance increases because read/write operations can be performed simultaneously across multiple disks. Because parity information is spread across multiple disks, too, a single disk can fail and the array should continue operating properly (albeit at reduced performance during the failure).
Disk cost proves reasonable, too. Consultants can calculate RAID 5 efficiency using the equation 1-1/n in which n equals the number of disks in the RAID array. To calculate disk costs specifically, consultants can divide 100 by the total number of disks. If there are three 500 GB disks in a RAID 5 array, divide 100 by 3 (resulting in a third) to determine the RAID 5 disk cost (or one 500GB disk in this example). Of course, the disk cost (500 GB in this example) must be subtracted from the total disk space (1.5 TB in this case) to determine the total usable preformatted disk space (1 TB in this example). Note, given my preference, I typically deploy an extra (fourth) drive within RAID 5 arrays for configuration as a hot online spare. Using a hot spare increases disk expense but helps minimize downtime, as a server configured in this manner does not need to be powered down when it’s necessary to replace a failed disk.
RAID 5, with its balance of redundancy vs. performance, is a good fit well for many server environments. Occasionally additional redundancy (or tolerance for multiple simultaneous disk failures) is required. In such cases, RAID 10 may prove best.
RAID 5 TL-DNR: Fast with reasonably efficient redundancy.
RAID 10
RAID 10 essentially blends RAIDs 1 and 0. In other words, RAID 10 combines disk mirroring (RAID 1) and striping (RAID 0).
A minimum of four disks is required when deploying RAID 10, and disks must be even in number. The benefit is high performance and improved redundancy; multiple disks can fail, and a RAID 10 array will remain intact unless a mirror set loses all of its member disks (in which case the array will fail). Compared to RAID 5, RAID 10 delivers striped performance and additional disk redundancy to help ensure higher availability for critical applications, services, and databases.
The price, other than complexity, is efficiency. Like RAID 1, when using RAID 10 a 50 percent disk cost is the penalty for redundancy. And, when factoring disk costs, remember that RAID 10 requires building arrays with multiple mirrors, so disk costs increase exponentially compared to a regular RAID 1 array normally composed of a single mirrored set of disks.
RAID 10 TL-DNR: Fast with expensive redundancy that can still fail.