Skip to main content
E-Series storage systems
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

在E系列- Linux中的主机上通过RoCE设置NVMe启动程序

贡献者 netapp-driley netapp-jsnyder netapp-jolieg NetAppZacharyWambold

RoCE 环境中的 NVMe 启动程序配置包括安装和配置 RDMA-core 和 NVMe-CLI 软件包,配置启动程序 IP 地址以及在主机上设置 NVMe-oF 层。

开始之前

您必须运行最新的兼容 RHEL 9、RHEL 10、SLES 15 或 SLES 16 service pack 操作系统。有关最新要求的完整列表,请参阅 "NetApp 互操作性表工具"

步骤
  1. 安装 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 文档"有关如何在此环境中正确安装驱动程序的信息。
  1. 对于 RHEL 9,安装网络脚本:

    • RHEL 9*

    # yum install NetworkManager-initscripts-updown

    +

    备注 RHEL 10 没有网络脚本。
  2. 获取主机NQN、该主机将用于为阵列配置主机。

    # cat /etc/nvme/hostnqn
  3. 在用于通过 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]
  4. 启用网络接口:

    # nmcli connection up eth4
    # nmcli connection up eth5
  5. 在主机上设置 NVMe-oF 层。在下创建以下文件 /etc/modules-load.d/ 以加载 nvme_rdma 内核模块并确保内核模块始终处于打开状态、即使在重新启动后也是如此:

    # cat /etc/modules-load.d/nvme_rdma.conf
      nvme_rdma
  6. 重新启动主机。

    1. 或者,您可以通过运行以下命令加载 nvme_rdma 内核,而无需重新启动:

      # modeprobe nvme_rdma
  7. 验证 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 端口设置"