专栏名称: 企业存储技术
企业存储、服务器、SSD、灾备等领域技术分享,交流 | @唐僧_huangliang (新浪微博 )
目录
相关文章推荐
51好读  ›  专栏  ›  企业存储技术

NVMe SSD RAID的几种玩法和测试(上)

企业存储技术  · 公众号  ·  · 2019-08-11 09:00

正文

请到「今天看啥」查看全文


本文内容非商业用途可无需授权转载,请务必注明作者及本微信公众号、微博 @唐僧_huangliang,以便更好地与读者互动。


目录

- 主板集成的 NVMe SSD RAID 5

- “软” RAID 5 的性能瓶颈与现实意义

- 挂着 SATA 阵列标签的 PCIe RAID

- 初步对比: RAID 5、0 读性 能接近翻倍

- Iometer 测试: SSD 写惩罚与性能计算的修正

- 测试平台简介、 VROC 测试预览

主板集成的 NVMe SSD RAID 5

前几天有人问我,一款新推出的移动工作站是否支持 NVMe SSD RAID ?我的第一反应是看文档——官方规格里没写?不过我手头有台样机啊,实际试一下不是更好吗。

点开 图片 后双击可放大 (以下同):Dell Precision 7740 移动工作站的扩展性设计,主要沿用了上一代 7730 的规格,比如 4 M.2 NVMe SSD 安装位。

在笔记本类产品上做 RAID 的用户不多( Intel Optane Memory 那样的缓存盘除外),因为在 2.5 SATA 盘时代,能够提供达到 3 个盘位的产品确实太少。 RAID 0 牺牲数据安全性,而笔记本用户往往又没有 RAID 1 那样的可靠性需求。今天更多的双盘组合还是 SSD+HDD ,只是 SATA 大多变成了 M.2 NVMe

这次用户询问的是:在系统盘之外,能否加 2 NVMe SSD RAID ?简单试了一下发现这款工作站可以实现。由于 Intel RST RAID 之前一直支持 SATA 盘的 RAID 5 (从十几年前的 ICH5R 开始,当时笔者测试过),正好现在 M.2 的槽位数又能满足,于是就引发了我想测试一下 NVMe RAID 5 的兴趣。

注:撰写本文之前,我查询了 Intel RSTe 文档中明确写了支持 NVMe SSD RAID 5 ,但网上似乎没什么人试过。一方面台式机主板的 M.2 槽位通常不超过 2 个,另一方面 Intel 后来在 Skylake Xeon )服务器 / 工作站上推出了 VROC (其实就是 RSTe 发展而来)。不过移动工作站支持的还是 RST ,会有哪些区别呢?


我在 Precision 7740 上装好 NVMe SSD ,开机按 F12 并进入 Intel Rapid Storage Technology 的配置界面,此时可以选择 RAID 5 。当我把 3 NVMe 盘选中, Strip Size 条带大小的默认设置为 32KB

创建好 RAID 卷之后,也可以选择在上面安装 Windows 系统并引导,不过这次我还有另一个单独的系统盘,这样可以保证 RAID 性能测试不受 OS 的干扰。

“软” RAID 5 的性能瓶颈与现实意义


Intel 8/9 Core 平台架构图——台式机和标准电压笔记本产品

无论是看网上的评价,还是根据我以往的经验, Intel RST 这种免费“软” RAID 的性能表现都不算太好。首先 不像 LSI MegaRAID (现属于 Broadcom )卡那样 支持电池保护的写缓存 ,理论上 RAID 5 写性能会受比较大的影响。而挂在 南桥( PCH )下面的 PCIe 通道, DMI 3.0 PCIe 3.0 x4 连接在面对 NVMe SSD 时也更容易遇到瓶颈。

