本文内容非商业用途可无需授权转载,请务必注明作者及本微信公众号、微博 @唐僧_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