23

企业存储技术 · 2022年08月30日 · 北京市

10GB/s 存储方案设计测试:用PCIe 5.0单盘还是SSD RAID?

目录

  • 测试平台介绍
  • M.2 NVMe SSD散热方案浅析
  • Intel RST RAID的Write Back写缓存适用于SSD吗?
  • RAID 0、10读写带宽线性提升
  • 选择软RAID还是硬RAID?
  • SLC Cache如何担保性能?PCIe 5.0够快吗?
  • 何时要用企业级SSD?

几个月前,曾有同事咨询我一位客户提出的需求——磁盘(SSD)性能要达到10GB/s,虽然没特别强调成本,但也问我在Intel单路工作站平台(Dell Precision 3000级别)上能否实现。

这个问题似乎可简单可复杂?严谨一些讨论,我试着列出以下几个关注点:

-10GB/s是指SSD峰值带宽,还是能一直持续的稳态I/O?
-顺序读I/O能达到10GB/s即可,还是顺序写也要达标?
-用哪种RAID技术合适,软RAID还是硬RAID?
-SSD的散热要不要考虑?
-SSD的写寿命能否达标?

要是把上面几点全都详细讲清楚,本文的篇幅显然不够。所以有些方面我会试着先起一个头,留待后续有时间再研究测试;或者说抛砖引玉吧,欢迎大家展开进一步讨论。

测试平台介绍:12代Core可当大任?

在写了《以“小”见大:从Precision 3660看工作站技术发展趋势》之后,就有朋友留言对12代Core平台的Intel RST SSD RAID性能感兴趣。我在前一段抽空做了点测试,然而被2周前的一点私事打乱了节奏,直到今天才整理好分享给大家。

本文也可以看作是3年前《NVMe SSD RAID的几种玩法和测试(上)》的续篇。当初由于9代Core移动平台DMI 3.0 x4的带宽限制、以及使用的SSD比较老,所以能够验证的东西有限。虽然这次我手头的高速SSD仍然有限,但已经基本不影响测试结论了。

image.png

首先从Intel 12代CPU+W680芯片组的架构来看,CPU直连的PCIe通道除了显卡的Gen5 x16之外,还有Gen4 x4;CPU与PCH之间是x8 DMI 4.0通道。这样在理想情况下,配置3个足够快的PCIe 4.0 NVMe SSD,接口带宽就可以接近7.875 x 3=23.625 GB/s的水平。

然而我手头没有3块如此高速的SSD,所以换了一种方法测试——平台搭建方式见下图:

image.png

我使用的测试机就是Dell Precision 3660 Tower工作站,本身带了一块M.2 2280尺寸的Micron 3400 PCIe 4.0 x4 NVMe SSD。虽然它的性能还不错,但大家也知道,组成RAID磁盘阵列后,每块SSD都要协同到最慢一块的性能水平(所以强烈建议用同型号驱动器做RAID)。我手头数量最多的就是4个三星PCIe 3.0 x4接口的PM981a,一共5个SSD,有3个安装在板载M.2槽位,另外2个用了PCIe转接卡,如上图。

注:Dell 3660工作站可能只支持出厂选配至4个NVMe SSD,但这并不影响后期DIY。

image.png

如上表,我只是初步估算了一下SSD的理论接口带宽,从单盘到多盘RAID 0。一方面SSD实际跑不到这么高,所以下文中的测试数据肯定会低一些。另外,RAID 5和RAID 10的性能我也会测的,但本文的重点还是看RAID 0最大带宽。

image.png

上面照片中是我手头的3块PCIe to M.2 SSD转接卡(有2片是在网上买的),其中PCIe x8一转二、PCIe x16一转四需要对应主板插槽支持lane信道拆分——比如Dell 5820/7820/7920系列工作站。本次测试我就用的右下方那张卡,加上余下任意一张。上方带有风扇的卡,就是在《_PCIe 4.0 SSD测试:接口、散热和CPU对性能的影响_》中给大家介绍过的Dell Precision Ultra-Speed Drive Quad。

M.2 NVMe SSD散热方案浅析

由于本次测试使用的SSD,都不算像WD SN850那样高功耗等级的,另外在RAID部分评估也没有做长时间压测,因此可以暂时忽略散热影响。但实际应用中还是要考虑这方面的。

image.png

在许多Dell出厂配置的SSD下面,我都看到过类似的导热垫,它能够把固态盘的发热重点——主控的一部分热量传导到主板上。虽然这个导热垫厚了一点,但我想这个肯定是在研发环节经过验证有效的。

下方导热垫 ≈上方散热铜片 <带鳍片的散热片 ≈风扇 <散热片+风扇

上面我试着根据自己的经验,粗略总结个M.2 SSD的散热辅助效果对比。在Dell笔记本里我见到覆盖在SSD上方的散热铜片多一些,因为比台式机空间狭小环境温度相对较高,如果用导热垫传到主板上效果未必很好。

去年初的SN850 SSD测试中,我曾经写过“…3000MB/s以上的读I/O压测,未经优化时SN850已经自我报告接近80℃”。该款SSD的PS 0最大功耗高达9.0W,在当时测试的Dell 5820工作站中,我的优化建议是在“BIOS中调高对应HDDZone区域的风扇转速,比如+30偏移量。如果不是前置热插拔SSD还有另一种散热解决方案——带风扇的Ultra-Speed Drive PCIe转接卡”。

SSD散热的问题先讨论到这里,不同机型会有对应的解决方案。下面看看SSD单盘性能摸底:

image.png

Intel RST RAID的Write Back写缓存适用于SSD吗?

image.png

