Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Article Number: 000122093


How to configure Persistent Memory/NVDIMM on Windows Server 2019 Guest OS

Summary: The article provide great information on how to configure Persistent Memory/NVDIMM on Windows Server 2019 Guest OS.

Article Content


Instructions

On the previous article, "Configuring NVDIMM-N on PowerEdge Servers with Windows Server 2019", you learned about how NVDIMM-N works and how to configure Persistent Memory on Windows Server 2019. This article explains how to configure NVDIMM/PMEM on Windows Server 2019 Guest OS (VM).Example on how to configure NVDIMM on WS2019 Guest OS.

----------------
Configuration
----------------

Server: R740xd fully updated (BIOS, Firmware, Drivers and OS)
  •     2 x CPUs (Intel(R) Xeon(R) Gold 6126T CPU @ 2.60GHz)
  •     2 x NVDIMM-N (16GB DDR4 2666MHz) + 12 x regular RDIMMS (also 16GB DDR4 2666MHz)
  •     BOSS (Boot Optimization Storage Solution) – 2xM.2 SATA SSD in HW RAID used for the OS Installation
     
    HOW16794_en_US__1icon DellEMC recommends updating BIOS, firmware, drivers and Operating System as part of your scheduled update cycle. BIOS, firmware, driver and OS updates are intended to improve the reliability, stability and security of your system.


    -------------------------------------------------------------
    Storage-Class Memory support for VMs - Limitations
    -------------------------------------------------------------

  •     No VM Migrations
  •     No runtime resizing
  •     No Thin-Provisioning or Snapshots
  •     Implemented through PowerShell

    ------------------------------------------------------
    Configuring NVDIMM/PMEM in a Windows VM
    ------------------------------------------------------

    1. Enable Persistent Memory in the R740xd BIOS.

    HOW16794_en_US__2Figure1
    Figure 1. BIOS Memory Settings

    HOW16794_en_US__3Figure2
    Figure 2. Memory Settings

    HOW16794_en_US__4Figure3
    Figure 3. Persistent Memory Menu

    2. Install Windows Server 2019.
    3. Install the Hyper-V role.
    4. Verify if SCM disk has been detected by the Hypervisor.

    HOW16794_en_US__5Figure4
    Figure 4. Memory Devices on Device Manager

    HOW16794_en_US__6Figure5
    Figure 5. PMEM Devices listed on PowerShell

    HOW16794_en_US__7Figure6
    Figure 6. Physical Disks

    5. Create a PMEM Disk.

    HOW16794_en_US__8Figure7
    Figure 7. PMEM Unused Regions

    HOW16794_en_US__9Figure8
    Figure 8. Creating New PMEM disks

    HOW16794_en_US__10Figure9
    Figure 9. PMEM Disks on Get-Physical Disk output

    6. Initialize the new PMEM Disks, create new volumes, then format them. Use the parameter -DAX $True in order to properly enable SCM for Hyper-V utilization. You won’t be able to present NVDIMM to VMs if -DAX option is not present.

    HOW16794_en_US__11Figure10
    Figure 10. Identify PMEM Disks only

    HOW16794_en_US__12Figure11
    Figure 11. Initialize Disk, Create New Volume and Format Volume

    7. Confirm that DAX is enabled.

    HOW16794_en_US__13Figure12
    Figure 12. DAX Mode Enabled

    8. Create a new Gen2 Virtual Machine, then Install Windows Server 2019.
    9. Shutdown the VM.
    10. Add PMEM Controller to the VM.

    HOW16794_en_US__14Figure13
    Figure 13. Adding VM PMEM Controller

    11. Create .vhdpmem file (new file extension). You will need to specify the -Fixed parameter. The vhdpmem disk won’t work with dynamic VHD configuration.

    HOW16794_en_US__15Figure14
    Figure 14. Creating New VHDPMEM VHD

    12. Attach VHDPMEM to the VM.

    HOW16794_en_US__16Figure15
    Figure 15. Attaching VHDPMEM Disk to VM

    13. Start the VM.
    14. Connect to the VM (PowerShell, Console or RDP) and verify if PMEM disks are available.
    HOW16794_en_US__17Figure16
    Figure 16. PMEM in the VM

    15. Initialize Disk, create new volume, then format it. For the SQL guys (SQL 2016 or above), if you want to take advantage of NVDIMMs, format the volume as DAX inside the VM (use the -IsDAX $True parameter).

    HOW16794_en_US__18Figure17
    Figure 17. PMEM on VM – Initialize Disk, Create Volume and Format Volume


    -----------------------------------
    Reference Powershell Cmdlets
    -----------------------------------

    #Get PMEM Physical Device Information
    Get-PmemPhysicalDevice

    #Get Physical Disk Information
    Get-PhysicalDisk

    #Get PMEM Unused Region and Create New PMEM Disk
    Get-PmemUnusedRegion | New-PmemDisk -Atomicity BlockTranslationTable

    #Get PMEM Disk Information, Initialize Disk, Create New Partition and Format the Volume in DAX Mode
    Get-Disk -FriendlyName Persistent* | Initialize-Disk
    Get-Disk -FriendlyName Persistent* | New-Partition -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem NTFS -isDAX $True

    #Verify if DAX is Enabled
    Get-Volume -DriverLetter x,x | Get-Partition | FT DriverLetter,IsDAX

    #Get VM, Add PMEM Controller to the VM and Verify PMEM Controller Information
    Get-VM
    Add-VMPmemController -VMName xxxxxx
    Get-VMPmemController -VMName xxxxxx

    #Create VDHPMEM File
    New-VHD -Path X:\xxxxx.vhdpmem -SizeBytes xxGB -Fixed

    #Attach VHDPMEM File to the VM, Get VM Disk Information
    Add-VMHardDiskDrive -VMName xxx -ControllerType PMEM -Path X:\xxxxx.vhdpmem
    Get-VMHardDiskDrive -VMName xxxxxx
     
    This article was written by Fabiano Teixeira.
    Have any comments, questions or suggestions? Please contact us on WinServerBlogs@dell.com

Article Properties


Last Published Date

21 Feb 2021

Version

3

Article Type

How To