We are pondering trying to set up a SQL 2008 instance inside a VM for a production environment. All our SQL instances use iSCSI over gigabit ethernet to talk to a NAS, as would this new instance. Any reason this is a bad idea or any considerations to make this work well? The VM would be running in Xen 5.5 or we could set it up in Hyper-V if there's a compelling case for that. And the VM's VHD would be stored on a different NAS then the SQL storage is on.
I helped in setting up a virtual SQL environment inside of Hyper-V not too long a go. Unfortunately, it was for a separate company from mine and we've now put a fairly large split as to who looks after what. Due to this I don't have direct access to the environment to see how it's performing but I do often speak with the guy who runs it and he says things work just fine for them. Their setup is quite similar to what you list as they also work with a NAS device.
If you're considering going the Hyper-V route, I believe Microsoft has some interesting licensing options. It might be worth checking out this link:
Also, here is the Hyper-V FAQ:
I also have a small SQL test environment running on ESX which works quite nicely. This environment doesn't talk to a NAS device so it's hard for me to say how well it would work in a situation like that.
Xen is great and we love it dearly. I/O is of concern as Randolph mentioned. This can also be partially addressed by using paravirtualized IO drivers for Xen. You will also get better performance if you use local disks instead of SAN via iSCSI but if iSCSI meets your needs then you are good to go.
Unless SQL 2008 Enterprise the license won't allow multiple instances on one box, so you are only consolidating hardware.
NICs that have virtualization support will be close to wire speed, that shouldn't be much concern - most modern servers can saturate the NIC with iSCSI traffic without too much effort.
Disk I/O is a concern, but you said no local disks so you've worked around that one already.
This talks about some surprises on performance with local disks: http://www.bitshop.com/Blogs/tabid/95/EntryId/29/Can-I-virtualize-SQL-Server-Is-performance-good.aspx
Steve Radich - Founder - http://www.BitShop.com