在E系列- Linux中的主机上通过RoCE设置NVMe启动程序
RoCE 环境中的 NVMe 启动程序配置包括安装和配置 RDMA-core 和 NVMe-CLI 软件包,配置启动程序 IP 地址以及在主机上设置 NVMe-oF 层。
您必须运行最新的兼容 RHEL 9、RHEL 10、SLES 15 或 SLES 16 service pack 操作系统。有关最新要求的完整列表,请参阅 "NetApp 互操作性表工具"。
-
安装 RDMA 和 NVMe-CLI 软件包:
SLES 15 或 SLES 16
# zypper install rdma-core # zypper install nvme-cli
RHEL 9 和 RHEL 10
# yum install rdma-core # yum install nvme-cli
|
|
如果使用的是 NVIDIA HCA 并希望使用外部 DOCA 驱动程序,请参阅"NVIDIA DOCA 文档"有关如何在此环境中正确安装驱动程序的信息。 |
-
对于 RHEL 9,安装网络脚本:
-
RHEL 9*
# yum install NetworkManager-initscripts-updown
+
RHEL 10 没有网络脚本。 -
-
获取主机NQN、该主机将用于为阵列配置主机。
# cat /etc/nvme/hostnqn
-
在用于通过 RoCE 连接 NVMe 的以太网端口上设置 IPv4 IP 地址。对于每个网络接口,创建一个配置脚本,其中包含该接口的不同变量。
此步骤中使用的变量基于服务器硬件和网络环境。这些变量包括
IPADDR和网关。以下是适用于 SLES 和 RHEL 的示例说明:SLES 15
使用以下内容创建示例文件
/etc/sysconfig/network/ifcfg-eth4,其中 MTU 设置为无需数据包碎片即可实现的最高值(通常为 9000)。BOOTPROTO='static' BROADCAST= ETHTOOL_OPTIONS= IPADDR='192.168.1.87/24' GATEWAY='192.168.1.1' MTU=9000 NAME='MT27800 Family [ConnectX-5]' NETWORK= REMOTE_IPADDR= STARTMODE='auto'
然后、创建示例文件`/etc/sysconfig/network/ifcfg-eth5`:
BOOTPROTO='static' BROADCAST= ETHTOOL_OPTIONS= IPADDR='192.168.2.87/24' GATEWAY='192.168.2.1' MTU=9000 NAME='MT27800 Family [ConnectX-5]' NETWORK= REMOTE_IPADDR= STARTMODE='auto'
RHEL 9、RHEL 10 或 SLES 16
使用
nmtui用于激活和编辑连接的工具。下面是一个示例文件/etc/NetworkManager/system-connections/eth4.nmconnection该工具将生成:[connection] id=eth4 uuid=<unique uuid> type=ethernet interface-name=eth4 [ethernet] mtu=9000 [ipv4] address1=192.168.1.87/24 method=manual [ipv6] addr-gen-mode=default method=auto [proxy]
下面是一个示例文件
/etc/NetworkManager/system-connections/eth5.nmconnection该工具将生成:[connection] id=eth5 uuid=<unique uuid> type=ethernet interface-name=eth5 [ethernet] mtu=9000 [ipv4] address1=192.168.2.87/24 method=manual [ipv6] addr-gen-mode=default method=auto [proxy]
-
启用网络接口:
# nmcli connection up eth4 # nmcli connection up eth5
-
在主机上设置 NVMe-oF 层。在下创建以下文件
/etc/modules-load.d/以加载nvme_rdma内核模块并确保内核模块始终处于打开状态、即使在重新启动后也是如此:# cat /etc/modules-load.d/nvme_rdma.conf nvme_rdma
-
重新启动主机。
-
或者,您可以通过运行以下命令加载
nvme_rdma内核,而无需重新启动:# modeprobe nvme_rdma
-
-
验证
nvme_rdma内核模块是否已加载,运行此命令:# lsmod | grep nvme nvme_rdma 36864 0 nvme_fabrics 24576 1 nvme_rdma nvme_core 114688 5 nvme_rdma,nvme_fabrics rdma_cm 114688 7 rpcrdma,ib_srpt,ib_srp,nvme_rdma,ib_iser,ib_isert,rdma_ucm ib_core 393216 15 rdma_cm,ib_ipoib,rpcrdma,ib_srpt,ib_srp,nvme_rdma,iw_cm,ib_iser,ib_umad,ib_isert,rdma_ucm,ib_uverbs,mlx5_ib,qedr,ib_cm t10_pi 16384 2 sd_mod,nvme_core
下一步是什么?在主机上通过 RoCE 设置 NVMe 启动器后,"配置 NVMe over RoCE 端口设置"。