不过从另一个角度来看,传统单机 RAID 技术在遇上 NVMe 之后普遍显得乏力。尽管 Tri-Mode RAID 卡发布已经有 2 年多(参见:《 首款 SAS/SATA/PCIe 三模 RAID 发布: ARM 替代 PowerPC 》,但一线 服务器大厂的最新 RAID 卡似乎仍然停留在 SAS/SATA 的支持上。企业存储领域,除了最近一两年出现的专用 NVMe 磁盘阵列(如 Dell EMC PowerMax 等)之外, NVMe SSD 更多地被用于分布式存储的 Server SAN HCI 超融合 场景。

注:塔式工作站上可选支持 NVMe SSD 并带有缓存的“硬” RAID 卡。

在服务器和塔式工作站上,我们前面提到过 Intel VROC Virtual RAID on CPU ,也属于一种软 RAID 吧)。其实 如果只是 RAID 0/1 ,操作系统自带的软 RAID ,如 Windows 带区卷、 Linux mdraid 的性能都不是问题 ,我在《 Optane SSD 900P 评测 (2) :比拼 4x 闪存 NVMe RAID0 》一文中也验证过。但带有奇偶检验的 RAID5/6 毕竟不同,传统人们印象中不带 Cache RAID 都会跑的比较慢,我早就想测试下 Intel VROC 的表现,一直拖到现在,争取在下篇中给大家分享。

由于个人背景经历,我习惯了在文中插入一些企业级存储相关的讨论。但本文毕竟是站在 PC 和工作站用户的角度。在 SATA HDD 时代,由于单盘性能孱弱,如果配上软 RAID 5 自然少有人使用。而今 NVMe SSD 在许多应用中有性能过剩的情况,这样 RAID 在可靠性和容量整合方面的价值 有时就会显得更重要,对于免费的 RAID 5 而言,如果能达到 合理够用的性能 ,是不是也是一种选择呢?

挂着 SATA 阵列标签的 PCIe SSD RAID

我以前用惯了在 Windows 系统中老的 Intel RST 管理界面,不过随着 Intel 这两年强推 16/32GB Optane Memory 缓存盘,目前到了 RST 17 版本之后,似乎只能统一在这个界面中进行 RAID 相关配置了。好在功能上还是换汤不换药,并且底层驱动也没什么改变。


在创建 RAID 5 时有个 “启用卷回写高速缓存” 的选项,不过是灰色的 不可选 ,估计是出于数据安全性考虑。

如果是用 Intel RST SATA RAID ,我记得在有的机型上可以打开 RAID 5 写缓存,虽然对性能帮助不小,但由于这个缓存是 DRAM 系统内存中,主机断电会丢一些数据的

如果创建 RAID 时选择了初始化,就会有一个百分比进度的显示。

我发现这个管理界面有个显示上的 bug ,那就是 PCIe SSD 做的 RAID 显示为“ SATA Array 。当然这并不影响我们接下来的测试,也许 Intel 并没有觉得 RST 桌面级 NVMe RAID 会有多少用户?但 RST RSTe/VROC 技术在实际上是复用代码的(后文中我还会举个例子)。

另外,我还注意到 RST RAID 启用了“数据磁盘高速缓存” ,也就是 SSD 本身的写缓存。传统 HDD 机械硬盘做 RAID 通常建议关闭这项以保证数据一致性,近几年有些硬盘还加入了 WCE 掉电保护技术。对于 企业级 SSD 都是有缓存保护的 ,所以打开这一项无需担心。 PC 和工作站上用的大多是消费 / 商用级 SSD (技术上也支持企业级 SSD ),断电可能会有少量未写入 NAND 闪存的数据丢失。不过对应到实际应用场景这不是大问题,因为即 使用 SSD 单盘系统中默认也是打开写缓存 的。

查看 RAID 中的单盘信息:测试中使用了 3 个东芝 512GB NVMe PCIe 3.0 x4 SSD

具体到卷(也就是 LUN )的设置,我们看到有个“修改高速缓存模式”的选项。

这里有回写“ write back ”、直写“ write through ”和只读“ read only 3 Cache 策略,其中提高写性能但对于“软” RAID 5 风险较大的 write back 被禁用。如果是测试 HDD RAID ,我会考虑选择另外 2 项来改善读,但 SSD 本身读性能已经够快 Cache 就没必要了

