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.
- Create Windows partitions for the OS, Data, TempDB, and Logs files
- 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.
Now we need to double-check to make sure the driver has been installed.
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
This tells me that I need to use SCSI 1:X for my Paravirtual
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.