VMware vSphere

 View Only
  • 1.  Switch from scsi to nvme for windows server 2019 with SQL

    Posted Jun 17, 2025 02:21 AM

    Hello everyone, 

    I wanted to improve SQL performance in my VMware environment and recently I found out about the nvme controller and that it can actually be faster. Currently, my SQL running on WS 2019 has a scsi controller. Do you have any proven methods of migrating to another controller? I tried changing to nvme, but after this change the machine does not start. Please let me know if you have any proven methods.
    Enjoy :)



  • 2.  RE: Switch from scsi to nvme for windows server 2019 with SQL

    Broadcom Employee
    Posted Jun 17, 2025 07:45 AM
    This swap is technically working, but make sure to *create a snapshot*
    before making any critical changes.

    Here’s the recommended method to switch from a SCSI to an NVMe controller:

    1.

    *Add the NVMe controller* to the VM while keeping the existing SCSI
    controller.
    2.

    *Power on the VM* and confirm that both NVMe and SCSI controllers appear
    in Device Manager. This ensures the OS loads the necessary NVMe drivers.
    3.

    *Power off the VM*, then *move the virtual disk (VMDK)* from the SCSI
    controller to the NVMe controller.
    4.

    *Power on the VM* and verify the OS can boot successfully.
    5.

    Once confirmed, you can *remove the SCSI controller*.

    *Important:* Do *not* perform all actions (add NVMe, move disk, remove
    SCSI) in a single step. This may cause boot failure due to missing drivers.

    --
    This electronic communication and the information and any files transmitted
    with it, or attached to it, are confidential and are intended solely for
    the use of the individual or entity to whom it is addressed and may contain
    information that is confidential, legally privileged, protected by privacy
    laws, or otherwise restricted from disclosure to anyone else. If you are
    not the intended recipient or the person responsible for delivering the
    e-mail to the intended recipient, you are hereby notified that any use,
    copying, distributing, dissemination, forwarding, printing, or copying of
    this e-mail is strictly prohibited. If you received this e-mail in error,
    please return the e-mail to the sender, delete it from your computer, and
    destroy any printed copy of it.




  • 3.  RE: Switch from scsi to nvme for windows server 2019 with SQL

    Posted Jun 17, 2025 10:07 AM

    Hello,

    My best guess is that the OS doesn't have the NVMe driver installed, and won't boot if the OS disk is already assigned to the NVMe controller.

    I've changed the SCSI controller type many times before (e.g. from LSI to Paravirtual), using the steps from this KB341383. It worked fine every time.

    I assumed it would work similarly switching from SCSI to NVMe, so I tested it in my home lab.
    ...and it worked using the steps below: (If I switch back to SCSI and then attempt to switch again to NVMe, it no longer works... likely because the BCD gets confused after multiple controller changes?).

    Make sure you have a full backup of the machine, just in case. 

    1. Power down the VM.
    2. Right-click the virtual machine and click Edit Settings.
    3. Add new device > NVMe Controller.
    4. Add a new hard disk of 1GB and change its Virtual Device Node to the 'New NVMe Controller'.
    5. Power on the virtual machine.
    6. After the operating system boots, log in to the virtual machine. The operating system automatically detects the new controller and adds the appropriate drivers (you can check from Device Manager under Storage controllers).
    7. Power down the virtual machine.
    8. Right-click the virtual machine and click Edit Settings.
    9. Change the desired virtual disks their Virtual Device Node to the 'New NVMe Controller'.
    10. Power on the VM.
    11. Remove the temporary added virtual disk of 1GB.




  • 4.  RE: Switch from scsi to nvme for windows server 2019 with SQL

    Posted Jun 17, 2025 10:07 AM

    Yes, normally when I introduce a new controller I add a new controller and lets say a 1GB Disk on that contoller while powered off, then power on make sure the OS installs the Driver and then shutdown, remove the 1GB disk and switch the primary to the new Controller ( paravirutal or NVME).

    All my VM's are running NVME in my lab and I can notice a big difference in performance.  

    Thanks