NVMe Initiator über InfiniBand auf dem Host in E-Series - Linux einrichten
Die Konfiguration eines NVMe-Initiators in einer InfiniBand-Umgebung umfasst die Installation und Konfiguration der infiniband-, nvme-cli- und rdma-Pakete, die Konfiguration von Initiator-IP-Adressen und das Einrichten der NVMe-of-Ebene auf dem Host.
Sie müssen das neueste kompatible Betriebssystem RHEL 8, RHEL 9, RHEL 10, SLES 12, SLES 15 oder SLES 16 mit Service Pack verwenden. Siehe die "NetApp Interoperabilitäts-Matrix-Tool" Eine vollständige Liste der aktuellen Anforderungen finden Sie hier.
-
installation der rdma-, nvme-cli- und infiniband-Pakete:
SLES 12, SLES 15 oder SLES 16
# zypper install infiniband-diags # zypper install rdma-core # zypper install nvme-cli
RHEL 8, RHEL 9 oder RHEL 10
# yum install infiniband-diags # yum install rdma-core # yum install nvme-cli
-
Installieren Sie für RHEL 8 oder RHEL 9 Netzwerkskripte:
RHEL 8
# yum install network-scripts
RHEL 9
# yum install NetworkManager-initscripts-updown
-
Holen Sie den Host-NQN ab, mit dem der Host für ein Array konfiguriert werden kann.
# cat /etc/nvme/hostnqn
-
Überprüfen Sie, ob die IB-Port-Links aktiviert sind und der Status = aktiv:
# ibstat
CA 'mlx4_0' CA type: MT4099 Number of ports: 2 Firmware version: 2.40.7000 Hardware version: 1 Node GUID: 0x0002c90300317850 System image GUID: 0x0002c90300317853 Port 1: State: Active Physical state: LinkUp Rate: 40 Base lid: 4 LMC: 0 SM lid: 4 Capability mask: 0x0259486a Port GUID: 0x0002c90300317851 Link layer: InfiniBand Port 2: State: Active Physical state: LinkUp Rate: 56 Base lid: 5 LMC: 0 SM lid: 4 Capability mask: 0x0259486a Port GUID: 0x0002c90300317852 Link layer: InfiniBand -
Richten Sie IPv4-IP-Adressen an den ib-Ports ein.
SLES 12 oder SLES 15
Erstellen Sie die Datei /etc/sysconfig/Network/ifcfg-ib0 mit folgendem Inhalt.
BOOTPROTO='static' BROADCAST= ETHTOOL_OPTIONS= IPADDR='10.10.10.100/24' IPOIB_MODE='connected' MTU='65520' NAME= NETWORK= REMOTE_IPADDR= STARTMODE='auto'
Erstellen Sie dann die Datei /etc/sysconfig/Network/ifcfg-ib1:
BOOTPROTO='static' BROADCAST= ETHTOOL_OPTIONS= IPADDR='11.11.11.100/24' IPOIB_MODE='connected' MTU='65520' NAME= NETWORK= REMOTE_IPADDR= STARTMODE='auto'
RHEL 8
Erstellen Sie die Datei /etc/sysconfig/Network-scripts/ifcfg-ib0 mit folgendem Inhalt.
CONNECTED_MODE=no TYPE=InfiniBand PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static IPADDR='10.10.10.100/24' DEFROUTE=no IPV4=FAILURE_FATAL=yes IPV6INIT=no NAME=ib0 ONBOOT=yes
Erstellen Sie dann die Datei /etc/sysconfig/Network-scripts/ifcfg-ib1:
CONNECTED_MODE=no TYPE=InfiniBand PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static IPADDR='11.11.11.100/24' DEFROUTE=no IPV4=FAILURE_FATAL=yes IPV6INIT=no NAME=ib1 ONBOOT=yes
RHEL 9, RHEL 10 oder SLES 16
Verwenden Sie die
nmtuiWerkzeug zum Aktivieren und Bearbeiten einer Verbindung. Unten sehen Sie eine Beispieldatei/etc/NetworkManager/system-connections/ib0.nmconnectionDas Tool generiert Folgendes:[connection] id=ib0 uuid=<unique uuid> type=infiniband interface-name=ib0 [infiniband] mtu=4200 [ipv4] address1=10.10.10.100/24 method=manual [ipv6] addr-gen-mode=default method=auto [proxy]
Unten sehen Sie eine Beispieldatei
/etc/NetworkManager/system-connections/ib1.nmconnectionDas Tool generiert Folgendes:[connection] id=ib1 uuid=<unique uuid> type=infiniband interface-name=ib1 [infiniband] mtu=4200 [ipv4] address1=11.11.11.100/24' method=manual [ipv6] addr-gen-mode=default method=auto [proxy]
-
Aktivieren Sie die
ibSchnittstelle:# ifup ib0 # ifup ib1
-
Überprüfen Sie die IP-Adressen, die Sie für die Verbindung mit dem Array verwenden werden. Führen Sie diesen Befehl für beide aus
ib0Undib1:# ip addr show ib0 # ip addr show ib1
Wie im Beispiel unten gezeigt, die IP-Adresse für
ib0Ist10.10.10.255.10: ib0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65520 qdisc pfifo_fast state UP group default qlen 256 link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:31:78:51 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff inet 10.10.10.255 brd 10.10.10.255 scope global ib0 valid_lft forever preferred_lft forever inet6 fe80::202:c903:31:7851/64 scope link valid_lft forever preferred_lft foreverWie im Beispiel unten gezeigt, die IP-Adresse für
ib1Ist11.11.11.255.10: ib1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65520 qdisc pfifo_fast state UP group default qlen 256 link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:31:78:51 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff inet 11.11.11.255 brd 11.11.11.255 scope global ib0 valid_lft forever preferred_lft forever inet6 fe80::202:c903:31:7851/64 scope link valid_lft forever preferred_lft forever -
Legen Sie auf dem Host den NVMe-of-Layer fest. Erstellen Sie die folgenden Dateien unter /etc/modules-load.d/, um die zu laden
nvme_rdmaKernel-Modul und stellen Sie sicher, dass das Kernel-Modul immer eingeschaltet ist, auch nach einem Neustart:# cat /etc/modules-load.d/nvme_rdma.conf nvme_rdma
-
Starten Sie den Host neu.
Um die zu überprüfen
nvme_rdmaKernel-Modul ist geladen, führen Sie diesen Befehl aus:# 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