Virtual vs Physical Disks

Soldato
Joined
4 Dec 2002
Posts
3,983
Location
Bourne, Lincs
Currently having a bit of a discussion with a supplier over one of our systems, its a SQL based system and is having performance problems through the web interface, but if we execute commands directly on SQL there is no performance problems.

So in trying to convey the problem our supplier has said "First of all it concerns me that the system is running on virtual disks (as these will read and write data much slower than a physical disk"

Now I believe his impression of VM's is VMWorkstation as he sent me over a screenshot of him doing some testing showing high disk queue lengths. Now our VM's are running on ESXi with HP Blades, lots of CPU, lots of RAM, dual gig links to the Lefthands with iSCSI HBA cards where the VM's are stored there is no local storage on the blades.

Now I think he is wrong on this point, as the system is running on a high end SAN which in theory be no different if it was physical server with a bunch of disk in it.

Does my theory sound correct?

Kimbie
 
You will not get the same perform from virtual as you will from a physical, although with the right setup it should be pretty close and unnoticable.

I think he means you are using vhd files rather than pass-through disks.
There is a performance hit using vhd's instead of pass through, especially with sql server. But it's probably less than 10%.....

Run perfomance monitor and prove there are no issues!
 
That is my thinking as well, our setup pretty makes the difference un-noticable if anything the VM's boot a bunch load quicker than a physical.

Kimbie
 
Are you using raw device mappings? All firmware up to date? What's the latency of the disks when under load?
 
A volume is created on the Lefthand which is then added into our vCenter server, this then has a VMFS volume created on it which we then install an OS into.

The latency of the disks is about 5ms - 15ms and that is cluster wide on our system.

If you run resource monitor and add in the avg disk length that will spike, and our supplier is telling us using physichal disk will remove this bottle neck, but if we are getting that now on albeit a virtual system with a high end SAN with its own SAN network I can not see how pyhsical disk will be any better.

Kimbie
 
this then has a VMFS volume created on it which we then install an OS into.

You mean you create a VMDK on, which is assigned to a VM and THAT has the OS installed onto it?

Edit: Also, dust off your favourite IRC client and join irc.freenode.org #vmware. Very knowledgeable people in there who could also be of help.
 
Last edited:
A datastore is raw disk that is presented to ESXi, you create VM's and their virtual hard drives ON a datastore. You dont present a datastore TO a VM. Presenting storage to a virtual machine can be done as a VMDK (a virtual hard disk created on a datastore) or as an RDM (raw device mapping, commonly Fibre Channel) or as iSCSI.

Using VMDK's is "another layer" in the presentation translation of the disk and will introduce latency and raw throughput limitations, albeit quite small. Using RDM's means that the disk is presented directly to the VM from the SAN and will benefit from that direct access.

Sorry if I am preaching to the choir but your terminology usage doesn't match what I know or am familiar with, so just trying to bottom it out.
 
Sorry about that, its been a long day.

1. We create a volume on the Lefthand and assign our blades to it
2. Once assigned we hope over to our vCenter, add the Lefthand into the qLogic HBA cards, and scan for new storage and VMFS.
3. We then go to Storage, Add Storage and create a data store and format it to VMFS
4. Create a VM and place it in that Datastore

Hope that makes sense, the reason why we believe there is nothing amis with the understructure as we have a lot of VMs and if look at the performance on the Left-hands and in vCenter the disk usage, network usage barely gets off the bottom line.

Kimbie
 
Vendors will always try to push disk because it a) pushes the focus from your system and b) disk subsystem is probably the biggest bottleneck with virtualised SQL

Have you ran any diag across the SAN just to be sure its healthy - e.g. no crazy io?
 
From what I can tell the SAN is very healthy, looking at the performance monitor its got activity, even when running tests on the SQL box we see no spikes or anything like that on the SAN performance.
 
Will give that a go, whats the best way of running this for 24 hours to a CSV so I can pull it into Excel and look at it?
 
Win 2008?

Just create a data collector set (you can save it as a csv file once the capture has finished).
 
Last edited:
Cheers for that, got it all scheduled up and running. If you want a CSV make sure you you change the Perfomance counter data collector to CSV from Binary
 
How do you mean?

The volume has a datastore created in it the size of the volume, then the VM's are created with a disk of about 100Gb thin provisioned, and the VM is using about 70Gb of that thin provisioned disk.
 
Back
Top Bottom