[VMware] NVMe over TCP配置
介绍:
NVMe-oF 全称是 NVMe over Fabrics(本文均采用缩写 NVMe-oF),它把 NVMe 在单系统内部提供的高性能、低延迟和极低的协议开销等优势进一步发挥到客户端与存储系统互联的网络结构当中。NVMe-oF 定义了使用多种通用的传输层协议来实现 NVMe 远程连接能力。更快的存储,则需要更快的网络才能发挥最大的存储价值。

NVMe over FC:基于传统的 FC 网络(主机总线适配器 HBA 和光纤交换机构建的专有通信网络),与 FC-SAN(SCSI)可以同时运行在同一个 FC 网络中,最大化地复用 FC 网络基础环境,发挥 NVMe 新型协议的优势。常用于传统集中存储的升级改造。
NVMe over RDMA:通过远程直接内存访问技术,允许客户端程序远程访问存储系统的内存空间进行数据传输。具有数据零拷贝(不涉及网络堆栈执行数据传输)、Kernel Bypass(应用程序可以直接从用户空间执行数据传输,无需内核参与)、减少 CPU 资源消耗(应用程序可以访问远程内存,而无需在远程服务器中消耗任何 CPU Cycle)等特点。
InfiniBand – 通过 InfiniBand 网络使用 RDMA,在高性能计算 HPC 领域非常流行,与 FC 相似,需要专有的网络适配器和交换网络支撑。
RoCE – 全称 RDMA over Converged Ethernet,即通过以太网实现 RDMA,目前有两个版本:RoCEv1 不可路由,仅可以在 2 层工作;RoCEv2 使用 UDP/IP,具有 3 层路由能力。
iWARP – 构建在 TCP/IP 之上。跟 RoCE 协议继承自 Infiniband 不同,iWARP 本身不是直接从 Infiniband 发展而来的。Infiniband 和 RoCE 协议都是基于 “Infiniband Architecture Specification”,也就是常说的 “IB 规范”。而 iWARP 是自成一派,遵循着一套 IETF 设计的协议标准。虽然遵循着不同的标准,但是 iWARP 的设计思想受到了很多 Infiniband 的影响,并且目前使用同一套编程接口。
NVMe over TCP:与前两种实现方式不同,该方案无需任何特殊的硬件要求,基于通用标准以太网环境。成本低是该协议的优势,缺点是需要更多的 CPU 资源参与数据处理,受限于 TCP/IP 协议,在数据传输中相对 RDMA 会引入更多的延迟。
目前不需要特殊硬件支持的只有NVMe over TCP,VMware vSphere 7.0U3开始支持,如果存储提供NVMe over TCP协议,可在不改变网络环境的情况下,使用NVMe over TCP协议代替iSCSI连接块存储设备。
下面介绍VMware环境NVMe over TCP配置方法:
1.1NVMe over TCP 的网络拓扑示例

1.2添加NVMe over TCP适配器
选择主机“配置”>“存储”>“存储适配器”>“添加软件适配器”>“添加NVMe over TCP适配器”

选择要启用NVMe适配器的网卡,点击确定

根据需要添加两个NVMe over TCP启动器

1.3添加VMKernel
在主机“配置”>“网络”>“虚拟交换机”页面,点击“添加网络”按钮,选择“Vmkernel网络适配器”

选择交换机,可选标准交换机或分布式端口组

勾选“NVMe over TCP”

配置IP地址

完成

1.4VMKernel绑定网卡
选择上一步创建的VMKernel点击“编辑设置”

在“绑定和故障切换”页面,选择关联NVMe over TCP启动器的网卡为活动适配器

1.5扫描存储链路
在两个选择添加的NVMe over TCP启动器下,打开“控制器”选项卡,点击“添加控制器”

输入存储端IP,勾选“中央发现控制器”或点击“发现控制器”,点击“确定”

1.6存储端操作
在存储端创建主机,选择启动器类型为NVMe,勾选主机nqn,创建主机。