Configuración de host de NVMe/FC para RHEL 8,3 con ONTAP
NVMe/FC es compatible con ONTAP 9,6 o posterior para Red Hat Enterprise Linux (RHEL) 8,3. El host RHEL 8,3 ejecuta tráfico NVMe y SCSI a través de los mismos puertos de adaptador de iniciador FC. Consulte "Hardware Universe" Para obtener una lista de controladoras y adaptadores de FC admitidos.
Consulte "Herramienta de matriz de interoperabilidad de NetApp" para obtener la lista más actual de configuraciones compatibles.
Funciones
No hay nuevas funciones en esta versión.
Limitaciones conocidas
-
Para RHEL 8,3, la multivía NVMe en kernel está deshabilitada de manera predeterminada. Puede habilitarlo manualmente.
-
Actualmente no se admite el arranque SAN mediante el protocolo NVMe-oF.
Habilite NVMe/FC en RHEL 8.3
Es posible usar el siguiente procedimiento para habilitar NVMe/FC.
-
Instale Red Hat Enterprise Linux 8.3 GA en el servidor.
-
Si va a actualizar de RHEL 8,2 a RHEL 8,3 mediante el
yum update/upgrade
comando, su/etc/nvme/host*
es posible que se pierdan archivos. Para evitar la pérdida de archivos, utilice el siguiente procedimiento:Muestra el resultado de ejemplo
-
Realice un backup de su
/etc/nvme/host*
archivos. -
Si ha editado manualmente
udev
regla, eliminarla:/lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules
-
Realice la actualización.
-
Una vez finalizada la actualización, ejecute el siguiente comando:
yum remove nvme-cli
-
Restaure los archivos del host en
/etc/nvme/
.yum install nvmecli
-
Copie el original
/etc/nvme/host*
contenido del backup en los archivos de host reales en/etc/nvme/
.
-
-
Una vez finalizada la instalación, compruebe que está ejecutando el kernel de RHEL especificado:
# uname -r 4.18.0-240.el8.x86_64
Consulte "Herramienta de matriz de interoperabilidad de NetApp" para obtener la lista más actual de versiones compatibles.
-
Instale el paquete nvme-cli:
# rpm -qa|grep nvme-cli nvme-cli-1.12-2.el8.x86_64
-
Habilite la función multivía de NVMe en el kernel.
# grubby --args=nvme_core.multipath=Y --update-kernel /boot/vmlinuz-4.18.0-240.el8.x86_64
-
En el host RHEL 8,3, compruebe la cadena NQN del host en
/etc/nvme/hostnqn
Compruebe que coincide con la cadena NQN del host del subsistema correspondiente en la cabina ONTAP:# cat /etc/nvme/hostnqn
Ejemplo de salida:
# cat /etc/nvme/hostnqn nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
-
Compruebe que el
hostnqn
La cadena coincide con la cadena hostnqn del subsistema correspondiente en la cabina de ONTAP:vserver nvme subsystem host show -vserver vs_fcnvme_141
Ejemplo de salida
::> vserver nvme subsystem host show -vserver vs_fcnvme_141 Vserver Subsystem Host NQN ----------- --------------- ----------- --------------- vs_fcnvme_141 nvme_141_1 nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
Si las cadenas del host NQN no coinciden, utilice vserver modify
Comando para actualizar la cadena NQN del host en el subsistema de la cabina ONTAP correspondiente para que coincida con la cadena NQN del host desde/etc/nvme/hostnqn
en el host. -
Reinicie el host.
-
Si lo desea, actualice el
enable_foreign
ajuste.Si tiene intención de ejecutar tanto tráfico NVMe como SCSI en el mismo host coexistente de RHEL 8,3, NetApp recomienda utilizar la función multivía de NVMe in-kernel para espacios de nombres de ONTAP y dm-multipath para LUN de ONTAP, respectivamente. También debe incluir una lista negra de los espacios de nombres ONTAP en dm-multipath para evitar que dm-multipath reclamen estos dispositivos de espacio de nombres. Puede hacerlo añadiendo el
enable_foreign
configurando /etc/multipath.conf, como se muestra a continuación:# cat /etc/multipath.conf defaults { enable_foreign NONE }
Reinicie el daemon multipathd ejecutando un
systemctl restart multipathd
.
Valide NVMe/FC
Es posible usar el siguiente procedimiento para validar NVMe/FC.
-
Verifique la siguiente configuración de NVMe/FC:
# cat /sys/module/nvme_core/parameters/multipath Y
# cat /sys/class/nvme-subsystem/nvme-subsys*/model NetApp ONTAP Controller NetApp ONTAP Controller
# cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy round-robin round-robin
-
Verifique que los espacios de nombres se hayan creado y se hayan detectado correctamente en el host.
/dev/nvme0n1 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller 1 85.90 GB / 85.90 GB 4 KiB + 0 B FFFFFFFF /dev/nvme0n2 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller 2 85.90 GB / 85.90 GB 4 KiB + 0 B FFFFFFFF /dev/nvme0n3 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller 3 85.90 GB / 85.90 GB 4 KiB + 0 B FFFFFFFF
-
Compruebe el estado de las rutas de ANA.
# nvme list-subsys /dev/nvme0n1 nvme-subsys0 - NQN=nqn.1992-08.com.netapp:sn.5f5f2c4aa73b11e9967e00a098df41bd:subsystem.nvme_141_1 \ +- nvme0 fc traddr=nn-0x203700a098dfdd91:pn-0x203800a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live inaccessible +- nvme1 fc traddr=nn-0x203700a098dfdd91:pn-0x203900a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live inaccessible +- nvme2 fc traddr=nn-0x203700a098dfdd91:pn-0x203a00a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized +- nvme3 fc traddr=nn-0x203700a098dfdd91:pn-0x203d00a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized
-
Compruebe el plugin de NetApp para dispositivos ONTAP:
Columna# nvme netapp ontapdevices -o column
Ejemplo de salida
Device Vserver Namespace Path NSID UUID Size --------------- --------------- --------------------------------------------- -------- -------------------------------------- --------- /dev/nvme0n1 vs_fcnvme_141 /vol/fcnvme_141_vol_1_1_0/fcnvme_141_ns 1 72b887b1-5fb6-47b8-be0b-33326e2542e2 85.90GB /dev/nvme0n2 vs_fcnvme_141 /vol/fcnvme_141_vol_1_0_0/fcnvme_141_ns 2 04bf9f6e-9031-40ea-99c7-a1a61b2d7d08 85.90GB /dev/nvme0n3 vs_fcnvme_141 /vol/fcnvme_141_vol_1_1_1/fcnvme_141_ns 3 264823b1-8e03-4155-80dd-e904237014a4 85.90GB
JSON# nvme netapp ontapdevices -o json
Ejemplo de salida
{ "ONTAPdevices" : [ { "Device" : "/dev/nvme0n1", "Vserver" : "vs_fcnvme_141", "Namespace_Path" : "/vol/fcnvme_141_vol_1_1_0/fcnvme_141_ns", "NSID" : 1, "UUID" : "72b887b1-5fb6-47b8-be0b-33326e2542e2", "Size" : "85.90GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 20971520 }, { "Device" : "/dev/nvme0n2", "Vserver" : "vs_fcnvme_141", "Namespace_Path" : "/vol/fcnvme_141_vol_1_0_0/fcnvme_141_ns", "NSID" : 2, "UUID" : "04bf9f6e-9031-40ea-99c7-a1a61b2d7d08", "Size" : "85.90GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 20971520 }, { "Device" : "/dev/nvme0n3", "Vserver" : "vs_fcnvme_141", "Namespace_Path" : "/vol/fcnvme_141_vol_1_1_1/fcnvme_141_ns", "NSID" : 3, "UUID" : "264823b1-8e03-4155-80dd-e904237014a4", "Size" : "85.90GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 20971520 }, ]
Configure el adaptador de FC de Broadcom para NVMe/FC
Puede usar el siguiente procedimiento para configurar un adaptador de FC Broadcom.
Para obtener la lista más actual de adaptadores compatibles, consulte "Herramienta de matriz de interoperabilidad de NetApp".
-
Compruebe que está utilizando el adaptador compatible.
# cat /sys/class/scsi_host/host*/modelname LPe32002-M2 LPe32002-M2
# cat /sys/class/scsi_host/host*/modeldesc Emulex LightPulse LPe32002-M2 2-Port 32Gb Fibre Channel Adapter Emulex LightPulse LPe32002-M2 2-Port 32Gb Fibre Channel Adapter
-
Compruebe que
lpfc_enable_fc4_type
está establecido en "3".# cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type 3
-
Compruebe que los puertos del iniciador están en funcionamiento y que pueden ver las LIF de destino.
# cat /sys/class/fc_host/host*/port_name 0x100000109b1c1204 0x100000109b1c1205
# cat /sys/class/fc_host/host*/port_state Online Online
# cat /sys/class/scsi_host/host*/nvme_info NVME Initiator Enabled XRI Dist lpfc0 Total 6144 IO 5894 ELS 250 NVME LPORT lpfc0 WWPN x100000109b1c1204 WWNN x200000109b1c1204 DID x011d00 ONLINE NVME RPORT WWPN x203800a098dfdd91 WWNN x203700a098dfdd91 DID x010c07 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203900a098dfdd91 WWNN x203700a098dfdd91 DID x011507 TARGET DISCSRVC ONLINE NVME Statistics LS: Xmt 0000000f78 Cmpl 0000000f78 Abort 00000000 LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000 Total FCP Cmpl 000000002fe29bba Issue 000000002fe29bc4 OutIO 000000000000000a abort 00001bc7 noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000 FCP CMPL: xb 00001e15 Err 0000d906 NVME Initiator Enabled XRI Dist lpfc1 Total 6144 IO 5894 ELS 250 NVME LPORT lpfc1 WWPN x100000109b1c1205 WWNN x200000109b1c1205 DID x011900 ONLINE NVME RPORT WWPN x203d00a098dfdd91 WWNN x203700a098dfdd91 DID x010007 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203a00a098dfdd91 WWNN x203700a098dfdd91 DID x012a07 TARGET DISCSRVC ONLINE NVME Statistics LS: Xmt 0000000fa8 Cmpl 0000000fa8 Abort 00000000 LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000 Total FCP Cmpl 000000002e14f170 Issue 000000002e14f17a OutIO 000000000000000a abort 000016bb noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000 FCP CMPL: xb 00001f50 Err 0000d9f8
-
Activa 1 MB de tamaño de E/S (opcional).
La
lpfc_sg_seg_cnt
El parámetro debe configurarse en 256 para que el controlador lpfc emita solicitudes de E/S de hasta 1 MB de tamaño.# cat /etc/modprobe.d/lpfc.conf options lpfc lpfc_sg_seg_cnt=256
-
Ejecute
dracut -f
el comando y reinicie el host. -
Después de que se inicie el host, compruebe que lpfc_sg_seg_cnt está establecido en 256.
# cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt 256
-
Compruebe que está utilizando el firmware lpfc recomendado de Broadcom y el controlador de la bandeja de entrada:
# cat /sys/class/scsi_host/host*/fwrev 12.8.340.8, sli-4:2:c 12.8.340.8, sli-4:2:c
# cat /sys/module/lpfc/version 0:12.8.0.1