In part 3 of our Windows 2012 performance tuning series, we’ll focus on picking the right resiliency scheme for your storage system. We’ll compare the various factors that cause trade-offs when selecting a RAID scheme.
To determine the best configuration, you want to look at the read and write loads and decide your budget allowance to achieve the performance, availability, and reliability. Below you’ll find common configurations and their relative performance, reliability, availability, cost, capacity, as well as energy consumption, as recommended by Microsoft.
|
Configuration |
Performance |
Reliability |
Availability |
Cost, capacity, and power |
|
JBOD |
Pros: · Concurrent sequential streams to separate disks
Cons: · Susceptibility to load imbalance |
Pros: · Data isolation; single loss affects one disk
Cons: · Data loss after one failure |
Pros: · Single loss does not prevent access to other disks |
Pros: · Minimum cost · Minimum power |
|
RAID 0 (Striping)
Requirements: · Two-disk minimum
|
Pros: · Balanced load · Potential for better response times, throughput, and concurrency
Cons: · Difficult stripe unit size choice |
Cons: · Data loss after one failure · Single loss affects the entire array |
Cons: · Single loss prevents access to entire array |
Pros: · Minimum cost · Minimum power
|
|
RAID 1 (Mirroring)
Requirements: · Two-disk minimum
|
Pros: · Two data sources for every read request (up to 100% performance improvement)
Cons: · Writes must update all mirrors (simplest implementa-tion) |
Pros: · Single loss and often multiple losses (in large configurations) are survivable |
Pros: · Single loss and often multiple losses (in large configurations) do not prevent access |
Cons: · Twice the cost of RAID 0 or JBOD · Up to twice the power |
|
RAID 0+1 or 10 (Striped Mirror)
Requirements: · 4 disks minimum
|
Pros: · Two data sources for every read request (up to 100% performance improvement) · Balanced load · Potential for better response times, throughput, and concurrency
Cons: · Writes must update mirrors · Difficult stripe unit size choice |
Pros: · Single loss and often multiple losses (in large configurations) are survivable |
Pros: · Single loss and often multiple losses (in large configurations) do not prevent access |
Cons: · Twice the cost of RAID 0 or JBOD · Up to twice the power |
|
RAID 5 (parity drive)
Requirements: · One additional disk required. · Three-disk minimum
|
Pros: · Balanced load · Potential for better read response times, throughput, and concurrency
Cons: · Up to 75% write performance reduction because of Read-Modify-Write · Decreased read performance in failure mode · All sectors must be read for reconstruction; potential major slowdown · Danger of data in invalid state after power loss and recovery if not carefully implemented |
Pros: · Single loss survivable; active write requests might still become corrupted
Cons: · Multiple losses affect entire array · After a single loss, array is vulnerable until reconstructed |
Pros: · Single loss does not prevent access
Cons: · Multiple losses prevent access to entire array · To speed reconstruction, application access might be slowed or stopped |
Pros: · Only one more disk to power
Cons: · Up to four times the power for write requests (excluding the idle power)
|
|
RAID 6 (Double Parity)
Requirements: · Two additional disks required · Five-disk minimum
|
Pros: · Balanced load · Potential for better read response times, throughput, and concurrency
Cons: · Up to 83% write performance reduction because of multiple RMW · Decreased read performance in failure mode · All sectors must be read for reconstruction; potential for major slowdown · Danger of data in invalid state after power loss and recovery if not carefully implemented |
Pros: · Single loss survivable; active write requests might still be corrupted
Cons: · More than two losses affect entire array · After two losses, an array is vulnerable until reconstructed |
Pros: · Single loss does not prevent access
Cons: · More than two losses prevent access to entire array · To speed reconstruction, application access might be slowed or stopped |
Pros: · Only two more disks to power
Cons: · Up to six times the power for write requests (excluding the idle power)
|
Certain RAID levels are better than others depending on the purpose of your storage needs. Here are some examples if which RAID level is more suited for which purpose:
· JBOD configuration: Concurrent video streaming
· Striping (RAID 0): Data that is temporary or reconstructable
· Mirroring (RAID 1): Database logs, critical data, and concurrent sequential streams
· Striped mirroring (RAID 0+1): General purpose combination of performance and reliability for critical data, and high-concurrency workloads
· Parity disks (RAID 5): Web sites, semicritical data, workloads with large writes, and workloads that are mostly read operations.
· Double parity disks (RAID 6): Data mining, critical data (assuming hot spares are available), workloads with large writes, and workloads with mostly read operations. RAID 6 is also appropriate for massive datasets, where it would be too expensive to use mirroring and multiple disk failures are a concern.
The next decision to be made is how man disks to include in your array. To help you make this decision, consider the following factors:
· Bandwidth and response time improves using more disks.
· Reliability (mean time to failure) decreases with more disks.
· Usable storage capacity increases as you add disks, but is more expensive.
· For striped arrays, more disks mean better load balancing, where fewer disks mean better data isolation.
· For mirrored arrays, the trade-off is between better cost per capacity (for basic mirrors, which is a depth of two physical disks) and the ability to withstand multiple disk failures (for depths of three or four physical disks). Read and Write performance issues can also affect mirrored array size. For arrays with rotated parity (RAID 5), the trade-off is between better data isolation and mean time between failures (MTBF) for small arrays, versus better cost, capacity, and power for large arrays.
· Because hard disk failures are not independent, array sizes must be limited when the array is made up of actual physical disks (that is, a bottom-tier array). The exact amount of this limit is very difficult to determine.
In our next article we’ll discuss some useful tips for selecting a stripe-size unit, and after that we’ll cover the performance counters. After all, monitoring performance is what we’re all about.






