目录

- 测试平台介绍

- 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仍然有限,但已经基本不影响测试结论了。

raid 6和raid10比较(10GBs存储方案设计测试)(1)

首先从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,所以换了一种方法测试——平台搭建方式见下图:

raid 6和raid10比较(10GBs存储方案设计测试)(2)

我使用的测试机就是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。

raid 6和raid10比较(10GBs存储方案设计测试)(3)

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

raid 6和raid10比较(10GBs存储方案设计测试)(4)

上面照片中是我手头的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部分评估也没有做长时间压测,因此可以暂时忽略散热影响。但实际应用中还是要考虑这方面的。

raid 6和raid10比较(10GBs存储方案设计测试)(5)

在许多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单盘性能摸底:

raid 6和raid10比较(10GBs存储方案设计测试)(6)

上面是PCIe 4.0的Micron 3400 512G,下面是PCIe 3.0的PM981a 256G

raid 6和raid10比较(10GBs存储方案设计测试)(7)

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

raid 6和raid10比较(10GBs存储方案设计测试)(8)

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

raid 6和raid10比较(10GBs存储方案设计测试)(9)

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

raid 6和raid10比较(10GBs存储方案设计测试)(10)

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

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

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

raid 6和raid10比较(10GBs存储方案设计测试)(11)

上面图表算是本文的重点吧。首先看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我懒得测了。

raid 6和raid10比较(10GBs存储方案设计测试)(12)

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

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

选择软RAID还是硬RAID?

Intel RST 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够快吗?

raid 6和raid10比较(10GBs存储方案设计测试)(13)

上面图表中,峰值性能都是在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,其曲线如下图:

raid 6和raid10比较(10GBs存储方案设计测试)(14)

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

raid 6和raid10比较(10GBs存储方案设计测试)(15)

何时要用企业级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选项,但工作站的开放兼容、定制能力一直是比服务器要好的。

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

尊重知识,转载时请保留全文。感谢您的阅读和支持!

,