AIX

 View Only

Support for creating NVMe shared namespace with AIX

By YADAGIRI RAJABOINA posted Mon January 08, 2024 04:48 AM

  

Contributors: Hanumanthu H, Yadagiri Rajaboina, Harsha Kotapati

In NVMe technology, a namespace (NS) is a collection of logical block addresses (LBA) accessible to host software. NVMe specifications support two types of namespaces – private and shared. Multi controller capable NVMe SSDs like dual port NVMe drives present independent controller interfaces to the host operating system. A private namespace can only be accessed from, or attached to the controller where it is created in. It cannot be accessed from any other controllers of the multi-port SSD. Namespaces created as shared, can be accessed from multiple controllers (multiple I/O paths) of an NVMe sub-system.  The below figure shows shared NS labelled as B, that can be accessed from both the controllers.

AIX NVMe storage software is enhanced to create shared NS starting from the following releases:

·      AIX 7.3 TL2 SP1 and   AIX 7.2 TL5 SP07

                                          

One of the use cases of creating shared namespaces is to re-allocate an NVMe drive to any port within the IBM NVMe expansion drawer (NED24) to maintain visibility as required across the controllers.

            

With AIX, the namespace configuration and provisioning (Create, Attach and Deletion etc.,) is done using System Management Interface Tool (SMIT) interface. The SMIT menus are enhanced with shared namespace creation sub option as shown in following screen outputs.

                

1.    1. New sub-option "Create as shared?" for Create Namespace option.

# smit nvme and then navigate to  "Namespace Management and Attachment" -->    "Create Namespace" options.

1.   

2.   2. Choosing sub-option value for creating shared namespace – press either [Tab] or [ESC+4] to choose the supported sub-option values.

Once ‘Create as shared? value is chosen as “yes”, Press Enter to go ahead with creation of shared namespace.

  Successful creation of shared namespace

If the controller doesn’t support shared namespaces, SMIT interface displays error as shown in below screen.

End of the Document 

4 comments
41 views

Permalink

Comments

Mon February 26, 2024 01:01 AM

This is not a hardware mirroring. Currently the NVMe drives with FC -
(#ES3B) - Enterprise 1.6 TB SSD PCIe4 NVMe U.2 module for AIX/Linux
(#ES3D) - Enterprise 3.2 TB SSD PCIe4 NVMe U.2 module for AIX/Linux
(#ES3F) - Enterprise 6.4 TB SSD PCIe4 NVMe U.2 module for AIX/Linux
(#ES3H) - Enterprise 800GB SSD PCIe4 NVMe U.2 module for AIX/Linux
#EKF3) -Enterprise 1.6 TB SSD PCIe4 NVMe U.2 module for AIX/ Linux
(#EKF5) -Enterprise 3.2 TB SSD PCIe4 NVMe U.2 module for AIX/ Linux
(#EKF7) -Enterprise 6.4 TB SSD PCIe4 NVMe U.2 module for AIX/ Linux
(#EKF9) - Enterprise 800GB SSD PCIe4 NVMe U.2 module for AIX/Linux

 will support Shared namespaces, which has a usecase - creating shared namespaces to re-allocate an NVMe drive to any port within the IBM NVMe expansion drawer (NED24) to maintain visibility as required across the controllers.

Mon February 19, 2024 01:45 PM

which NVMe drives can be used for Shared namespaces?   Is this a kind of Hardware mirroring ? 

Fri February 16, 2024 02:42 AM

Hi, nvmemgr is a internal tool. System Management Interface Tool (SMIT) interface is the supported tool for customer usage.
No plans to add manpage page for nvmemgr. Thanks.

Wed January 31, 2024 12:41 PM

Great article!  perhaps a future update might also show the CLI version (nvmemgr I presume?) in addition to the SMIT menus.  Hoping we get a manpage added for nvmemgr in the future as well!