HMC & CMC

Manage Virtual Persistent Memory or Dynamic RAM (DRAM) Based memory volumes using HMC

By Pritpal Singh posted Thu August 05, 2021 02:47 AM

  

Virtual Persistent Memory (PMEM) is an enhancement to the IBM Power Systems advanced virtualization platform (PowerVM) which provides the ability to configure persistent volumes using the existing DRAM (dynamic RAM) technology. This persistent memory solution on Power is being made available on POWER9 processor-based systems with just a firmware upgrade at no additional cost. There are no additional hardware components or memory modules required on Power with this solution. This functionality is built using the standard memory DIMMs that are available on Power servers. 

DRAM-based memory volumes presented as virtual persistent memory volumes are engineered to allow Power clients to restart VMs faster for most planned maintenance and unplanned outages without compromising the performance of applications during normal use. One such example use case is for SAP HANA which is aware of the various memory types and can directly store data according to its type, i.e., working memory or persistent memory. Since Virtual PMEM is designed according to industry standards, it works with software versions which support Persistent Memory without any modifications. Virtual PMEM will significantly reduce the shutdown and start-up time of the database compared to disk-based reloads from storage. This significantly improves serviceability for SAP HANA and Linux software maintenance, for large-scale databases. You can refer to the SAP HANA and PowerVM Virtual Persistent Memory whitepaper for more details on use of the Virtual PMEM technology with SAP HANA. 

Virtual PMEM functionality has been added in HMC V9.1.940.0 and in Power firmware FW940. 

The following functions have been added to manage persistent memory DRAM volumes. 

  1. List virtual persistent memory DRAM volumes
  2. Create virtual persistent memory DRAM volumes
  3. Remove virtual persistent memory DRAM volumes
  4. Change virtual persistent memory DRAM volume name 

         

        The following interfaces can be used to manage Virtual Persistent Memory 

        1. Graphical User interface.
        2. REST API
        3. Command Line Interface

        Graphical User Interface to Manage Virtual PMEM volumes:

        HMC GUI to List Virtual persistent memory volume:

        To list all virtual PMEM volumes associated with a partition. 

        Select the partition and click Actions > View Partition Properties to open Partition properties window. Click on Persistent Memory under Properties to open Persistent Memory Window.
        The Persistent Memory window displays all the persistent memory volumes. Click and expand Virtual Persistent Memory to display virtual persistent memory volumes as shown in the below image.

        Graphical user interface, application

Description automatically generated                                                                                                            Figure 1


        As shown in the above image, there is currently one virtual persistent volume associated to the partition. The table displays the volume name, size, current size and volume affinity. Select the Affinity check box if the vPMEM volumes should be provisioned by NUMA node. 

        HMC GUI to Create Virtual persistent memory volume: 


        A Virtual PMEM volume can be created and assigned to the partition by navigating to Partition -> Properties -> Persistent Memory. To create and add a virtual persistent memory volume to a partition, the partition has to be in powered off state. Before creating a virtual persistent memory DRAM volume for a partition, base memory should be assigned to the partition. DRAM volumes are not allowed for partition which are in shared memory mode.  User can use HMC commands or REST/GUI interfaces to assign the memory and other resources to the partition. 

         Click on Add button shown in Figure 1 to create and add a volume to a partition. Enter Volume Name and Volume Size and Select the Affinity check box if the volumes should be provisioned by NUMA node. As shown in the image below, Click on OK button to create the volume. 

        Graphical user interface, text, application

Description automatically generated
           As seen i
        n the below image, a new volume Test2 has been created.
         

        Graphical user interface, application

Description automatically generated


        HMC GUI to
        Remove Virtual persistent memory volume:
         

        To remove a Virtual PMEM volume from a partition, the partition has to be powered off. Once a volume is removed, data on volume will also be deleted and cannot be recovered. 

        When you delete a partition, DRAM volumes which are associated with the partition, will be deleted along with the partition and data on the volumes and cannot be recovered. 

        Select volume and click on Actions > Remove as shown below in the image 

        Graphical user interface, application

Description automatically generated
         A pop-up confirmation window will open before removing the volume as shown below. Click on
        OK button to remove the volume. 

        Graphical user interface, application

