NVMe storage controller support in PD15 - is it automatic?

Discussion in 'Installation and Configuration' started by KorkyPlunger, Aug 16, 2019.

  1. KorkyPlunger

    KorkyPlunger Kilo Poster

    Messages:
    110
    PD 15 has support for NVMe controllers. If we are migrating pre-PD15 virtual machines to PD15, is there anything that needs to be done to enable this option, or is it automatic? I did not see any option for explicitly enabling this in the settings.
     
  2. JasperV3

    JasperV3 Bit Poster

    Messages:
    3
    It is not automatic. Under the VM settings, go to Hardware tab and select Hard Disk, under Advanced Settings change the location from SCSI to NVMe.

    For Linux VMs, Ubuntu appears to recognize the drive when you attempt to install, but when you go to reboot, I get a "No boot device is available, press Enter to continue", so it appears you cannot use it as a boot drive for Linux as of yet.
    For Windows 10, when I changed the boot drive to NVMe, it started a diagnostic/automatic repair screen but would not boot. You may have to try a clean install to get it to work.

    However, running a quick benchmark using fio random read/write shows the following performance improvements:

    SATA: 124 MB/sec read, 41MB/sec write, iops read/write 30918/10310
    NVMe: 276 MB/sec read, 92MB/sec write, iops read/write 68929/22986

    https://arstech.net/how-to-measure-disk-performance-iops-with-fio-in-linux/

    The relevant command was here (just update the filename to point to a directory on the drive you want to test):
    fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75
     
    Dmitry@Parallels likes this.
  3. KorkyPlunger

    KorkyPlunger Kilo Poster

    Messages:
    110
    Thanks @JasperV3, I was able to find the NVMe option thanks to your post.

    However, I also have the same issue with my existing VM -- it will not boot if I change the location from SATA 0:1 to NVMe1. Is there any way to migrate the HD for an existing windows 10 VM?
     
  4. KorkyPlunger

    KorkyPlunger Kilo Poster

    Messages:
    110
    To provide more context, when I change the controller location from SATA to NVMe, the error I get is "There is no operating system installed on this virtual machine". If I then change it back to SATA I can boot again.

    Screen Shot 2019-08-28 at 9.51.11 AM.png
     
  5. JasperV3

    JasperV3 Bit Poster

    Messages:
    3
  6. Dmitry@Parallels

    Dmitry@Parallels Staff Member

    Messages:
    526
    Hi @KorkyPlunger, theoretically, it's possible to make Windows boot from the disk on NVMe controller if Windows will have NVMe controller in boot drivers. To try it, (while having boot disk on SATA) add a second virtual disk with NVMe controller to Windows VM, then boot to Windows > shut down Win > now switch boot disk to NVMe controller > try to boot Windows. Let me know if it helped.
     
  7. JasperV3

    JasperV3 Bit Poster

    Messages:
    3
    You can try this, which works on Ubuntu:

    To enable NVMe:
    1. Shut down your VM.
    2. Right click on the VM in Control Center to show in Finder.
    3. Right click on the VM in the and Show Package Contents
    4. Open config.pvs with Text Editor
    5. Set <EfiEnabled> to 1
    6. Save and exit
    7. Back in Control Center, click on configuration
    8. Under Hardware:Hard Disk 1:Advanced Settings, change Location: to NVMe1
     
  8. KorkyPlunger

    KorkyPlunger Kilo Poster

    Messages:
    110
    @JasperV3 Thank you for your suggestions. I tried your step by step approach but this does not work; windows goes into repair mode. Perhaps the issue is indeed that my VM's boot drive is using MBR and not GPT.

    @Dmitry@Parallels I tried your approach as well of adding a second hard drive. I was able to add a second drive using NVME to my vm, boot to windows and add it to windows (formatting it to use GBT), then shutting down and switching the original boot drive to NVME, but unfortunately windows still reports a missing operating system. In fact, it's interesting -- if I enable the "select boot device on startup" option, the bios seems to think it's still a SATA drive (or it's confusing it with something else... the boot options don't make sense):

    Screen Shot 2019-09-16 at 10.38.59 AM.png
     
  9. KorkyPlunger

    KorkyPlunger Kilo Poster

    Messages:
    110
    @JasperV3 and @Dmitry@Parallels -- I got this to work. This missing piece was that I needed to convert my boot partition to use GPT instead of MBR, which I did using the mbr2gbt.exe tool provided by Microsoft.

    After converting to GBT and reconfiguring the VM's hard drive to use NVMe1, it still would not boot; it seemed to be using the normal BIOS instead of UEFI. I couldn't figure out how to change that via the configuration screen, so I changed it in the config.pvs as @JasperV3 suggested here. After that change, the VM booted with no issues.

    Thanks for all the help!
     

Share This Page