Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Configurez NVMe over RoCE côté hôte

Contributeurs

La configuration de l'initiateur NVMe dans un environnement RoCE inclut l'installation et la configuration des packages rdma-core et nvme-cli, la configuration des adresses IP des initiateurs et la configuration de la couche NVMe-of sur l'hôte.

Avant de commencer

Vous devez exécuter le tout dernier système d'exploitation compatible RHEL 7, RHEL 8, RHEL 9, SUSE Linux Enterprise Server 12 ou 15 Service Pack. Voir la "Matrice d'interopérabilité NetApp" pour obtenir la liste complète des dernières exigences.

Étapes
  1. Installez les packages rdma et nvme-cli :

    SLES 12 ou SLES 15

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

    RHEL 7, RHEL 8 ET RHEL 9

    # yum install rdma-core
    # yum install nvme-cli
  2. Pour RHEL 8 et RHEL 9, installez les scripts réseau :

    RHEL 8

    # yum install network-scripts

    RHEL 9

    # yum install NetworkManager-initscripts-updown
  3. Procurez-vous le NQN hôte, qui sera utilisé pour configurer l'hôte sur une matrice.

    # cat /etc/nvme/hostnqn
  4. Configurez les adresses IP IPv4 sur les ports ethernet utilisés pour connecter NVMe over RoCE. Pour chaque interface réseau, créez un script de configuration qui contient les différentes variables de cette interface.

    Les variables utilisées à cette étape sont basées sur le matériel serveur et l'environnement réseau. Les variables incluent le IPADDR et GATEWAY. Voici des exemples d'instructions pour SLES et RHEL :

    SLES 12 et SLES 15

    Créez le fichier exemple /etc/sysconfig/network/ifcfg-eth4 avec les contenus suivants.

    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'

    Créez ensuite le fichier exemple /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

    Créez le fichier exemple /etc/sysconfig/network-scripts/ifcfg-eth4 avec les contenus suivants.

    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'

    Créez ensuite le fichier exemple /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

    Utilisez le nmtui outil permettant d'activer et de modifier une connexion. Voici un exemple de fichier /etc/NetworkManager/system-connections/eth4.nmconnection l'outil génère :

    [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]

    Voici un exemple de fichier /etc/NetworkManager/system-connections/eth5.nmconnection l'outil génère :

    [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. Activez les interfaces réseau :

    # ifup eth4
    # ifup eth5
  6. Configurez la couche NVMe-of sur l'hôte. Créez le fichier suivant sous /etc/modules-load.d/ pour charger le nvme_rdma module noyau et assurez-vous que le module noyau sera toujours activé, même après un redémarrage :

    # cat /etc/modules-load.d/nvme_rdma.conf
      nvme_rdma
  7. Redémarrez l'hôte.

    Pour vérifier le nvme_rdma le module du noyau est chargé, exécutez la commande suivante :

    # 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