初步对比: NVMe SSD RAID 读性能接近翻倍



在看 RAID 测试性能之前,按照原则我们需要 先了解 NVMe SSD 单盘的性能 。上图为 Dell 对桌面级 SSD 的性能分级原则,其中 NVMe PCIe SSD 分为 Class 50 40 35 (后来加入)三个档次。 Class 50 级别最高,并且 能达到稳定的写性能而不会像 SLC Cache 产品那样“掉速” ,只在工作站机型上可选;本次测试我使用的是 Class40 ,其 350MB/s 写入带宽指的是 长时间压测时可以保证不低于该性能

本文测试的重点是 RAID 的效率,不会在意单个 SSD 盘本身,只是对比时要拿这个数值参考。

NVMe SSD Class 40 )单盘


写带宽 1060.3 MB/s 只是单盘的短时峰值性能哦。

上面显示 477GiB D 盘,就是不做 RAID 时的单个 512GB NVMe SSD 。虽然我觉得 CrystalDiskMark 测试 RAID 性能不是太靠谱,但用于简单易用在 DIY 圈子里比较流行,我觉得它的 Seq 顺序读写带宽测试值还是可以参考的。

由于默认的 测试文件只有 1GiB 1060.3 MB/s 的写带宽明显“虚高” ,显然这款 SSD 的“ SLC Cache ”还没有击穿。同样的道理,这部分的 4KB 测试数值我也不会太在意,后面的 Iometer 测试才是我的重点

NVMe SSD Class 40 RAID 5



3 NVMe SSD RAID 5 之后,顺序读带宽上升到 3156 MB/s ,接近单盘的 2 倍了。

由于 RST 是不带写缓存的软 RAID 根据 RAID 5 技术的写惩罚原理,每个改写 I/O 操作都会触发对物理盘的 2 次写和 2 次读 I/O ,如果用 3 块盘的性能除以 4 653.4 MB/s 对比前面一张图来看还是合理的?

RAID 5 本来就适合读多写少的应用,参考资料:《浅谈 RAID 写惩罚( Write Penalty )与 IOPS 计算》

https://community.emc.com/docs/DOC-26624

NVMe SSD Class 40 RAID 0


这里的 2287.9 MB/s 同样不代表稳态写入带宽

我还用 RAID 0 做了下对比,读带宽没有在 RAID 5 基础上进一步提升,不知是不是开始受到 DMI3.0 理论 4GB/s 的影响了。 写带宽还不错 ,虽然没有达到单盘峰值的 3 倍,但也有 2 倍多。考虑到 NAND 闪存 GC (垃圾回收)等后台处理的影响, SSD RAID 组中的协同一致性有时没有 HDD 那么好

Iometer 测试: SSD 写惩罚与性能计算的修正

我最喜欢的块设备性能测试软件, Linux 下是 fio Windows 下就是 Iometer



Iometer 测试中,本次我每个单项的运行时间都是 1 分钟——同样并没有想把 SSD 特别压到稳态写性能,因为我重点是测 RAID 。不过上面图表已经可以看到 Class 40 NVMe SSD 单盘的写带宽降到了 493MB/s 3 SSD RAID 5 则达到 854MB/s 反而更高?我觉得这里的关键是: SSD 的读性能比写高不少,不适合直接用以前 HDD RAID 写惩罚的计算公式 —— RAID 5 用单盘写带宽乘以 3/4 反而有问题。

扩展阅读:《 存储极客: SPC-1 负载分析与 AFA 寿命评估

至于读带宽,与前面的 CrystalDiskMark 部分接近,就不再重复讨论。下面看随机 IOPS 测试:


在一些消费级用户眼中随机 IOPS 可能没有 MB/s 那样直观好理解,但 SSD 在这方面相对于传统硬盘的优势比顺序读写更大,也是每个人最终体验到操作系统、应用打开 / 关闭等速度大为提高的关键所在。当然,对于 高并发 / 队列深度小 I/O 的性能更多是在企业存储领域有意义 ,这部分测试也是为了衡量 RST RAID 的一个参考。

