Link to home
Start Free TrialLog in
Avatar of sqlagent007
sqlagent007Flag for United States of America

asked on

Does VMware have the same IO limitations with virtual disks as Hyper-V for SQL Server?

With VMWare do the VMDK files (virtual disks) have the ability to create multiple paths the the SAN controller? Allow me to provide context and background as to why I am asking.

I was recently on a project with Hyper-V and we were migrating SQL Server to a Hyper-V cluster. The customer had purchased a more powerful set of hardware for the hyper-V environment and the thought was, we are giving 2x the amount of hardware to our new SQL Servers, so we will get 2x the performance.

We fought issues for weeks upon weeks, and we finally found out that when using Hyper-V virtual disks (VHDX) files, the VHDX files have a limitation as to the amount of SCSI channels they can establish to the SAN controller. (I am not a SAN guy, so I am paraphrasing) We determined this to be true by adding a second data file to the SQL Server database and moving that data file to a new VHDX drive and the performed the backup in half the time. After speaking with Nutanix, they stated that Windows Hyper-V should directly attach to the LUNs therefore bypassing the hypervisor for the storage layer. The OS and C drive remain on the hypervisor with a VHDX file.

The VM architect stated that this was a problem with only Hyper V and the VMware does not have this problem of creating multiple IO paths from the VMDK files to the SAN controller. I am no SAN admin, but this is hard for me to understand as I think if all my SQL data files (*.MDFs) are inside a virtual container, there must be limitations on this container limiting the amount of IO my SQL data files get.

I am now in another project where the VMware architect has presented virtual disk to the SQL Server, so before I go down this same road, I just want to know if VMware does this better than Hyper-V and will actually allow multiple IO paths from the VMDK files to the SAN controller allowing my SQL data files to leverage parallel IO.

Thanks in advance experts!
Avatar of Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)
Flag of United Kingdom of Great Britain and Northern Ireland image

It seems the discussions is the difference between RAW (RDM) LUNs and Virtual Disk containers (e.g. VMDK or VHD)

does this sound like the discussions, e.g. presenting the SAN LUN direct to the VM?
Avatar of sqlagent007

ASKER

Correct. We found with Hyper-V that we gained acceptable performance by having the SAN / VM team present RAW LUNs to the Guests. When we used VHD files in Hyper-V the performance was horrible for SQL Server. Once we started creating multiple VHDs and striping the SQL Server data files across multiple VHDs the performance improved. However we still ran into issues where the Windows OS was seeing 20K ms disk latency and the Nutanix show less than 3ms latency.

Now I am on a project and the VMware guy is telling me that this will NOT be an issues because VMware does this so much better than Hyper-v. I am just looking for confirmation that this is true. As my SQL brain cannot wrap my head around how VMware would be able to do performance equivalent to RAW LUNs with VMDK files.

Thanks so much for your response and let me know if I provided enough data.
ASKER CERTIFIED SOLUTION
Avatar of Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thank you so much!!!! This is amazing!