在Dell主机启动的F12 UEFI引导菜单中,可以用Intel RST对SSD配置RAID。本次为了尽可能用更多的NVMe SSD,我“不太正式”地接上另一块SATA SSD作为系统盘。

image.png

上图是在Windows系统中运行Intel Optane Memory and Storage Management(傲腾不是要停了嘛),相当于集成RAID的管理软件。

image.png

Dell 3660工作站与3年前那个测试平台还有一点变化:RST RAID的易失卷高速缓存允许配置为“回写(write back)”。这种情况下需要先强制关闭“写入高速缓存缓冲区刷新”——相当于用系统内存充当传统硬件RAID卡的Cache缓存,并且不带BBU电池保护要承担掉电数据丢失的风险。

对于这个write back的性能我也测了,还不如关闭缓存速度快。由于SSD本身性能较高,Intel RST这样基于固件和驱动实现的“软”RAID,其缓存算法反而成为拖累。估计要是HDD机械硬盘RAID,write back会提升性能的。

RAID 0、10读写带宽线性提升

image.png

上面图表算是本文的重点吧。首先看RAID 0的顺序读写带宽,基本达到了随SSD数量线性增长,当5块SSD做RAID 0时,最高读/写性能分别达到16719MB/s和11037MB/s,在某种程度上可以满足本文开头提到的用户需求。

再看4块SSD做RAID 10,其顺序写4663MB/s大致相当于4块盘RAID 0的一半,顺序读介于2-4块RAID 0之间。这些都正常合理,2块盘的RAID 1我懒得测了。

image.png

没错,RAID性能摸底测试我仍在使用CrystalDiskMark这个简单的工具,其实它的测试引擎用的DiskSpd——由微软官方提供,在Windows下也算靠谱了。(在5年前的《4节点近160万IOPS:SDS/超融合测试不能只看数字》系列评测中,我们也曾使用DiskSpd工具)

CrystalDiskMark之所以让消费级SSD跑分好看,主要是因为它先写入一个不大的文件(默认1GB),然后在这个文件范围内测试。所以许多时候我们看到的都是SLC Cache缓存区的性能。这一点稍后我会介绍用Iometer的复核测试,下面先把RAID部分讨论完,RAID 5的性能还没讲呢。

选择软RAID还是硬RAID?

IntelRST RAID 5的性能仅作为一个参考,不是说我觉得数字不好看,而是它的实用价值/用户接受度可能不是太高。我看到从3-5块SSD其顺序读还有提高,但顺序写反而随着盘的数量增加而下降了。

正如Intel在文档中所写,RST、RSTe/VROC在Windows和Linux中的性能表现完全是两回事。Linux系统Intel没有驱动只是用mdraid工具,而Windows则是依赖操作系统的卷管理器——比如RST RAID 0性能几乎与久经考验的“带区卷”软RAID如出一辙。

在冗余保护方面,软RAID与独立硬件RAID的健壮性不可同日而语,比如我曾在RSTe RAID1上遇到过一个问题:当在Windows开机状态直接拔电源(非正常断电),重启后就会自动重新同步镜像以确保数据完整性。

不过如今主要用于服务器的RAID卡也有一点不足,我在《350万IOPS:NVMe SSD RAID卡性能测试解析》中曾经提到过:RAID 10顺序写H755N NVMe SSD RAID测得5,908 MB/s,其RAID 5/6顺序写带宽应该低于5000MB/s——看上去比RST RAID强不少了,但与使用GPU加速的GRAID(顺序写都在20多GB/s)就无法相比了。当然,GRAID严格说也算一种软RAID技术。

SLC Cache如何担保性能?PCIe 5.0够快吗?

image.png

上面图表中,峰值性能都是在PM981a的SLC Cache区域测得的;而满盘性能则是用Iometer先把整个256GB都填满,然后再在上面测试。

可以看出,满盘后PM981a不仅顺序写带宽降到440MB/s,顺序读也只有2200MB/s了(关于三星SSD的SLC Cache,如果我写的不对请读者朋友指正)。随机读IOPS峰值很好看,但满盘后读变回14万,随机写IOPS只有6000左右。

在用5块PM981a做的RAID 0满盘情况下,顺序读仍能达到10GB/s。关于顺序写,我以前测过最快的M.2 SSD SN850,其曲线如下图:

image.png

作为较强的一款消费级SSD,WDSN850也无法保证写带宽一直稳定在2GB/s以上。我曾经看到最新的PCIe 5.0 SSD单盘峰值读写都能跑到10GB/s,但别忘了这也不是稳态,而且其功耗/发热应该比9.0W的SN850要更高。

image.png

何时要用企业级SSD?

如果用户真有10GB/s连续写盘的需求,还是建议用企业级SSD。一方面性能可以保持稳态,同时这样大带宽地写久了消费级SSD寿命也撑不住。

由于企业级SSD多为2.5英寸U.2驱动器或者PCIe AIC卡,如果是工作站用户就不太推荐Dell 3660这一级别的机型了。可以考虑Precision 5820、7820、7920这些,虽然当前仍被Intel Xeon更新问题拖累在PCIe 3.0,但不影响每块SSD跑到3GB/s以上。机箱大加上BIOS里分区域、按百分比的风扇加速调节;可选前置U.2盘位加上内置更多的PCIe插槽。

提醒注意的是,工作站的标准配置中可能没有企业级SSD选项,但工作站的开放兼容、定制能力一直是比服务器要好的。

扩展阅读:《企业存储技术》文章分类索引(微信公众号专辑

:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。

作者: 唐僧 huangliang
原文:企业存储技术

推荐阅读

欢迎关注企业存储技术极术专栏, 欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
5552
内容数
235
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息