首先,我们测试的这款 M.2 NVMe SSD 单盘,在 128 并发 / 队列深度下基本达到超过 27 万的最高随机读 IOPS 3 SSD RAID 5 之后,队列深度太低时显不出优势,然后往右逐渐拉开差距, 32 并发 / 队列深度时相对单盘的优势最大。 RAID 5 的最高读 IOPS 可达 44 ,没有达到理论值单盘 3 倍的水平。

我们可以说免费的 RST RAID 不能充分发挥 NVMe SSD 的性能,不过考虑到上一代服务器的 RAID 卡用 12 SAS SSD RAID 5 也只有不到 60 万读 IOPS 的水平(参见:《 存储极客:服务器 SSD RAID 性能速查手册 》),是不是觉得平衡一些了?


上图是随机写测试,由于 SSD 上写 Cache 的作用,在并发 / 队列深度 1 2 时单盘的 IOPS 明显比随机读要高,而在队列深度达到 4 之后就基本达到 7 万多的峰值。我在测试之前并没有特别对 SSD 做完全擦除以恢复其性能,所以这个数字距离 Class 40 标称的 8 万随机写 IOPS 低了一点。

3 NVMe SSD RAID 5 的随机写 IOPS ,并发 / 队列深度达到 64 时测得最高值 54379 ,这个基本在我的意料之中,除了前面提到的写惩罚原理, 没有 RAID 缓存受影响最大的就是随机写 。只要是传统 RAID 5 技术,随机写大多是这样的情况( RAID 6 写惩罚更大),除非是 WAFL 类文件系统和那些 专为 SSD 改进了算法的阵列,采用不覆盖改写 的技术(如 Dell EMC XtremIO XDP )才能有突破。

扩展阅读:《 回顾 XtremIO 全闪存阵列软硬件架构设计

测试平台简介、 VROC 测试预览

上面这款 17 英寸屏幕的笔记本,就是我测试 RST RAID Precision 7740 移动工作站。需要说明的是, Dell 官方资料中似乎没有明确写支持 NVMe SSD RAID ,但既然具备 Intel RST 选项(应该还预留有 Optane Memory 的支持), Intel 的驱动 / 管理程序中又不太好做限制,所以有条件的用户不妨考虑尝试一下:)



我手头这台 7740 配置的是 Intel i7-9750H 6 CPU 9 Core/Xeon 移动处理器最高可以支持到 8 核。经专业用户测试,上一代 6 核的 Precision 7730 移动工作站已经可以支持到 2 4K 超高清视频编辑 (主要受限于 CPU ),那么 7740 预计应有更好的表现。



高端移动工作站的显卡也是模块化可选的, 7740 支持列表中把包括最新的 NVIDIA Quadro RTX 4000 5000 等带有光线追踪技术的专业显卡,这一台配的是 AMD Radeon Pro WX7130 。我有好久没专门做过图形工作站显卡的对比测试了,感兴趣的朋友请在文章下面留言,如有时间我可以考虑安排。

Intel VROC NVMe SSD RAID5



当然在移动工作站上是无法测试 VROC 的,需要使用 Xeon SP 或者 Xeon W 平台,上图是我在 Precision 7820 上简单先试了一把。还是用同样 3 NVMe SSD 做的 RAID 5 ,可是 顺序读带宽(接近单盘 3 倍了) 似乎有些超标?

看来还有必要进一步深入测试,如知道上面问题答案的朋友也可以在留言中先告诉我。

又写的有些长,未完待续,敬请继续关注


:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流 技术 可以 加我的 QQ/ 微信: 490834312 。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)


尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号: HL_Storage

长按二维码可直接识别关注


历史文章汇总 http://chuansong.me/account/huangliang_storage

点击下方“阅读原文”,查看更多历史文章
↓↓↓






请到「今天看啥」查看全文