Description automatically generated

        As shown in below image,
        volume Test2 has been removed.
         


        Graphical user interface, application

Description automatically generated

        HMC GUI to Change virtual persistent memory volume name: 

        Partition can be in running state or in powered off state to change the volume name. 
        To change volume name, select volume and click on Actions > Modify as shown in the below image 

        Graphical user interface, text, application

Description automatically generated
         
        A pop-up window will open. Enter the new volume name and click
        OK 

        Graphical user interface, text, application

Description automatically generated
         
          As shown in the below image,
        volume name has been changed to NewName.
         

        Graphical user interface, application

Description automatically generated

        Command Line Interface to Manage Virtual PMEM Volumes:

        HMC CLI to List persistent memory DRAM volumes: 

         

        To list all the persistent memory DRAM volumes on a managed system use 

             lshwres -r pmem -m <managed-system> --rsubtype volume 

         It will display volume name, volume id, volume size, volume current size, partition name and partition id to which the volume is associated, volume uuid,  volume affinity, volume type and device on which the volume is created. Device type dram indicates volume is created on the Managed System DRAM.


        To list the persistent memory DRAM volumes on a managed system for a specific partition, filter can be used on the CLI command 

            lshwres -r pmem -m <managed-system> --rsubtype volume –filter lpar_ids=2 

          

        HMC CLI to Create persistent memory DRAM volume: 

        To create and add a persistent memory DRAM volume to an inactive partition use 

             chhwres -r pmem -m <managed-system> -o a --rsubtype volume --volume volumeName  --device dram -p <partition-name> -a "size=512,affinity=1"  

        HMC CLI to Remove persistent memory DRAM volume: 

         

        To remove a persistent memory DRAM volume from an inactive partition use  

            chhwres -r pmem -m <managed-system> -o r --rsubtype volume --volume volumeName -p <partition-name>  

        HMC CLI to Change persistent memory DRAM volume name 

         

        To change a persistent memory DRAM volume name use 

             chhwres -r pmem -m <managed-system> -o s --rsubtype volume --volume volumeName -p <partition-name> -a new_name=<volume-new-name> 

        Rest API Interface to Manage Virtual PMEM Volumes: 

        User can also manage persistent memory DRAM volumes via REST API. 
         

        Virtual Persistent Memory volumes using REST API: 

        API to list all the persistent memory volumes that exist on the managed system that are specified by a ManagedSystem_uuid: 

        https://<<HMCIP>>:12443/rest/api/uom/ManagedSystem/[ManagedSystem_uuid]/VirtualPersistentMemoryVolume 

         

        API to lists persistent memory volumes that are assigned to the logical partition that are specified by a Partition_id: 

        https://<<HMCIP>>:12443/rest/api/uom/ManagedSystem/[ManagedSystem_uuid]/VirtualPersistentMemoryVolume?target=[Partition_id] 

         

        API to retrieve information about a single persistent memory volume that is specified by the VirtualPersistentMemoryVolume_uid. Same API can be used to modify the volume or to remove the volume: 

        https://<<HMCIP>>:12443/rest/api/uom/ManagedSystem/[ManagedSystem_uuid]/VirtualPersistentMemoryVolume/[VirtualPersistentMemoryVolume_uuid] 

        You can refer to the documentation https://www.ibm.com/docs/en/power9/0000-FUL?topic=system-virtual-persistent-memory-volume for more details on rest api's for managing persistent memory volumes.  

        Notes: 

        1. Partition which has at least one persistent memory DRAM volume, cannot be migrated.
        2. Memory mode of partition cannot be changed to shared from dedicated, if the partition has persistent memory DRAM volumes. 
        3. Simplified remote restart capable partitions cannot have persistent memory volumes. 
        4. Backup profile data will take the backup of the volume configuration and Volumes can be restored using the Restore profile data. Only volumes will be created and added to partitions, but data on the volumes cannot be restored. 

        Contacting the PowerVM Team

        Have questions for the PowerVM team or want to learn more?  Follow our discussion group on LinkedIn IBM PowerVM or IBM Community Discussions


            0 comments
            363 views

            Permalink