大家都知道 SSD 成本比较高, 而不少用户在考虑可用性时都会选用 RAID 10 作阵列, 这样无疑又增加了成本然而 RAID 10 的可用性也并非百分百完美为了能够平衡可用性和成本, 因此最近一直在研究性价比更高的 RAID 50, 它提供了接近 RAID 10 的可用性并且接近 RAID 5 的成本, 像是在高可用的 RAID 10 和低成本的 RAID 5 之间的取了一个平衡点
为了能够直观了解不同 RAID 类型下的故障可用性, 我们首先做个简单的可用性分析 (以 8 盘 RAID 10 的同等容量作对比):
RAID 50 中: 4 块盘组成单组 RAID 5, 然后两组 RAID 5 再组成 RAID 0 最后得到 8 块盘的 RAID 50
案例分析:
第 1 块盘的容错概率都是 100%, 可见磁盘阵列最基本的能力就是容错, 然而不同级别的阵列能够提供的数据保护能力也是不同的;
从第 2 块盘开始除了 RAID 6 能够提供 100% 的故障可用性以外, 其他包括 RAID 10 在内都不能提供完美的解决方案同时我们可以发现 RAID 5 的容错能力是四者中最差的, 但是要达到同样容量所需要的盘数量也是最少的, 如果故障运维较为及时的话 RAID 5 是一个性价比较高的方案, 不然在第一块盘故障后至阵列修复期间如果发生第二块盘故障就会导整个阵列故障 (数据全部丢失), 这就是风险所在;
RAID 6 当然是较为可靠的方案, 但是它要牺牲两块盘的容量并且性能也较差 (后面有性能测试说明), 所以要权衡性能和可用性;
当然重点还是 RAID 10 和 50: 我们发现 50 在第二块盘故障时的可用概率和 10 比较接近, 由于上述案例中只有两组 RAID 5 因此只能提供至最多两块盘的容错, 如果 RAID 5 的组数量更多的话能够容错的盘数也将更多, 且可用概率也会更高
我们以 9 块盘 RAID 50(3 组 RAID 5) 为例作分析 (达到相同容量的 RAID 10 需要 12 块盘):
再以 12 块盘 RAID 50(4 组 RAID 5) 为例作分析 (达到相同容量的 RAID 10 需要 16 块盘):
上面对比中 RAID 50 已经能够容忍第 3 甚至第 4 块盘的故障, 只是可用性相比 RAID 10 低了些, 但是两者都不能达到完美的 100%, 所以权衡可用性和成本 RAID 50 还是有相当大的优势
接下来看看性能, 为了能够很好地分析性能, 我们沿用了第一组对比方案的作性能分析:
随机读分析:
理论上认为 R10 性能最好, 真实测试数据显示 4K8K 数据块下 R5R50R6 的性能都要优于 R10;
当数据块增大到 16K32K 时, R10 的多盘优势才被逐渐体现出来
随机写分析:
4K 由于 R50R5 由于有大量校验计算一定程度上影响了性能, 但随着数据块逐渐增大, 盘数量的优势也显现出来当数据块达到和超过 8K 时, R50 性能全面超越了 R10;
R10 由于存在 R1 的写同步问题, 因此只有 4 块盘在支撑并发写, 随着数据块的增大, R50 和 R5 的多盘性能优势开始发挥
混合随机读写分析:
得益多盘和无校验计算, 混合读写 R10 领先; R50 其次, 和 R10 相差 27%, 性能也较为接近, R5 和 R50 性能为线性关系, R6 性能最差
顺序读分析:
由于不存在校验计算, 顺序读性能基本上由盘的数量决定; R50 和 R10 性能也较为接近, 同盘数的 R6 和 R50 性能相当, 而盘数较少的 R5 性能相对前三者要弱一些, 符合预期至于为何 R10 性能无法线性增加, 主要是因为阵列卡本身的性能限制
顺序写分析:
顺序写 R5 被优化得最好; R50 由于需要同时计算两次校验因此损失了一些性能, 和 R10 性能相当, 当数据块达到 512K 时, 多盘优势进一步体现出来了, 拉开了与 R10 的差距; R6 由于校验和计算的实现较为复杂, 顺序写性能也是最差的
再来看看这些阵列方案的性能和容错特性:
性能测试结论:
性能测试显示, 相同容量的 R50 和 R10 性能接近: 其中小块文件的随机读 R50 要全面好于 R10, 随机写 4K 虽然 R50 和 R10 差距在 28%, 但是块增大后 R50 要全面优于 R10 顺序读写方面, R50 和 R10 十分接近
容错方面, R50 接近 R10: 第二块盘容错率 R50 十分接近 R10, 两者相差 30%R10 的优势主要是在有一定的概率提供第三甚至第四块磁盘的容错率, 但是考虑到并非 100% 容错, 因此从容错角度来看 R50 虽然和 R10 有一些差距, 但也已体现出较好的容错率, 至少优于 R5 而且 R50 搭配灵活, 甚至可以指定 3 组 R5 以达到最大 3 块磁盘的容错;
成本方面, R50 有很大优势: 按这个配置计算 R50 只有 R10 的 3/4
总结:
RAID 50 提供了接近 RAID 10 性能可用性以及接近 RAID 5 成本的特性, 具有较好的整体性价比优势, 所以考虑使用 RAID 50 替换 RAID 10 把!
来源: http://stor.51cto.com/art/201803/569431.htm