In a recent webinar I discussed how a Hybrid System could be architected so that it could perform as well, or almost as well, as an All-Flash Array. If the IT planner decides to implement a Hybrid Array, there is another decision to be made and it’s often a question we get asked, “Which RAID level should I use for the SSD tier?”.
The RAID 5/6 Challenge
There are some issues running RAID 5/6 on a Solid State Disk (SSD) tier. The first is additional latency because of the time it takes to make the various XOR calculations that RAID needs in order to build parity. How much this latency will impact your performance is going to vary depending on your workload. For the vast majority of data centers, this overhead may be a non-issue because they don’t have applications that can push the SSD tier to its maximum.
In other words they have IOPS to burn, so piling on additional parity calculations won’t change application response time. This abundance of performance is the same reason that deduplication and compression are typically non-issues in flash-based systems, as we discuss in our article “Should you be able to turn All-Flash Deduplication off?“.
The RAID 5/6 Write Challenge
One potential downside of RAID 5, and especially RAID 6, is the extra writes that are generated. Remember, a write operation, once the SSD has reached a steady state, is the slowest part of flash I/O since each write requires an erase (another write with zeros) and then the writing of the actual data. We detail the exact process in our article “Pay Attention to Flash Controllers when Comparing SSD Systems”.
With RAID 5 you are adding essentially an extra write for each write, and in RAID 6 you are adding two extra writes for each write. This will impact performance more than the above mentioned XOR latency, and it may also impact SSD durability, since flash cells can only support a finite number of these write and erase cycles.
My short answer to the opening question is “I prefer RAID 1 (mirrored) or RAID 10 (striped and mirrored) the SSD drives”. Yes, this cuts usable capacity by 50%, but I can leverage deduplication and compression to get that much of that capacity back.
We find that most of the time when a hybrid system is designed there is too much flash allotted to the task, as evidenced by low cache turn over. Remember, in a hybrid system just because your cache tier is full does not mean it is being utilized. As we detail in our article, “What Is Storage Caching?”, too much cache turnover is bad, but so is almost no cache turnover. A smaller, faster, more reliable cache capacity area may render a better overall experience.