Change to Paravirtual (PVSCSI) for a Windows guest

By | November 21, 2014

Change LSI SAS to Paravirtual (PVSCSI) for a Windows guest

About a month ago I was listening to the #vBrownBag Follow-Up Virtualizing Microsoft SQL w David Klee (@kleegeek). He was explaining on to tune Microsoft SQL for the virtual environment. There were a couple of points that I bought out of his session.

  1. Create Windows partitions for the OS, Data, TempDB, and Logs files
  2. Make sure to use the PVSCSI driver on your data partitions

In a test environment we tested the first option.  It increase the speed of the database(s) by 150%.  We are just about to test the second option.  This brings me to this post. How to use and setup PVSCSI.

Check to see if the PVSCSI-adapter is supported for your guest operating system and your ESXi-version.  You can check this VMware knowledge base article for limitations and requirements: Configuring disks to use VMware Paravirtual SCSI (PVSCSI) adapters (1010398). Remember that Microsoft Cluster Server (MSCS) is not support with the VMware paravirtual SCSI controller.

We are going to change the SCSI controller after the system has already been setup.

Add the SCSI-controller

You will run into problems if you change your SCSI controller type to PVSCSI.  The problem is that Windows has the driver built into the OS but it is not loaded.  When you would just change the controller type Windows will see an unsupported storage controller during the boot process and blue screen.

So the first thing we need to do is add the PVSCSI-adapter in the virtual machine and then start the machine and have Windows load the driver.  Edit the virtual machine settings and add a SCSI Controller.   I will be doing this from the web client. Don’t forget to change the type of this new controller to VMware Paravirtual.  This can be done while the virtual machine is on.

VMware-Para

Now we need to double-check to make sure the driver has been installed.

 

Device-Manger

 

Change SCSI controller

It is recommended by VMware that you do not use the PVSCSI on the boot disk.  So on the boot disk leave the default LSI SAS and on the other drivers change the controller to the PVSCSI.

So first find the controller number

SCSI-Number

This tells me that I need to use SCSI 1:X for my Paravirtual

SCSI-X

As you can see the Virtual Device Node is SCSI 1:3.  It is also grayed out.  You can not make changes to this setting while the virtual guest is running.

Once the changes has been made start your virtual guest and enjoy the Paravirtual speed.

I will let you know how our testing goes in another blog later this month.

Thanks for reading.

 

6 thoughts on “Change to Paravirtual (PVSCSI) for a Windows guest

  1. Dan

    Do you have a kb article that shows the recommendation not to use paravirtual for the boot disk? I had not heard that before.

    Reply
  2. Pingback: Recap of #vDM30in30 – Keep Going! @ Virtual Design Master

  3. Dan

    I have used http://kb.vmware.com/kb/1010398 for steps to add the paravirtual adapter to a VM, and the only restrictions for Windows I saw were to not use it if you were using Microsoft clustering, or with spanned volumes. Otherwise I thought the recommendation was to use it for all disks.

    Reply
    1. James Post author

      I just ran into a hug performance issue with a Microsoft domain controller. Once I moved the boot volume back to the LSI SAS the performance was back to normal. From the VMware point of view, if you do not require the high I/O there is no reason to use the Paravirtual SCSI. You can gain similar performance by leaving it at the default LSI SAS controller.

      Reply
  4. Pingback: Newsletter: December 20, 2014 | Notes from MWhite

Leave a Reply