文章目录
- 前言
- 1. 固态硬盘与机械硬盘的区别
- 2. 固态硬盘的两种常见分类
- 3. NVMe 和 PCIe 分别是个啥
- 4. NVMe SSD 常见品牌
- 5. NVMe SSD 为什么速度快
- 6. PCIe 的传输速度如何计算
- 7. NVMe SSD 基本概念
- 8. NVMe SSD 的常用工具介绍
- 9. NVMe SSD 健康状态检查
- 总结
前言
之前由于工作的关系,经常会对一些不同类型的存储介质进行性能压测,现在工作方向有了改变,想把之前的一些笔记稍作整理发布成博客,和大家一起学习和交流。文章内容如果不妥之处,欢迎大家指正!
1. 固态硬盘与机械硬盘的区别
废话少说,能用图说明问题我就不哔哔了,先放一张从百度上拉下来的图,可以直观感受下固态硬盘(SSD)和机械硬盘(HDD)的区别。
在我看来其实就两点主要区别,一个是二者的存储实现方式,另外一个是性能差异。计算机底层数据流归根结底就是 0 和 1 代码,而电荷的正负或者高电平、低电平恰好能与之对应;同样磁场的南极与北极也正好可以与之对应。机械磁盘利用的就是电磁原理,通过磁极方向的改变对应数据流的改变,只不过为了能够存储较多的数据以及考虑到快速寻址,我们叠加了多个盘片形成盘柱,并且还做了扇区的划分,通过机械臂带动磁头向磁道上写入或读取数据。这样我们就能很好理解为什么机械硬盘性能没有固态硬盘好,因为它是通过机械运动去寻址的,也正是因为机械运动方式,所以机械硬盘的抗震性相对固态硬盘来说比较差,在高转速时会有一定的声音。
而固态硬盘是电气原理,通过向存储单元晶体管的栅中注入不同数量的电子来改变栅的导电性能,从而改变晶体管的导通效果,实现对不同状态的记录和识别,从而实现对数据的写入与读取;我们会在文章后面提到闪存颗粒,它就是大量浮栅晶体管的阵列。但这种方式存在它的缺点,因为每次写入对电器元件都会有一定“磨损”,一般我们会用 PE 擦写次数来描述这种特性。正是因为存在这种特性,所以闪存颗粒的 PE 擦写次数是有限的,这也是为什么大家普遍认为固态硬盘寿命短的问题。
至于性能差异就不做过多说明了,机械盘无论是从吞吐还是 IOPS 以及 I/O 延时都无法和固态盘相比,我们可以通过 FIO 工具模拟对 HDD、SATA SSD 以及 NVMe SSD 进行性能测试,NVMe SSD 绝对是吊打前面两者,当然这个与协议有一定的关系,即使如此,SATA SSD 性能也要比 SAS HDD 好上不少。
随着固态硬盘的发展,容量和寿命也不再是它的弊端,市面上也可以看到很多大容量的固态盘;至于寿命,固态硬盘的 OP 空间以及内部的算法,已经在很大程度上缓解了因为 PE 擦写次数有限导致的寿命短问题,应该没有谁能把盘用到寿命耗尽吧 ~~ 更多时候我觉得寿命就是个说法,个人正常不都是用坏了就换嘛,至于企业,一般都会定期更换即将过保的硬件配件,甚至直接迭代硬件产品,淘汰下来的硬件即使利旧也是丢给测试环境用了。
不过相对来说,固态硬盘的价格确实比较高,但是也有比较便宜的 QLC 类型固态盘,现在好像又出了更便宜的 PLC 类型固态盘,据说想要取代机械盘,哈哈,没用过,所以具体不了解。
2. 固态硬盘的两种常见分类
日常我们所见到的固态硬盘主要可以从接口类型以及闪存颗粒两个视角进行分类。
按照接口类型划分:
特别说明: 理论值仅代表理想环境下的数据,实际传输过程中会因为别的传输损耗,导致实际传输速度要低于理论值。
- SATA 3.0 接口
- 接口带宽可达 6Gbps,理论上传输速度可达 750MB/s;
- 是目前最常用的固态硬盘接口类型。
- mSATA (mini-SATA)接口
- 接口带宽可达 6Gbps,理论上传输速度可达 750MB/s;
- 常见于轻薄笔记本。
- M.2 接口
- 接口带宽由于 key 不同也会不一样,最高可达 32Gbps,理论上传输速度最高可达 4GB/s;
- 部分服务器会以 M.2 接口的 SSD 设备作为系统盘。
- U.2 接口
- 接口带宽可达 32Gbps,理论上传输速度可达 4GB/s;
- 部分服务器前面板支持 U.2 接口的 NVMe SSD 设备。
- PCI-E 接口
- PCIe 3.0 单条 Lane 的带宽可达 7.877Gbps,传输速度可达 984.6 MB/s;
- 常见于 NVMe SSD 直接插在服务器主板或者 Riser 卡的 PCIe 槽位上。
按照闪存颗粒划分:
- SLC(Single-Level Cell)
- 1 个单元存放 1bit 信息;
- 其特点是速度快、寿命长、价格贵;
- 直观感受就是容量小且贵。
- MLC(Multi-Level Cell)
- 1 个单元存放 2bit 信息;
- 其特点是速度一般、寿命一般、价格一般。
- TLC(Trinary-Level Cell)
- 1 个单元存放 3bit 信息;
- 其特点是速度慢、寿命短、价格便宜。
- QLC(Quad-Level Cell)
- 1 个单元存放 4bit 信息;
- 其特点是速度更慢、寿命更短、价格更便宜;
- 直观感受就是容量大且便宜。
3. NVMe 和 PCIe 分别是个啥
NVMe(Non-Volatile Memory express),是非易失性内存主机控制器接口规范
的简称,它是一种协议,能够使固态硬盘(SSD)运行得更快。
NVM Express 是由 100 多个组织组成的联盟,致力于开发更快的协议以提高非易失性存储的性能。该组织由 13 家公司组成的董事会领导,其中包括 Cavium、Cisco、Dell EMC、Facebook、Intel、Micron、Microsemi、Microsoft、NetApp、SAMSUNG、Seagate、TOSHIBA 和 Western Digital。
PCI-Express(Peripheral Component Interconnect Express)是一种高速串行计算机扩展总线标准。正常我们所理解的 PCIe 更多指的是服务器主板上或者 Riser 卡上标记的 x4 或 x8 等标识的物理槽位。PCIe 的连线是由不同的 lane 来连接的,lane 我们可以简单理解成为就是通道(一般来说 x86 架构下,一颗 xeon CPU 会提供 48 个 lane),这些 lane 可以通过合在一起来提供更高的带宽;如前面提到的 x4,就是指由四个 lane 提供的通道。
简而言之,我们可以理解为当一块 NVMe SSD 设备插入服务器时,可以通过一个 PCIe 插槽去连接它并被操作系统所识别。
4. NVMe SSD 常见品牌
现在市面上的 NVMe SSD 也比较多,常见的有 Intel、WD、Seagate、DERA(紫光得瑞)、Memblaze(忆恒创源)等等。
INTEL SSD DC P4510 产品展示:
WD DC SN630 产品展示:
DERA D5427 产品展示:
5. NVMe SSD 为什么速度快
众所周知,SSD 的性能比 HDD 要好,这是因为 SSD 使用的是电气原理,而 HDD 使用的是机械寻址;那同样是 SSD,为什么 NVMe SSD 的性能要比 SATA SSD 好很多?NVMe SSD 全闪架构配合当下主流的 RDMA 技术,那性能简直是飞起 ~~~~
事实上,数据从存储传输到服务器主机时,它们都会有自己的 I/O 队列。传统的 SATA 只能支持一个队列,且每个队列仅有 32 条数据条目,而 NVMe 存储最多能支持 64000 个队列,并且每个队列有 64000 个数据条目;所以,NVMe SSD 在很大程度上实现了并行性,极大地提高了吞吐量。
另外,NVMe SSD 直接越过传统的 RAID 卡阵列,通过 PCIe 总线直接与 CPU 进行数据交互,这种方式消除了 SATA 的一些必要步骤,提高了整体性能。
6. PCIe 的传输速度如何计算
不同版本 PCIe 接口吞吐量一览表:
PCIe 版本 | 编码方式 | 传输速率 | x1 吞吐量 | x4 吞吐量 | x8 吞吐量 | x16 吞吐量 |
---|---|---|---|---|---|---|
1.0 | 8b/10b | 2.5 GT/s | 250 MB/s | 1 GB/s | 2 GB/s | 4 GB/s |
2.0 | 8b/10b | 5 GT/s | 500 MB/s | 2 GB/s | 4 GB/s | 8 GB/s |
3.0 | 128b/130b | 8 GT/s | 984.6 MB/s | 3.938 GB/s | 7.877 GB/s | 15.754 GB/s |
4.0 | 128b/130b | 16 GT/s | 1.969 GB/s | 7.877 GB/s | 15.754 GB/s | 31.508 GB/s |
5.0 | 128b/130b | 32 or 25 GT/s | 3.9 or 3.08 GB/s | 15.8 or 12.3 GB/s | 31.5 or 24.6 GB/s | 63 or 49.2 GB/s |
以 PCIe 3.0 为例演示计算(
吞吐量
=编码方式
*传输速率
/8
):
首先,我们需要明确一个技术名词“编码方式”。数据在传输过程中的效率并不是 100% 的,在这个过程中会有额外的传输损耗,即开销;刨去开销剩下的才是正常意义上的有效传输数据。因此,不同的编码方式,将会产生不同的传输效率。
其次,还需要明确一个技术名词“传输速率”。传输速率在我的理解里面有点类似于频率,只不过传输速率的单位是 GT/s(Giga Transation per Second),即“千兆传输/每秒”,通俗理解就是每秒钟传输多少次。我们习惯性用 Gbps 或者 GB/s 这样的单位去描述接口带宽或者说传输速度,因此,在理解上可能会有一些弯弯绕绕的。实际上,GT/s 与 Gbps 或者 GB/s 之间并没有对应的关系
。
接下来我们来进行计算:
PCIe 3.0 采用的是 “128b/130b” 的编码方式,传输速率为“8 GT/s”。即可以理解为一次可以传输 130 bit 数据,但其中有 2 bit 数据属于传输开销;而单个 Lane 可以支持传输 8G 个 bit 数据,结合编码方式不难得出其带宽为:(128b/130b) * 8 GT/s,约等于 7.877 Gbps;所以单个 Lane 的吞吐量应为:7.877 Gbps / 8 约等于 984.6 MB/s。
由于现在较多的服务器使用的还是 3.0 版本的 PCIe,为了便于记忆,一般 xN 就意味着吞吐是 N GB/s,譬如 PCIe 3.0 x16 的吞吐量就约等于 16 GB/s。
7. NVMe SSD 基本概念
SSD 主要有主控、闪存和固件算法(FTL)三个组件构成,其中最重要的组件是 NAND 闪存。NAND 闪存负责数据存储,主控和固件算法协同完成数据存储管理、SSD 性能维护和寿命维护。
SSD 主控通过若干个通道(channel)并行操作多块 NAND Flash,当主机向 SSD 中写入数据时,就可以实现并行写入,提高吞吐。
由于 SSD 的构成涉及很多部分,所以一些组件出现问题都有可能导致磁盘故障;同理,SSD 在数据通路过程中出现异常,也会导致磁盘故障。而这些故障的类型我们也可以通过一些工具进行判别或者做到提前预测,这些将在后面进行介绍。
由于本人水平有限,尚不能对 SSD 进行更深层次的剖析,因此本文只对如下三个基本概念进行介绍:
Namespace
命名空间(Namespace)是 NVMe 协议中一个基本的逻辑空间的概念,简单地说命名空间将 NVMe SSD 的用户空间进行逻辑划分,每个命名空间拥有自身的 NAND 颗粒,可以独立的进行格式化和加密等操作。
OP
OP(Over-provisioning)一般被称为预留空间, 它是指 SSD 保留一部分闪存空间留作他用,这部分空间用户不可操作,容量大小一般是由主控决定的,当然也可以通过命令进行修改,但一般不建议做修改。
OP 空间在垃圾回收(GC)、耗损平衡(WL)、减少写入放大等多个方面都有作用,具体如何应用要取决于 SSD 主控算法。所以,OP 的使用情况对于磁盘的健康状态是有影响的。
OP 百分比的计算公式如下:
(SSD 实际容量 - SSD 用户容量)
/ SSD 用户容量
这里提到的用户容量,就是我们拿到 SSD 盘上面标定的容量大小。
DWPD
DWPD(Diskful Writes Per Day)意为为每日整盘写入次数,是指在预期寿命内可每日完整写入 SSD 固态硬盘所有容量的次数。这个参数很重要,一般会作为参考 NMVe SSD 寿命和性能的重要评测数据。
由于 SSD 的实现是基于电气原理的,每个 NAND 颗粒的擦写(P/E)次数是有限制的,一般厂家都会标定一个寿命期限。OP 所实现的 WL 对于维护磁盘的使用寿命具有很重要的意义。
DWPD 的简单计算公式如下:
[ SSD 的 TBW(TB)* 1000 ]
/ [ 365 天 * 年数 * SSD 容量(GB)]
这里的计算结果仅供参考,一般和原厂的数据并不能完全对上,因为真正的计算公式比上面这个要复杂,还会涉及到干扰因子,而这个干扰因子一般除了原厂,外界都是不知道的。
8. NVMe SSD 的常用工具介绍
针对 NVMe SSD 设备的操作,主要有两种方式。一种是使用 nvme-cli 公版命令,主流的厂家都遵循了一定的协议开放了一些配置接口,我们可以通过 nvme-cli 公版命令去进行操作,但这毕竟是一个通用的命令行工具,因此在一些更加细节或者特殊的操作上,nvme-cli 公版命令就无法实现。
另外一种方法就是使用原厂提供的工具去操作,像 Intel 官网提供的 ISDCT 工具,西部数据提供的 dm-cli 工具等。个人也比较建议使用原厂的工具,毕竟有些参数以及工具的使用姿势需要原厂提供技术支持,而且万一操作不当可能会导致磁盘无法正常读写。
下面我将提供一些我个人使用过的一些命令:
特别声明:
- 下面的操作会涉及到磁盘命名空间的删除和创建以及 OP 的修改,这些操作对于用户来说都是非常规的操作,一般厂商是不建议用户自行修改的,因为可能会导致磁盘读写出现异常。
- 另外,下面关于磁盘扇区大小的修改,并不是所有类型的 NVMe SSD 都支持修改扇区的大小,具体需要参考一些官方说明或者找原厂的技术进行咨询。
nvme-cli 通用命令行:
- 查看 nvme 工具版本信息。
[root@storage /root]# nvme --version
nvme version 1.4.19.g4324
- 查看 nvme ssd 设备清单。
[root@storage /root]# nvme listNode SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- --------------------------
/dev/nvme0n1 PHLN945000BY3P2BGN INTEL SSDPE2KE032T8 1 3.20 TB / 3.20 TB 512 B + 0 B VDV10152
/dev/nvme1n1 0028481W0189 P34UTM-01T6U-ST 1 1.60 TB / 1.60 TB 512 B + 0 B DR000125
- 获取 nvme ssd 设备 namespace ID 信息。
[root@storage /root]# nvme get-ns-id /dev/nvme0n1
nvme0n1: namespace-id:1
- 查询 nvme ssd 设备容量信息。
[root@storage /root]# nvme id-ctrl /dev/nvme0 |grep -i nvmcap
tnvmcap : 7681501126656 //Total NVM Capacity(总容量,单位为 Byte)。
unvmcap : 1279852371968 //Uallocated NVM Capacity(未分配的容量,单位为 Byte)。
- 修改 OP(修改 OP 实际就是通过厂家给的参数去调整 SSD 的用户空间)。
[root@storage /root]# nvme list //查看当前 nvme ssd 的设备列表。
[root@storage /root]# nvme delete-ns /dev/nvme0n1 -n 1 //删除命名空间。
delete-ns: Success, deleted nsid:1
[root@storage /root]# nvme create-ns /dev/nvme0 -s 0x6fc7d256 -c 0x6fc7d256 //创建命名空间,不指定格式化时的扇区大小,默认 4KiB。
create-ns: Success, created nsid:1
[root@storage /root]# nvme attach-ns /dev/nvme0 -c0 -n1 //将命名空间挂到控制器0上;c 表示 controller 编号,n 表示 namespace 的编号,nvme0 表示设备名称。
attach-ns: Success, nsid:1
- 普通格式化。
[root@storage /root]# nvme format /dev/nvme3n1
Success formatting namespace:1
- 格式化为 512B 扇区磁盘。
[root@storage /root]# nvme format /dev/nvme3 --namespace-id=1 --lbaf=1 512
Success formatting namespace:1or[root@storage /root]# nvme format /dev/nvme4 -n 1 -l 1 512
Success formatting namespace:1
- 格式化为 4K 扇区磁盘。
[root@storage /root]# nvme format /dev/nvme3 -n 1 -l 1 4096
Success formatting namespace:1or[root@storage /root]# nvme format /dev/nvme4 -n 1 -l 1 4KiB
Success formatting namespace:1
dm-cli 专用命令行:
- 普通格式化。
[root@storage /root]# dm-cli scan //格式化前先执行扫描操作,不然有可能会报错。
[root@storage /root]# dm-cli format --path /dev/nvme4n1
Results for format: Operation succeeded.
- 格式化为 512B 扇区磁盘。
[root@storage /root]# dm-cli scan //格式化前先执行扫描操作,不然有可能会报错。
[root@storage /root]# dm-cli format --sector-size 512 --path /dev/nvme3 //支持对控制器格式化。
Results for format: Operation succeeded.
[root@storage /root]# dm-cli format --sector-size 512 --path /dev/nvme3n1 //支持对命名空间格式化。
Results for format: Operation succeeded.
- 格式化为 4K 扇区磁盘。
[root@storage /root]# dm-cli scan //格式化前先执行扫描操作,不然有可能会报错。
[root@storage /root]# dm-cli format --sector-size 4096 --path /dev/nvme3
Results for format: Operation succeeded.
[root@storage /root]# dm-cli format --sector-size 4096 --path /dev/nvme3n1
Results for format: Operation succeeded.
lspci 通用命令行:
- 查询 NVMe SSD 设备对应的 PCIe 号。
[root@storage /root]# lspci |grep -i non
19:00.0 Non-Volatile memory controller: Intel Corporation Express Flash NVMe P4500
1a:00.0 Non-Volatile memory controller: Intel Corporation Express Flash NVMe P4500
3b:00.0 Non-Volatile memory controller: Intel Corporation Express Flash NVMe P4500
- 通过 PCIe 号检查 NVMe SSD 设备是否是全速状态(
一块 NVMe SSD 需要 x4 的 PCIe 槽位
)。
for i in `lspci |grep -i non |awk -F ' ' '{print $1}'`; do lspci -vv -s $i |grep "LnkSta" |grep "Width"; done
9. NVMe SSD 健康状态检查
提及磁盘健康状态,就绕不开 S.M.A.R.T.
。S.M.A.R.T. 的全称是 “Self-Monitoring Analysis and Reporting Technology”,即"自我监测、分析及报告技术",是硬盘的自动状态监测与预警系统,它监控着硬盘内的各种信息,若监控到的情况已经超过预设的安全值范围,就会向用户发出警告(黄色警告),如果是在可修复范围内的话硬盘会尝试自动修复,如果超出了可修复范围,硬盘的软件会尽力防止在出错扇区再次写入数据防止数据遗失,并且会报告危险(红色警告),通常主板 BIOS 在开机时都会检查硬盘 S.M.A.R.T. 信息,如果有危险报告的话就会告诉用户,而且通常会卡在启动界面,防止进一步的数据遗失。
关于查询 NVMe SSD 磁盘 S.M.A.R.T. 信息的方法:
- 使用 smartctl 工具查询。
[root@storage /root]# smartctl -A /dev/nvme0
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.11.6.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 27 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 1%
Data Units Read: 9,450,899 [4.83 TB]
Data Units Written: 133,706,235 [68.4 TB]
Host Read Commands: 362,803,031
Host Write Commands: 3,461,806,070
Controller Busy Time: 1,025
Power Cycles: 41
Power On Hours: 1,121
Unsafe Shutdowns: 27
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
- 使用 nvme-cli 工具查询。
[root@storage /root]# nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning : 0
temperature : 27 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 1%
data_units_read : 9,450,899
data_units_written : 133,706,235
host_read_commands : 362,803,031
host_write_commands : 3,461,806,070
controller_busy_time : 1,025
power_cycles : 41
power_on_hours : 1,121
unsafe_shutdowns : 27
media_errors : 0
num_err_log_entries : 0
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0
- 使用厂商专用工具(Intel ISDCT)查询。
[root@storage /root]# isdct show -intelssd 0 -nvmelog 'SmartHealthInfo'
- NVMeLog SMART and Health Information PHLF852100AS1P0GGN -
Unsafe Shutdowns : 0x1B
Data Units Read : 0x90358F
Temperature has exceeded a critical threshold : False
Critical Warnings : 0
Controller Busy Time : 0x0401
Available Spare Space has fallen below the threshold : False
Power On Hours : 0x0461
Volatile memory backup device has failed : False
Available Spare Threshold Percentage : 10
Available Spare Normalized percentage of the remaining spare capacity available : 100
Data Units Written : 0x07F831FB
Number of Error Info Log Entries : 0x0
Host Read Commands : 0x159FEF0B
Power Cycles : 0x29
Host Write Commands : 0xCE56F7F6
Media Errors : 0x0
Media is in a read-only mode : False
Device reliability has degraded : False
Temperature - Celsius : 27
Percentage Used : 1
关于 NVMe SSD 磁盘 S.M.A.R.T. 数据重要指标说明:
看了上面三种方法查询的结果,不熟悉的朋友可能会比较懵,这能看出啥?其实各个厂家都按照标准开放了一定的参数,而这些参数里面有一些关键指标,可以帮助我们来分析磁盘是否有问题。当然,最直接的办法就是模拟 I/O 向磁盘写入,如果能正常写入多半是没有问题的;但是这种办法不能很好的帮我们去判断磁盘即将有可能发生的故障。接下来,我会针对常用的几个指标进行说明。
Critical Warning
- 指标含义:意为“严重警告”;当数值不为 “0” 时表示磁盘出现了问题,建议更换!
- 补充说明:该字段中的位表示当前关联状态,不是持久的;具体位数所表示的含义如下:
- 位“0”:表明可用的备用空间已低于阈值;
- 位“1”:表明温度高于过热阈值或低于低温阈值;
- 位“2”:表明由于过多的介质错误或内部错误导致可靠性降低;
- 位“3”:表明介质被置于只读模式;
- 位“4”:表明易失性内存备份系统已失败;
- 位“5-7”:保留。
available_spare
- 指标含义:意为“可用空间”;英特尔设置的阈值是 “10%”,当低于阈值时,建议更换!
- 补充说明:体现了保留空间的使用情况,当剩余的保留空间很低的时候,就会影响到“磨损品平衡”、“垃圾回收”等重要特性!
Percentage Used
- 指标含义:意为“使用率百分比”;可以以此来检测磁盘当前寿命的使用状况!
- 补充说明:当超过 “80%” 时,表明磁盘的擦写程度已经很高了;但即使达到了厂家标定的寿命期限,也不代表磁盘不可用了,只是不再提供维保服务!
Media and Data Integrity Errors
- 指标含义:意为“介质和数据内部错误”;当数值不为 “0” 时表示磁盘可能出现了问题,建议更换!
- 补充说明:该字段包含控制器检测到未恢复的数据完整性错误的次数;包含诸如不可纠正的 ECC、CRC 校验和失败或 LBA 标签不匹配之类的错误。
总结
关于 NVMe SSD 在服务器端的使用,一个是要满足 PCIe 3.0 x4 才能发挥出它的性能,除此之外,MaxPayload 对性能也会有一定的影响;另外一个是 NVMe SSD 是绕过 RAID 卡管理的,那么该如何实现 NVMe SSD 的 RAID 管理呢,这个就需要咨询对应的厂商是否有这样的解决方案了,像 Intel 他们就专门为 NVMe SSD 设计了企业级 RAID 解决方案,即 VROC(Virtual RAID on CPU)。
吭哧吭哧总算写完了这篇博客,回顾了一下文章的整体内容,感觉有些凌乱也没有很好的表达出我内心的一些想法,可能还是水平有限吧。其实我更多的点是想去说 NVMe SSD,但是把握不住。