NVMe namespaces on NED24 with FW 1040 and 1050

With firmware (FW) 1040 and 1050, there is one path to device slots 13-24 and a different path to device slots 1-12.

This architecture is described in the following figure:

The NVMe drives in ports 1-12 use the NVMe controller that is associated with drive port 1 (P1). The NVMe drives in ports 13-24 use the NVMe controller that is associated with drive port 2 (P2). To determine the NVMe controller ID that is associated with a NVMe drive, you must query the NVMe drive.

Determining controller IDs by using the nvme command

To get a list of controller IDs that are associated with a NVMe drive, enter the following command:
# nvme list-ctrl /dev/nvme0
An output similar to the following example is displayed:
num of ctrls present: 2
[   0]:0x41
[   1]:0x42
To get the active controller ID for a NVMe drive, enter the following command:
nvme id-ctrl /dev/nvme0 | grep cntlid
An output similar to the following example is displayed:
cntlid    : 0x41

Creating and attaching NVMe namespaces to a NVMe controller

A NVMe namespace is visible only if it is attached to a NVMe controller. If a NVMe namespace is attached to a single NVMe controller, the NVMe namespace is visible only to that NVMe controller. In the NED24 NVMe expansion drawer, if a NVMe namespace is attached to an NVMe controller that is associated with drive port 1 (P1), it is only visible in ports 1-12. Likewise, if a NVMe namespace is attached to an NVMe controller that is associated with drive port 2 (P2), it is only visible in ports 13-24.

You can use the following methods to reallocate an NVMe drive to any port within the NED24 NVMe expansion drawer and to maintain visibility as required:
  • Create the NVMe namespace as a shared namespace.
  • When you attach the NVMe namespace, you can attach it to a NVMe controller list instead of a single NVMe controller. In this case, the NVMe controller list must identify all the NVMe controller IDs that are determined as described in Determining controller IDs by using the nvme command.