Configuración de host de NVMe/FC para Oracle Linux 8.1 con ONTAP
Es posible configurar NVMe over Fibre Channel (NVMe/FC) en hosts de iniciador que ejecutan Oracle Linux 8,1 y ONTAP como destino.
Compatibilidad
NVMe/FC es compatible con ONTAP 9.6 o versiones posteriores para Oracle Linux 8.1. El host Oracle Linux 8,1 puede ejecutar tráfico NVMe y SCSI a través de los mismos puertos de adaptador de iniciador de Fibre Channel (FC). Tenga en cuenta que el iniciador de Broadcom puede servir tráfico NVMe/FC y FCP a través de los mismos puertos de adaptador de 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
-
Las secuencias de comandos de conexión automática NVMe/FC nativas no están disponibles en el paquete nvme-cli. 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 8.1.
-
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 8.1. 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 8.1 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.0.7.el8uek.x86_64
-
Actualice el paquete nvme-cli.
# rpm -qa | grep nvmefc nvmefc-connect-12.6.61.0-1.noarch
-
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", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="NetApp ONTAP Controller", ATTR{iopolicy}="round-robin"
-
En el host Oracle Linux 8.1, compruebe la cadena del NQN del host en /etc/nvme/hostnqn y verifique que coincide con la cadena de NQN del host para el subsistema correspondiente en la cabina de ONTAP.
# cat /etc/nvme/hostnqn nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
*> vserver nvme subsystem host show -vserver vs_nvme_10 Vserver Subsystem Host NQN ------- --------- ---------------------------------------------------------- Oracle Linux_141_nvme_ss_10_0 nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
Si las cadenas hostnqn no coinciden, debe utilizar el comando vserver modify para actualizar la cadena NQN del host en el subsistema de cabina de ONTAP correspondiente para que coincidan con la cadena NQN del host de etc/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 /etc/modprobe.d/lpfc.conf.
-
A continuación, instale los scripts de conexión automática lpfc recomendados:
# rpm -ivh nvmefc-connect-12.6.61.0-1.noarch.rpm
-
Compruebe que los scripts de conexión automática están instalados.
# rpm -qa | grep nvmefc nvmefc-connect-12.6.61.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 8.1 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 814vWBNRwfBCAAAAAAAB NetApp ONTAP Controller 2 107.37 GB / 107.37 GB 4 KiB + 0 B FFFFFFFF /dev/nvme0n2 814vWBNRwfBCAAAAAAAB NetApp ONTAP Controller 3 107.37 GB / 107.37 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.5a32407351c711eaaa4800a098df41bd:subsystem.test \ +- nvme0 fc traddr=nn-0x207300a098dfdd91:pn-0x207400a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 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, lo que significa que el tamaño máximo de solicitud de E/S puede ser de hasta 1MB. Sin embargo, para emitir solicitudes de I/O de tamaño 1 MB para un host Broadcom NVMe/FC, debe aumentar el lpfc
valor del lpfc_sg_seg_cnt
parámetro a 256 desde el valor predeterminado de 64.
-
Ajuste la
lpfc_sg_seg_cnt
parámetro a 256.# cat /etc/modprobe.d/lpfc.conf options lpfc lpfc_sg_seg_cnt=256
-
Ejecute un
dracut -f
y reinicie el host. -
Compruebe que
lpfc_sg_seg_cnt
tiene 256.# cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt 256
|
Esto no es aplicable a los hosts Qlogic NVMe/FC. |