https://zhuanlan.zhihu.com/p/558884542
- 测试平台介绍
- 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仍然有限,但已经基本不影响测试结论了。
首先从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,所以换了一种方法测试——平台搭建方式见下图:
我使用的测试机就是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。
如上表,我只是初步估算了一下SSD的理论接口带宽,从单盘到多盘RAID 0。一方面SSD实际跑不到这么高,所以下文中的测试数据肯定会低一些。另外,RAID 5和RAID 10的性能我也会测的,但本文的重点还是看RAID 0最大带宽。
上面照片中是我手头的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部分评估也没有做长时间压测,因此可以暂时忽略散热影响。但实际应用中还是要考虑这方面的。
在许多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单盘性能摸底:
上面是PCIe 4.0的Micron 3400 512G,下面是PCIe 3.0的PM981a 256G
Intel RST RAID的Write Back写缓存适用于SSD吗?
在Dell主机启动的F12 UEFI引导菜单中,可以用Intel RST对SSD配置RAID。本次为了尽可能用更多的NVMe SSD,我“不太正式”地接上另一块SATA SSD作为系统盘。
上图是在Windows系统中运行Intel Optane Memory and Storage Management(傲腾不是要停了嘛),相当于集成RAID的管理软件。
Dell 3660工作站与3年前那个测试平台还有一点变化:RST RAID的易失卷高速缓存允许配置为“回写(write back)”。这种情况下需要先强制关闭 “写入高速缓存缓冲区刷新”——相当于用系统内存充当传统硬件RAID卡的Cache缓存,并且不带BBU电池保护要承担掉电数据丢失的风险。
对于这个write back的性能我也测了,还不如关闭缓存速度快。由于SSD本身性能较高,Intel RST这样基于固件和驱动实现的“软”RAID,其缓存算法反而成为拖累。估计要是HDD机械硬盘RAID,write back会提升性能的。
RAID 0、10读写带宽线性提升
上面图表算是本文的重点吧。首先看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性能摸底测试我仍在使用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够快吗?
上面图表中,峰值性能都是在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,其曲线如下图:
作为较强的一款消费级SSD,WD SN850也无法保证写带宽一直稳定在2GB/s以上。我曾经看到最新的PCIe 5.0 SSD单盘峰值读写都能跑到10GB/s,但别忘了这也不是稳态,而且其功耗/发热应该比9.0W的SN850要更高。
何时要用企业级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选项,但工作站的开放兼容、定制能力一直是比服务器要好的。
扩展阅读:《企业存储技术》文章分类索引(微信公众号专辑)》
注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage