jump to navigation

How I converted to paravirtual SCSI controllers from LSI March 30, 2011

Posted by Brent Quick in : vSphere 4.1 , trackback

Looking at having moved from vSphere 4.0 to 4.1 I was interested in what knobs I might turn to get more performance out of my vm environment which consists of the following IBM x3650, x3650 M3, and DS3400 FC SAN with 15K SAS drives.  This led me to look at the higher performance paravirtual SCSI controllers instead of the existing LSI controllers.  Enhanced in update 1 to support boot disks it seemed like time to give them a try, but how to convert my existing LSI controllers to paravirtual?First a little background on the paravirtual SCSI controller from VMware KB article 1010398 which discusses how to add a paravirtual controller to an existing build.

PVSCSI adapters are high-performance storage adapters that can result in greater throughput and lower CPU utilization. PVSCSI adapters are best suited for environments, especially SAN environments, where hardware or applications drive a very high amount of I/O throughput. PVSCSI adapters are not suited for DAS environments.

Problem with that KB is that I do not want to add another controller but simply convert my existing.  So after a couple of BSOD’s and some Safe Mode OS boots, I figured out the trick.  (Here is Alan Renouf’s Xtravirt article on how to do it which I found after the fact when researching for this post)

Add an additional disk – say 10 MB – but make sure that the virtual device node is 1:0 or greater so that VMware will add a new controller.  If you do not have a floppy device attached to your vm add that as well and set the device type to a floppy image in the data store.  Once the controller is added set that controller to be a paravirtual type and boot the vm.  Windows should find the device and add the driver but if not then perform normal steps to add it.  Once confirmed as being loaded (device manager) you can shut down the vm.  Now you are in the home stretch, simple remove the other hard drive (which removes the other controller) and switch the existing LSI to paravirtual (click on the controller and then the change type button) and boot the vm.  If all things operate as they should you should see your server boot normally.

Note: This is for Windows only since I am not running any flavors of Linux, but the KB article does cover several distro’s.

Comments»

1. Bobby - April 21, 2011

Thank you for such an excellent article.

I was thinking down similar lines to what you’ve done above, but got stumped on adding a secondary virtual SCSI adapter to my ESXi VMs. The key was you pointing out I need to set the device ID on the temp HDD to 1:0 on greater.

Incidentally, there was no need for me to add a floppy drive – just the temp HDD was enough.

Furthermore, it’s interesting that VMware’s stance to advise against this setup for DAS. My server is used at home, and is a modded Acer X1301, with the optical drive taken out, and second hard drive in. All storage is linked through an Adaptec 2405 hardware RAID card – no SAN or the like. My decision to try the paravirtual SCSI was because, when 2 or more machines are started up, everything gets saturated, and the performance is litteraturely unusable (all network coms full down at points). Switching to paravirtual SCSI seems to have corrected this, with performance usable with my 2 VMs now (although testing has only been about 10 mins!).

Thank you again – really appreciate you sharing the knowledge, and excellent article.

All the best,

Bobby

2. Tero - September 5, 2011

Many thanks for a great tip.

I also struggled with the same issue, has a couple of BSOD’s and then found your straight-forward article. It helped a lot.

Thanks!
-Tero-

3. Brent Quick - September 5, 2011

Bobby,

Thanks for the feedback the flopy was for the drivers (not explained in post) since I thought that I might need them for the 2003 VM’s but I think VMware tools provided them to OS.

4. Brent Quick - September 5, 2011

Tero – Glad to help. The Xtravirt article should get higher search results then it does, I only found it after I had converted and was checking out other sources.

Thanks

5. Zetmor - September 15, 2011

Nice trick. Thanks, it might solve a datastore performance issue we have with Citrix virtual servers we have. And I’m converting my templates to PVSCSI.
:o)

6. Lewis - June 19, 2013

Doesn’t VMware pick the most appropriate one based on the OS selection?

7. Brent Quick - June 20, 2013

VMware picks the one that has the greatest stability and reliability. Performance at the price of stability is a end user decision. That being said, I have never had an issue with the Paravirtual adaptor and have seen some modest gains for certain VM’s. It is all depends on what you define as “most appropriate” ;-)

Thanks!