什么是 NVMe-oF?

2次阅读
没有评论

共计 4579 个字符,预计需要花费 12 分钟才能阅读完成。

前言

近年来,我们不断体验到存储性能如何越来越快,这一直在挑战已成为数据中心瓶颈的旧存储协议。尽管使用了最新的 100GbE 结构速度和新的网络标准,例如 InfiniBand,但这些慢速网络协议技术限制了闪存设备的性能,将其保留在设备本身内并隔离在盒子中。在本文中,我们将快速了解 Non-Volatile Memory Express (NVMe)。此外,我们还概述了 NVMe over Fabrics (NVMe-oF) 和 NVMe over RDMA over Converged Ethernet (NVMe over RoCE),这是一种为解决现代存储网络瓶颈而开发的新协议规范。

什么是 NVMe-oF?

由于云和数据中心始终需要低延迟和高吞吐量,因此围绕 NVMe over Fabrics 展开了大量讨论。NVMe 规范存在不到十年,由于 NVMe-oF 也相对较新,因此对其实践及其对企业的益处仍存在许多误解。这项技术一直在不断发展,并在 IT 行业得到广泛采用。我们开始看到多家网络供应商向企业市场提供 NVMe-oF 相关产品。因此,要跟上先进的数据中心技术,了解什么是 NVMe-oF、其功能及其性能特征至关重要。此外,如何部署它以及我们如何将这项技术结合到不同的新解决方案中。

NVMe 和 NVMe-oF

全闪存阵列 (AFA) 出现在数据中心以响应对高性能的需求,因为它们比传统存储快得多,能够毫不费力地达到市场上一直承诺的 1M IOPS。然而,其中许多阵列继续使用近乎传统的存储技术,即 SATA SSD。这类存储基于 AHCI(高级主机控制器接口)命令协议,支持 IDE。AHCI 本质上是为旋转磁盘而构建的,而不是为基于闪存的高级驱动器构建的。这种基于 SCSI 的技术为当今的 SSD 和存储阵列控制器造成了瓶颈,因为具有 AHCI 的 SATA III 总线仅允许高达 600MB/s 的数据传输速度。

什么是 NVMe-oF?

要释放 SSD 的全部功能,我们需要新技术来更快地卸载闪存。NVMe 是一种使闪存(或 SSD)能够真正利用闪存性能的规范。该技术于 2014 年首次推出,旨在改善应用程序响应时间,提供新的更好的功能。NVMe 固态硬盘有多种外形规格,最广为人知的有 AIC(附加卡)、U.2、U.3 和 M.2。NVMe SSD,通过直接连接到计算机或服务器中,利用外围组件互连高速 (PCIe) 高速总线。从本质上讲,NVMe 减少了 CPU 开销并简化了操作,从而降低了延迟,提高了每秒输入 / 输出操作数 (IOPS) 和吞吐量。例如,NVMe SSD 提供高于 3,000MB/s 的写入速度。如果我们与 SATA SSD 进行比较,这意味着比旋转磁盘快 5 倍或 30 倍。

使用 NVMe,IOPS 并行执行,允许同时进行许多计算。大任务可以拆分成几个小任务独立处理。类似于多核 CPU,使用多个线程。每个 CPU 核心都可以彼此独立工作以执行特定任务。

队列深度 (QD) 是 NVMe 相对于 AHCI 的另一个优势。ACHI 和 SATA 可以处理 32 个队列深度(1 个队列和 32 个命令),而 NVMe 可以处理高达 65K 的队列深度。这些是 65K 队列,其中每个队列最多可以容纳 65K 个命令。除了减少延迟外,这还可以提高处理同时请求的繁忙服务器的性能。

什么是 NVMe-oF?

然而,数据中心的问题仍然在于存储网络协议。尽管 NVMe 兴起,但其收益仅限于每个单独的设备。事实上,闪存和其他企业级(昂贵的)设备,如 AFA,并不是为了将其卓越的性能隔离在机箱内。相反,它们旨在用于大规模并行计算机集群,将它们与其他和多个设备(例如其他服务器和存储)连接起来。这种设备的互连就是我们所说的结构,即存储网络,包括交换机、路由器、协议桥、网关设备和电缆。

