Configuración de host de NVMe/FC para Oracle Linux 7.9 con ONTAP
Es posible configurar NVMe over Fibre Channel (NVMe/FC) en hosts de iniciador que ejecutan Oracle Linux 7,9 y ONTAP como destino.
Compatibilidad
NVMe/FC es compatible con ONTAP 9.6 o versiones posteriores para Oracle Linux 7.9. El host Oracle Linux 7,9 puede ejecutar tráfico NVMe y SCSI a través de los mismos puertos de adaptador de iniciador de Fibre Channel (FC). Consulte la "Hardware Universe" para obtener una lista de los adaptadores y controladoras de FC compatibles. Para obtener la lista más actual de configuraciones compatibles, consulte la "Matriz de interoperabilidad de NetApp".
Puede utilizar los ajustes de configuración que se proporcionan en este documento para configurar los clientes de cloud conectados a. "Cloud Volumes ONTAP" y.. "Amazon FSX para ONTAP". |
Limitaciones conocidas
-
Los scripts nativos de conexión automática NVMe/FC no están disponibles en la
nvme-cli
paquete. Use las secuencias de comandos de conexión automática externas proporcionadas por el proveedor HBA. -
De forma predeterminada, el equilibrio de carga por turnos no está habilitado en NVMe multivía. Debe escribir una regla udev para habilitar esta funcionalidad. Los pasos se proporcionan en la sección sobre la habilitación de NVMe/FC en Oracle Linux 7.9.
-
No existe compatibilidad alguna con NVMe/FC y, como consecuencia, no hay compatibilidad con Unified Host Utilities (LUHU) de Linux para NVMe/FC en Oracle Linux 7.9. Utilice la salida del comando ONTAP que está disponible como parte del plugin de NetApp que se incluye en la interfaz de línea de comandos nvme nativa.
-
Actualmente no se admite el arranque SAN mediante el protocolo NVMe-oF.
Habilite NVMe/FC
-
Instale Oracle Linux 7.9 en el servidor.
-
Una vez finalizada la instalación, compruebe que está ejecutando el kernel Unbreakable Enterprise compatible. Consulte "Matriz de interoperabilidad de NetApp".
# uname -r 5.4.17-2011.6.2.el7uek.x86_64
-
Actualice el
nvme-cli
paquete.# rpm -qa | grep nvme-cli nvme-cli-1.8.1-3.el7.x86_64
-
Agregue la cadena siguiente como regla udev separada en
/lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules
. Esto permite el equilibrio de carga por turnos para NVMe multivía.# cat /lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules # Enable round-robin for NetApp ONTAP ACTION=="add", SUBSYSTEMS=="nvme-subsystem", ATTRS{model}=="NetApp ONTAP Controller ", ATTR{iopolicy}="round-robin"
-
En el host Oracle Linux L 7.9, compruebe la cadena NQN del host en
/etc/nvme/hostnqn
Y verifique que coincida con la cadena del host NQN para el subsistema correspondiente en la cabina de ONTAP.# cat /etc/nvme/hostnqn nqn.2014-08.org.nvmexpress:uuid:497ad959-e6d0-4987-8dc2-a89267400874
*> vserver nvme subsystem host show -vserver vs_nvme_10 Vserver Subsystem Host NQN ------- --------- -------------------------------------- ----------- ol_157_nvme_ss_10_0 nqn.2014-08.org.nvmexpress:uuid:497ad959-e6d0-4987-8dc2-a89267400874
Si la
hostnqn
las cadenas no coinciden, debe utilizarvserver modify
Comando para actualizar la cadena NQN del host en el subsistema de cabina de ONTAP correspondiente para que coincidan con la cadena de NQN del hostetc/nvme/hostnqn
en el host. -
Reinicie el host.
Configure el adaptador de FC de Broadcom para NVMe/FC
-
Compruebe que está utilizando el adaptador compatible. Para obtener la lista más actual de adaptadores compatibles, consulte "Matriz de interoperabilidad de NetApp".
# 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
-
La compatibilidad con NVMe en lpfc ya está habilitada de forma predeterminada:
# cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type 3
Los controladores lpfc más recientes (tanto la bandeja de entrada como la bandeja de salida) tienen el valor predeterminado lpfc_enable_fc4_TYPE establecido en 3. Por lo tanto, no es necesario establecer esto explícitamente en el
/etc/modprobe.d/lpfc.conf
. -
A continuación, instale los scripts de conexión automática lpfc recomendados:
# rpm -ivh nvmefc-connect-12.8.264.0-1.noarch.rpm . Compruebe que los scripts de conexión automática están instalados.
# rpm -qa | grep nvmefc nvmefc-connect-12.8.264.0-1.noarch
-
Compruebe que los puertos del iniciador están en funcionamiento.
# cat /sys/class/fc_host/host*/port_name 0x10000090fae0ec61 0x10000090fae0ec62 # cat /sys/class/fc_host/host*/port_state Online Online
-
Compruebe que los puertos iniciadores NVMe/FC están habilitados y pueden ver los puertos objetivo y que todos están en funcionamiento.
En el ejemplo siguiente, solo se ha habilitado un único puerto de iniciador y se ha conectado con dos LIF de destino, como se ve en la salida siguiente:
# cat /sys/class/scsi_host/host*/nvme_info NVME Initiator Enabled XRI Dist lpfc0 Total 6144 NVME 2947 SCSI 2947 ELS 250 NVME LPORT lpfc0 WWPN x10000090fae0ec61 WWNN x20000090fae0ec61 DID x012000 ONLINE NVME RPORT WWPN x202d00a098c80f09 WWNN x202c00a098c80f09 DID x010201 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203100a098c80f09 WWNN x202c00a098c80f09 DID x010601 TARGET DISCSRVC ONLINE
Valide 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
En el ejemplo anterior, se asignan dos espacios de nombres al host de Oracle Linux 7.9 ANA. Estos son visibles mediante cuatro LIF de destino: Dos LIF de nodo local y otros dos LIF de nodo remoto/partner. Esta configuración muestra dos rutas ANA optimizadas y dos ANA inaccesibles para cada espacio de nombres en el host.
-
Compruebe que se han creado espacios de nombres.
# nvme list Node SN Model Namespace Usage Format FW Rev ---------------- -------------------- ----------------------- /dev/nvme0n1 80BADBKnB/JvAAAAAAAC NetApp ONTAP Controller 1 53.69 GB / 53.69 GB 4 KiB + 0 B FFFFFFFF
-
Compruebe el estado de las rutas de ANA.
# nvme list-subsys/dev/nvme0n1 Nvme-subsysf0 – NQN=nqn.1992-08.com.netapp:sn.341541339b9511e8a9b500a098c80f09:subsystem.ol_157_nvme_ss_10_0 \ +- nvme0 fc traddr=nn-0x202c00a098c80f09:pn-0x202d00a098c80f09 host_traddr=nn-0x20000090fae0ec61:pn-0x10000090fae0ec61 live optimized +- nvme1 fc traddr=nn-0x207300a098dfdd91:pn-0x207600a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live inaccessible +- nvme2 fc traddr=nn-0x207300a098dfdd91:pn-0x207500a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized +- nvme3 fc traddr=nn-0x207300a098dfdd91:pn-0x207700a098dfdd91 host traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live inaccessible
-
Compruebe el complemento de NetApp para dispositivos ONTAP.
# nvme netapp ontapdevices -o column Device Vserver Namespace Path NSID UUID Size ------- -------- ------------------------- ------ ----- ----- /dev/nvme0n1 vs_nvme_10 /vol/rhel_141_vol_10_0/ol_157_ns_10_0 1 55baf453-f629-4a18-9364-b6aee3f50dad 53.69GB # nvme netapp ontapdevices -o json { "ONTAPdevices" : [ { Device" : "/dev/nvme0n1", "Vserver" : "vs_nvme_10", "Namespace_Path" : "/vol/rhel_141_vol_10_0/ol_157_ns_10_0", "NSID" : 1, "UUID" : "55baf453-f629-4a18-9364-b6aee3f50dad", "Size" : "53.69GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 13107200 } ]
Habilite un tamaño de I/O de 1MB KB para NVMe/FC de Broadcom
ONTAP informa de un MDT (tamaño de transferencia de MAX Data) de 8 en los datos Identify Controller. Esto significa que el tamaño máximo de solicitud de E/S puede ser de hasta 1MB TB. Para emitir solicitudes de I/O de tamaño 1 MB para un host Broadcom NVMe/FC, debe aumentar lpfc
el valor lpfc_sg_seg_cnt
del parámetro a 256 con respecto al valor predeterminado de 64.
Estos pasos no se aplican a los hosts Qlogic NVMe/FC. |
-
Defina el
lpfc_sg_seg_cnt
parámetro en 256:cat /etc/modprobe.d/lpfc.conf
options lpfc lpfc_sg_seg_cnt=256
-
Ejecute
dracut -f
el comando y reinicie el host. -
Compruebe que el valor esperado de
lpfc_sg_seg_cnt
es 256:cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt