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

10gb,存储,方案设计,测试,pcie,还是,ssd,raid · 浏览次数 : 0

小编点评

**企业存储技术** **性能分析** * 顺序写:最高10GB/s * 顺序读:最高2200MB/s * 随机读:最高6000MB/s **扩展阅读** * 《企业存储技术》文章分类索引(微信公众号专辑) * 历史文章汇总:http://www.toutiao.com/c/user/5821930387/http://www.zhihu.com/column/huangl **性能提升方法** * 优化顺序写写带宽 * 优化顺序读写带宽 * 优化随机读写带宽 **工作站推荐** * Precision 5820 * 7820 * 7920 **其他** * 支持企业级SSD * 可扩展性

正文

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

 

 

历史文章汇总:

与[转帖]10GB/s 存储方案设计测试:用PCIe 5.0单盘还是SSD RAID?相似的内容:

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

https://zhuanlan.zhihu.com/p/558884542 - 测试平台介绍 - M.2 NVMe SSD散热方案浅析 - Intel RST RAID的Write Back写缓存适用于SSD吗? - RAID 0、10读写带宽线性提升 - 选择软RAID还是硬RAID? - SL

[转帖]谈谈ClickHouse性能情况以及相关优化

https://zhuanlan.zhihu.com/p/349105024 ClickHouse性能情况 主要分为4个方面 1、单个查询吞吐量 场景一: 如果数据被放置在page cache中,则一个不太复杂的查询在单个服务器上大约能够以2-10GB/s(未压缩)的速度进行处理(对于简单的查询,速

[转帖]TiKV集群搭建

https://www.cnblogs.com/luohaixian/p/15227788.html 1.准备环境 准备4台ubuntu 16.04虚拟机 部署规划: 节点类型 CPU 内存 存储 部署数量 所在节点IP TiKV 8 core 8 GB 200GB 3 10.10.10.2 10.

[转帖]Centos 7.6 安装部署 openGauss 3.1.0 企业版一主两备集群

https://www.cnblogs.com/dbajacky/p/16904017.html 一、安装环境设置 1.1 硬件环境 名称最低配置建议配置测试配置 服务器数量 3 略 略 硬盘 * 至少1GB用于安装openGauss的应用程序。* 每个主机需大约300MB用于元数据存储。* 预留7

[转帖]Centos 7 部署 openGauss 3.1.0 级联备库集群及集群缩容删除节点-运维指南

https://www.yisu.com/zixun/kf/ 一、安装环境设置 1.1 硬件环境 名称最低配置建议配置测试配置 服务器数量 3 略 略 硬盘 * 至少1GB用于安装openGauss的应用程序。* 每个主机需大约300MB用于元数据存储。* 预留70%以上的磁盘剩余空间用于数据存储。

[转帖]Centos 7.6 安装部署 openGauss 3.1.0 企业版一主两备集群

https://www.cnblogs.com/dbajacky/p/16904017.html 一、安装环境设置 1.1 硬件环境 名称最低配置建议配置测试配置 服务器数量 3 略 略 硬盘 * 至少1GB用于安装openGauss的应用程序。* 每个主机需大约300MB用于元数据存储。* 预留7

[转帖]10 张图搞懂服务注册发现机制

http://blog.itpub.net/70024420/viewspace-2926779/ 在微服务架构或分布式环境下,服务注册与发现技术不可或缺,这也是程序员进阶之路必须要掌握的核心技术之一,本文通过图解的方式带领大家轻轻松松掌握。 引入服务注册与发现组件的原因 先来看一个问题,假如现在我

[转帖]10+倍性能提升全过程

https://plantegg.github.io/2018/01/23/10+%E5%80%8D%E6%80%A7%E8%83%BD%E6%8F%90%E5%8D%87%E5%85%A8%E8%BF%87%E7%A8%8B/ 背景说明 2016年的双11在淘宝上买买买的时候,天猫和优酷土豆一起做

[转帖]10--k8s之数据持久化

https://www.cnblogs.com/caodan01/p/15136217.html 目录 一、emptDir 二、hostPath 三、pv 和 pvc 1.环境准备 2.创建pv 3.创建pvc 4.使用 5.综合案例 一、emptDir emptyDir类型的volume在pod分

【转帖】10个Linux 系统性能监控命令行工具

引言: 系统一旦跑起来,我们就希望它能够稳定运行,不要宕机,不出现速度变慢。因此,对于Linux 系统管理员来说每天监控和调试 Linux 系统的性能问题是一项繁重却又重要的工作。监控和保持系统启动并运行是很不容易的一件事。 下面是小编总结的十个实用的 Linux 系统监控命令,让你轻松保持系统的实