Access NVMe volumes for virtual device targets in E-Series - Linux (NVMe over FC)
You can configure the I/O directed to the device target based on which OS (and by extension multipathing method) you are using.
For SLES 12, I/O is directed to virtual device targets by the Linux host. DM-MP manages the physical paths underlying these virtual targets.
Virtual devices are I/O targets
Make sure you are running I/O only to the virtual devices created by DM-MP and not to the physical device paths. If you are running I/O to the physical paths, DM-MP cannot manage a failover event and the I/O fails.
You can access these block devices through the dm device or the symlink in /dev/mapper; for example:
/dev/dm-1 /dev/mapper/eui.00001bc7593b7f5f00a0980000af4462
Example
The following example output from the nvme list command shows the host node name and its correlation with the namespace ID.
NODE SN MODEL NAMESPACE /dev/nvme1n1 021648023072 NetApp E-Series 10 /dev/nvme1n2 021648023072 NetApp E-Series 11 /dev/nvme1n3 021648023072 NetApp E-Series 12 /dev/nvme1n4 021648023072 NetApp E-Series 13 /dev/nvme2n1 021648023151 NetApp E-Series 10 /dev/nvme2n2 021648023151 NetApp E-Series 11 /dev/nvme2n3 021648023151 NetApp E-Series 12 /dev/nvme2n4 021648023151 NetApp E-Series 13
| Column | Description | 
|---|---|
  | 
The node name includes two parts: 
  | 
  | 
The Namespace column lists the namespace ID (NSID), which is the identifier from the storage array perspective.  | 
In the following multipath -ll output, the optimized paths are shown with a prio value of 50, while the non-optimized paths are shown with a prio value of 10.
The Linux operating system routes I/O to the path group that is shown as status=active, while the path groups listed as status=enabled are available for failover.
eui.00001bc7593b7f500a0980000af4462 dm-0 NVME,NetApp E-Series size=15G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | `- #:#:#:# nvme1n1 259:5 active ready running `-+- policy='service-time 0' prio=10 status=enabled `- #:#:#:# nvme2n1 259:9 active ready running eui.00001bc7593b7f5f00a0980000af4462 dm-0 NVME,NetApp E-Series size=15G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=0 status=enabled | `- #:#:#:# nvme1n1 259:5 failed faulty running `-+- policy='service-time 0' prio=10 status=active `- #:#:#:# nvme2n1 259:9 active ready running
| Line item | Description | 
|---|---|
  | 
This line and the following line show that  This namespace is owned by controller A.  | 
  | 
This line shows the failover path for namespace 10, with a  This namespace is owned by controller B.  | 
  | 
This example shows   | 
  | 
Note that the   |