我有一个带有 6 个 SSD 的服务器和一个支持 RAID 10 和 RAID 50 的 RAID 控制器卡,计划将其用作我们的构建服务器。它将引入 NPM 包和许多小代码文件,编译和上传人工制品。
我们目前有一台服务器正在执行此操作,它正在针对 IO 瓶颈运行(它当前使用的是 RAID1 配置中的非 SSD 驱动器)。
RAID 50 和 RAID 10 中哪种 RAID 配置最适合性能?
从用例来看,IO 将主要是小文件的写入(随机写入)。磁盘空间和正常运行时间不是主要问题,因为我们有故障转移并且重建服务器很简单。所以我不关心在拆除阵列之前有多少驱动器故障等,唯一的考虑是性能。
RAID0 已被官僚机构排除在外。
我想真正的问题是奇偶校验的计算是否比总是写入同一个镜像磁盘需要更长的时间?
RAID 10 是性能之王,尤其是在写入方面。您将避免奇偶校验计算并写入惩罚。
https://www.xbyte.com/blog/post/testing-the-limits-of-the-dell-h710-raid-controller-with-ssd/
从阵列读取很容易,从数据磁盘读取一次,没有惩罚。
RAID1 写入惩罚为 2,镜像写入。RAID10 也是 2,同样的东西跨多个 RAID1 阵列条带化。
RAID5 写入惩罚为 4,读写奇偶校验和数据。RAID50 也是 4,跨多个 RAID5 条带化。
给定同一组物理磁盘,RAID5 IOPS 会比 RAID1 差。一个 10K RPM 的主轴可能会执行 100 IOPS。假设阵列中的 4 个是 400 原始 IOPS。RAID5 可能执行 200 次读取 50 次写入,而 RAID 10 可能执行 250 次读取 75 次写入。(取决于应用程序的 IO 模式。)
然后有些人认为使用单奇偶校验 RAID5 风险太大。重建可能很难在磁盘上进行,任何两次故障都会杀死一个奇偶校验阵列。双奇偶校验 RAID6 是一回事,但会增加 IOPS 和容量的成本。
虽然购买主轴是为了满足 IOPS 要求,但固态硬盘通常倾向于根据容量调整大小。
如果您可以将存储安装在单个 SSD 上,那么 RAID1 镜像就很简单了。其他阵列类型也是可能的,特别是因为 IOPS 的限制因素比它们在主轴上的要少。换言之,RAID6 写入损失可能不是性能问题。但是镜子很容易操作。