2016 年,NVMe-oF 行业标准已经推出。该协议规范将 NVMe 令人难以置信的性能从存储阵列控制器扩展到结构,使用以太网、光纤通道、RoCE 或 InfiniBand。NVMe-oF 使用备用数据传输协议(通过结构)作为传输映射,而不是 NVMe 使用的 PCIe 总线。Fabric 建立在端点之间没有共享内存的情况下发送和接收消息的概念之上。NVMe 结构消息传输将 NVMe 命令和响应封装到一个基于消息的系统中,该系统包括一个或多个 NVMe 命令或响应。

什么是 NVMe-oF?

在 NVMe-oF 中,目标以命名空间的形式呈现,相当于 SCSI LUN。NVMe-oF 允许主机跨越更远的距离与这些存储目标进行通信,同时保持超低延迟,以微秒 (μs) 为单位。简而言之,我们在系统和闪存之间获得更好的性能,而不会显着增加结构延迟。这种低延迟在一定程度上可以达到前面提到的 NVMe 队列深度。NVMe-oF 可以处理与 NVMe 相同的队列,65K 这个惊人的数字使 NVMe-oF 可以在主机和驱动器之间设计高度并行的架构,为这些设备中的每一个使用单独的队列。

NVMe 架构传输  

NVMe 支持和使用的三种结构传输类型是使用 RDMA 的 NVMe-oF、使用光纤通道的 NVMe-oF 和使用 TCP 的 NVMe-oF。

什么是 NVMe-oF?

基于 RDMA 的 NVMe-oF

此规范使用远程直接内存访问 (RDMA) 并使数据和内存能够通过网络在计算机和存储设备之间传输。RDMA 是一种在网络中两台计算机的主内存之间交换信息的方式,无需涉及任何一台计算机的处理器、缓存或操作系统。因为 RDMA 避免了操作系统,所以它通常是通过网络传输数据的最快和最低开销的机制。

什么是 NVMe-oF?

NVMe-oF over RDMA 使用 TCP 传输协议跨 IP 网络传输数据典型的 RDMA 实现包括虚拟接口架构、RDMA over Converged Ethernet (RoCE)、InfiniBand、Omni-Path 和 iWARP。目前使用最多的是 RoCE、InfiniBand 和 iWARP。

基于光纤通道的 NVMe

使用 NVMe over Fibre Channel (FC) 的组合通常称为 FC-NVMe、NVMe over FC,有时也称为 NVMe/FC。光纤通道是一种用于在存储阵列和服务器之间传输数据的强大协议,大多数企业 SAN 系统都使用它。在 FC-NVMe 中,命令被封装在 FC 帧中。它基于标准的 FC 规则,匹配支持访问共享 NVMe 闪存的标准 FC 协议。SCSI 命令封装在 FC 帧中;但是,将它们解释和转换为 NVMe 命令会造成性能损失。

基于 TCP/IP 的 NVMe

这种传输类型是 NVMe-oF 的最新发展之一。NVMe over TCP(传输控制协议)使用 NVMe-oF 和 TCP 传输协议跨 IP(以太网)网络传输数据。NVMe 通过以太网作为物理传输在 TCP 数据报内部传输。尽管有 RDMA 和光纤通道,TCP 提供了可能更便宜和更灵活的替代方案。此外,与同样使用以太网的 RoCE 相比,NVMe/TCP 的性能更像 FC-NVMe,因为它们使用 I/O 的消息传递语义。

将 NVMe-oF 与 ​​RDMA、光纤通道或 TCP 结合使用,可构建完整的端到端 NVMe 存储解决方案。这些解决方案提供了显着的高性能,同时保持了通过 NVMe 提供的极低延迟。

NVMe over RDMA over 融合以太网 (RoCE)

在 RDMA 协议中,RoCE 脱颖而出。我们知道 RDMA 和 NVMe-oF 是什么,现在我们有了融合以太网 (CE),即通过以太网网络支持 RDMA。CE 就像一个增强的以太网版本,也被称为数据中心桥接和数据中心以太网。它封装了以太网上的 InfiniBand 传输数据包。它的解决方案提供了链路级流量控制机制以确保零丢失,即使在网络饱和时也是如此。RoCE 协议允许比其前身 iWARP 协议更低的延迟。

