Chapter 11. Configuring NVMe over fabrics using NVMe/FC
The Non-volatile Memory Express™ (NVMe™) over Fibre Channel (NVMe™/FC) transport is fully supported in host mode when used with certain Broadcom Emulex and Marvell Qlogic Fibre Channel adapters.
11.1. Configuring the NVMe host for Broadcom adapters
				You can configure a Non-volatile Memory Express™ (NVMe™) host with Broadcom adapters by using the NVMe management command-line interface (nvme-cli) utility. For more information, see the nvme(1) man page on your system.
			
Procedure
- Install the - nvme-cliutility:- dnf install nvme-cli - # dnf install nvme-cli- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - This creates the - hostnqnfile in the- /etc/nvme/directory. The- hostnqnfile identifies the NVMe host.
- Find the World Wide Node Name (WWNN) and World Wide Port Name (WWPN) identifiers of the local and remote ports: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Using these - host-traddrand- traddrvalues, find the subsystem NVMe Qualified Name (NQN):- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Replace nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 with the - traddr.- Replace nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 with the - host-traddr.
- Connect to the NVMe controller by using the - nvme-cli:- nvme connect --transport fc \ --traddr nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 \ --host-traddr nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 \ -n nqn.1992-08.com.netapp:sn.e18bfca87d5e11e98c0800a098cbcac6:subsystem.st14_nvme_ss_1_1 \ -k 5- # nvme connect --transport fc \ --traddr nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 \ --host-traddr nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 \ -n nqn.1992-08.com.netapp:sn.e18bfca87d5e11e98c0800a098cbcac6:subsystem.st14_nvme_ss_1_1 \ -k 5- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Note- If you see the - keep-alive timer (5 seconds) expired!error when a connection time exceeds the default keep-alive timeout value, increase it using the- -koption. For example, you can use- -k 7.- Here, - Replace nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 with the - traddr.- Replace nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 with the - host-traddr.- Replace nqn.1992-08.com.netapp:sn.e18bfca87d5e11e98c0800a098cbcac6:subsystem.st14_nvme_ss_1_1 with the - subnqn.- Replace 5 with the keep-alive timeout value in seconds. 
Verification
- List the NVMe devices that are currently connected: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
11.2. Configuring the NVMe host for QLogic adapters
				You can configure a Non-volatile Memory Express™ (NVMe™) host with Qlogic adapters by using the NVMe management command-line interface (nvme-cli) utility. For more information, see the nvme(1) man page on your system.
			
Procedure
- Install the - nvme-cliutility:- dnf install nvme-cli - # dnf install nvme-cli- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - This creates the - hostnqnfile in the- /etc/nvme/directory. The- hostnqnfile identifies the NVMe host.
- Reload the - qla2xxxmodule:- modprobe -r qla2xxx modprobe qla2xxx - # modprobe -r qla2xxx # modprobe qla2xxx- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Find the World Wide Node Name (WWNN) and World Wide Port Name (WWPN) identifiers of the local and remote ports: - dmesg |grep traddr - # dmesg |grep traddr [ 6.139862] qla2xxx [0000:04:00.0]-ffff:0: register_localport: host-traddr=nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 on portID:10700 [ 6.241762] qla2xxx [0000:04:00.0]-2102:0: qla_nvme_register_remote: traddr=nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 PortID:01050d- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Using these - host-traddrand- traddrvalues, find the subsystem NVMe Qualified Name (NQN):- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Replace nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 with the - traddr.- Replace nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 with the - host-traddr.
- Connect to the NVMe controller using the - nvme-clitool:- nvme connect --transport fc \ --traddr nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 \ --host-traddr nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 \ -n nqn.1992-08.com.netapp:sn.c9ecc9187b1111e98c0800a098cbcac6:subsystem.vs_nvme_multipath_1_subsystem_468\ -k 5- # nvme connect --transport fc \ --traddr nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 \ --host-traddr nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 \ -n nqn.1992-08.com.netapp:sn.c9ecc9187b1111e98c0800a098cbcac6:subsystem.vs_nvme_multipath_1_subsystem_468\ -k 5- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Note- If you see the - keep-alive timer (5 seconds) expired!error when a connection time exceeds the default keep-alive timeout value, increase it using the- -koption. For example, you can use- -k 7.- Here, - Replace nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 with the - traddr.- Replace nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 with the - host-traddr.- Replace nqn.1992-08.com.netapp:sn.c9ecc9187b1111e98c0800a098cbcac6:subsystem.vs_nvme_multipath_1_subsystem_468 with the - subnqn.- Replace 5 with the keep-live timeout value in seconds. 
Verification
- List the NVMe devices that are currently connected: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow