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.
4 Answers
Yes I've done it, though not with NAS, but rather SAN (SQL was installed under Hyper-V). Your biggest drawback with virtualising SQL is the I/O, and you're looking at that issue, so go ahead. I'd be interested in hearing how it performs under Xen.
-
Actually, iSCSI is a SAN protocol so the box it is talking to is a SAN device even if it does NAS as well. – Scott Alan Miller Jan 21 '10 at 20:37
-
Excellent. Thanks for letting me know. I'm very rusty on SAN. – Jan 22 '10 at 07:10
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.

- 497
- 4
- 7
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:
http://www.microsoft.com/licensing/about-licensing/virtualization.aspx
Also, here is the Hyper-V FAQ:
http://www.microsoft.com/windowsserver2008/en/us/hyperv-faq.aspx
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.

- 1,869
- 4
- 20
- 34
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

- 573
- 3
- 7