RoCE 有两个版本,RoCE v1 和 RoCE v2。RoCE v1 是以太网第 2 层(链路)协议,允许同一以太网广播域中的两台主机之间进行通信。因此,它不能在子网之间路由。新选项是 RoCE v2,它是 UDP/IPv4 或 UDP/IPv6 协议之上的协议。RoCE v2 是以太网第 3 层(互联网)协议,这意味着它的数据包可以被路由。对 RoCE v2 的软件支持仍在不断涌现。Mellanox OFED 2.3 或更高版本支持 RoCE v2 以及 Linux Kernel v4.5。

什么是 NVMe-oF?

NVMe over RoCE 是一种新型的 SAN。该协议提供与 SAN 硬件和软件相同的企业数据服务性能和灵活性。尽管 RoCE 协议受益于融合以太网网络的特性,但该协议也可以用于传统或非融合以太网网络。要配置 NVMe over RoCE 存储结构,NIC、交换机和 AFA 必须支持融合以太网。NIC(称为 R-NIC)和全闪存阵列必须提供对 RoCE 的支持。带有 NVMe over RoCE 接口的 R-NIC 和 AFA 的服务器将与已安装的 CE 交换机即插即用。

NVMe-oF over RoCE 支持 VMware

VMware 添加了对使用 NVMe-oF 的共享 NVMe 存储的支持。对于外部连接,vSphere 7.0 支持 NVMe over Fibre Channel 和 NVMe over RDMA。ESXi 主机可以使用 RDMA over Converged Ethernet v2 (RoCE v2)。要使用 RDMA 启用和访问 NVMe 存储,ESXi 主机使用主机上的 R-NIC 适配器和 SW NVMe over RDMA 存储适配器。必须在两个适配器中配置配置以将它们用于 NVMe 存储发现。

使用 NVMe-oF 时,目标以主动 / 主动或非对称访问模式 (ALUA) 的名称空间形式呈现给主机。这使 ESXi 主机能够发现和使用提供的命名空间。ESXi 在内部将 NVMe-oF 目标模拟为 SCSI 目标,并将它们呈现为主动 / 主动 SCSI 目标或隐式 SCSI ALUA 目标。

什么是 NVMe-oF?

NVMe over RDMA 要求:

  • 支持 RDMA (RoCE v2) 传输的 NVMe 阵列
  • 兼容的 ESXi 主机
  • 支持无损网络的以太网交换机。
  • 支持 RoCE v2 的网络适配器
  • SW NVMe over RDMA 适配器
  • NVMe 控制器
  • RoCE 目前在支持 ZTR(零接触 RoCE)的有损结构上运行,或者需要配置网络以在第 2 层单独或在第 2 层和第 3 层(使用 PFC)实现无损信息流量

在 ESXi 主机上设置 NVMe-oF 时,应遵循一些做法。

  • 不要混合传输类型来访问相同的名称空间。
  • 确保所有活动路径都呈现给主机。
  • 不使用 / 不支持 NMP;相反,HPP(高性能插件)用于 NVMe 目标。
  • 您必须具有指向 NVMe 目标的专用链接、VMkernels 和 RDMA 适配器。
  • 专用第 3 层 VLAN 或第 2 层连接
  • 限制:
    • 命名空间 -32
    • Paths=128(主机上最多 4 个路径 / 命名空间)

结论

随着越来越多的人依赖云服务中的数据,对数据中心更快的后端存储的需求也越来越大。NVMe 是一种与闪存设备连接的更新方式,并且随着 NVMe-oF,这些技术一直在推进外部连接选项。NVMe-oF 及其不同类型的传输开始被认为是数据存储的未来。这些存储设备和设备被认为是数据中心的核心,因为互连结构中的每一毫秒都很重要。NVMe 技术减少了内存映射输入 / 输出命令,并适应操作系统设备驱动程序以实现更高的性能和更低的延迟。

NVMe 因其低延迟和高吞吐量的多任务处理速度而变得越来越流行。虽然 NVMe 也被用于个人电脑以改进视频编辑、游戏和其他解决方案,但真正的好处是通过 NVMe-oF 在企业中看到。IT、人工智能和机器学习等行业不断进步,对增强性能的需求也在不断增长。现在经常可以看到 VMware 和 Mellanox 等软件和网络供应商向企业市场提供更多 NVMe-oF 相关产品和解决方案。借助现代化的大规模并行计算机集群,我们处理和访问数据的速度越快,它对我们的业务就越有价值。

正文完
 0
Nnkin
版权声明:本站原创文章,由 Nnkin 于2024-07-10发表,共计4579字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)