Skip to main content
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Configurar o NVMe em RoCE no lado do host

Colaboradores

A configuração do iniciador NVMe em um ambiente RoCE inclui a instalação e configuração dos pacotes rdma-core e nvme-cli, configuração de endereços IP do iniciador e configuração da camada NVMe-of no host.

Antes de começar

Você deve estar executando o mais recente sistema operacional RHEL 7, RHEL 8, RHEL 9, SUSE Linux Enterprise Server 12 ou 15 Service pack. Consulte a "Ferramenta de Matriz de interoperabilidade do NetApp" para obter uma lista completa dos requisitos mais recentes.

Passos
  1. Instale os pacotes rdma e nvme-cli:

    SLES 12 ou SLES 15

    # zypper install rdma-core
    # zypper install nvme-cli

    RHEL 7, RHEL 8 E RHEL 9

    # yum install rdma-core
    # yum install nvme-cli
  2. Para RHEL 8 e RHEL 9, instale scripts de rede:

    RHEL 8

    # yum install network-scripts

    RHEL 9

    # yum install NetworkManager-initscripts-updown
  3. Obtenha o host NQN, que será usado para configurar o host para um array.

    # cat /etc/nvme/hostnqn
  4. Configure IPv4 endereços IP nas portas ethernet usadas para conetar o NVMe por RoCE. Para cada interface de rede, crie um script de configuração que contenha as diferentes variáveis para essa interface.

    As variáveis usadas nesta etapa são baseadas no hardware do servidor e no ambiente de rede. As variáveis incluem o IPADDR e GATEWAY. Estas são instruções de exemplo para SLES e RHEL:

    SLES 12 e SLES 15

    Crie o arquivo de exemplo /etc/sysconfig/network/ifcfg-eth4 com o seguinte conteúdo.

    BOOTPROTO='static'
    BROADCAST=
    ETHTOOL_OPTIONS=
    IPADDR='192.168.1.87/24'
    GATEWAY='192.168.1.1'
    MTU=
    NAME='MT27800 Family [ConnectX-5]'
    NETWORK=
    REMOTE_IPADDR=
    STARTMODE='auto'

    Em seguida, crie o arquivo de exemplo /etc/sysconfig/network/ifcfg-eth5 :

    BOOTPROTO='static'
    BROADCAST=
    ETHTOOL_OPTIONS=
    IPADDR='192.168.2.87/24'
    GATEWAY='192.168.2.1'
    MTU=
    NAME='MT27800 Family [ConnectX-5]'
    NETWORK=
    REMOTE_IPADDR=
    STARTMODE='auto'

    RHEL 7 ou RHEL 8

    Crie o arquivo de exemplo /etc/sysconfig/network-scripts/ifcfg-eth4 com o seguinte conteúdo.

    BOOTPROTO='static'
    BROADCAST=
    ETHTOOL_OPTIONS=
    IPADDR='192.168.1.87/24’
    GATEWAY='192.168.1.1'
    MTU=
    NAME='MT27800 Family [ConnectX-5]'
    NETWORK=
    REMOTE_IPADDR=
    STARTMODE='auto'

    Em seguida, crie o arquivo de exemplo /etc/sysconfig/network-scripts/ifcfg-eth5 :

    BOOTPROTO='static'
    BROADCAST=
    ETHTOOL_OPTIONS=
    IPADDR='192.168.2.87/24'
    GATEWAY='192.168.2.1'
    MTU=
    NAME='MT27800 Family [ConnectX-5]'
    NETWORK=
    REMOTE_IPADDR=
    STARTMODE='auto'

    RHEL 9

    Utilize a nmtui ferramenta para ativar e editar uma ligação. Abaixo está um arquivo de exemplo /etc/NetworkManager/system-connections/eth4.nmconnection que a ferramenta irá gerar:

    [connection]
    id=eth4
    uuid=<unique uuid>
    type=ethernet
    interface-name=eth4
    
    [ethernet]
    mtu=4200
    
    [ipv4]
    address1=192.168.1.87/24
    method=manual
    
    [ipv6]
    addr-gen-mode=default
    method=auto
    
    [proxy]

    Abaixo está um arquivo de exemplo /etc/NetworkManager/system-connections/eth5.nmconnection que a ferramenta irá gerar:

    [connection]
    id=eth5
    uuid=<unique uuid>
    type=ethernet
    interface-name=eth5
    
    [ethernet]
    mtu=4200
    
    [ipv4]
    address1=192.168.2.87/24
    method=manual
    
    [ipv6]
    addr-gen-mode=default
    method=auto
    
    [proxy]
  5. Ativar as interfaces de rede:

    # ifup eth4
    # ifup eth5
  6. Configurar a camada NVMe-of no host. Crie o seguinte arquivo sob /etc/modules-load.d/ para carregar o nvme_rdma módulo do kernel e certifique-se de que o módulo do kernel esteja sempre ligado, mesmo depois de uma reinicialização:

    # cat /etc/modules-load.d/nvme_rdma.conf
      nvme_rdma
  7. Reinicie o host.

    Para verificar se o nvme_rdma módulo do kernel está carregado, execute este comando:

    # 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