The company where I work has been using virtualization in development, QA, testing, etc., for many years now. We have not even attempted virtualization in production. Things change. But, before we did it, I thought I’d bounce the question out to the people who know, What are some things to watch for in using virtual servers in a production environment.

Introduction

Flat out, I asked people over Twitter. The overall message was extremely positive. No one suggested it was a bad idea. A few thought that some high volume servers are better served by physical boxes. Volume in this case could be read as high amounts of reads or high amount of writes, both were suggested as reasons to avoid virtualization. The cause for this is clear, from each individual; the number one problem was around I/O.

I put out a general call for information and received a pretty good set of responses. I’m not expert enough in all this technology to put together a single summary, so I’ll more or less present the information as it was presented to me. When all the information was bounding past, a few people asked me to aggregate it, so here it is.

What to watch for

According to Allen Kinsel (blog|twitter), a DBA for a multi-line insurance company who manages Oracle, Sybase and SQL Server and is very experienced with virtualization in support of all his products, I/O can be more than double from a virtual machine. With this in mind, Mr. Kinsel and Brent Ozar (blog|twitter), the second non-Microsoft employee to be certified as a SQL Server Certified Master (MCM) in North America (I think that’s the claim), both recommend avoiding the use of raw LUN’s unless you experience severe I/O binding issues. Brent and Allen both recommend you get limited VSphere access in order to closely monitor I/O through the VMWare interface because the normal I/O measurements would not be accurate (Allen suggests buying the VM admin some beer, probably excellent advice). Brent goes on to outline a few other specific points. Set the minimum memory reservation on the VM to avoid the balloon driver telling SQL it’s out of memory. Brent suggests that you use as few virtual CPUs as possible. If the physical box averages 25% CPU load across four physical cores, then only add 2 virtual cores. Brent also suggests using IOMeter or SQLIO to test the configuration. If you’re maxing at 100-125mb/sec then you’re looking at an I/O bottleneck and will need to make adjustments to the system. Brent says that with an fiber channel SAN such as we use that we should be fine with I/O as long as we’re not using physical boxes in active/active multipathing and that we have more than 2 HBAs per physical box.

Denny Cherry (blog|twitter), a SQL Server MVP and consultant, just sent me a list of things to keep an eye on but all largely related to I/O

Disk I/O

CPU Queuing on the host

Memory over commit

Disk I/O over commit

CPU over commit

Documentation

Several people, rather than send me stories, or in addition to the stories, simply pointed out documentation of which you should take advantage. First, and most important of these from the stand point of SQL Server and virtualization is that the Professionall Association of SQL Server users (PASS) has a special interest group dedicated to virtualization: http://virtualization.sqlpass.org

Summary

That’s it. I won’t pretend that I understood everything. I’m passing it along in a semi-structured format as a public service. I also received some information from the MVP back channels, but I can’t publish that without permission. Suffice to say, while extremely useful, none of it changed the overall picture as represented by the information listed above.

UPDATE: Lulu has removed, not just my stolen material, but all offending material. That means some of the links in this post will no longer work. Back to the post…

And really bad plagiarism at that.

I received an email from someone suggesting I check out a book on Lulu.com, that it might be a copy of my book. Sure enough, this other guy, William Miller, had posted my book, with the original cover (that had my name on it) and the original description on his own “author” page. He also offered a decent little discount on the price. Nice guy. I tried to get an image of his copy of my book, but I can’t find anything on any of the internet archives, which is just as well. His work does show up in a Google search and you can see the cached page from a Bing search.

I contacted Lulu.com and they promptly took my book down. Thanks guys.

But, as I type this, Mr. Miller still has an account. Further, works published under his name are copies of older works, although again, he offers a discount. At least he took the extra effort to provide a different cover graphic. I’ve been in touch with other authors that were on his page (one of them was the original contact that got this started) and it appears that some of them have had their work removed. I appreciate Lulu’s fast response to this issue, but from what I can see, at this point, they’ve only done about a 1/4 of what they need to do. They should pull down all of Mr. Miller’s work and shut down his access to the system. Then, they need to do at least a little bit of oversight to ensure that people can’t do this in the future.

Just so we’re clear, Simple-Talk and Red Gate set up that Lulu page. I wrote the book on spec for them (and thanks, again) and they have publishing rights (although I have copyright). I’m not fighting over this for money because I won’t make a dime if an extra book sells on Lulu, or anywhere else for that matter. I just really and truly hate being ripped off, even though, in this case, money is not involved. I’m especially peeved because of the amount of work that goes into writing a book, even an obscure technical manual that’s only 200 pages long.

I also want to emphasize another point. I think Lulu is providing a great service and they seem to be doing things in an above the board, if somewhat inadequate, fashion. Based on the experiences that I’ve had to date, I’d recommend them for people who wanted to self-publish. I don’t mean for this to be a hit piece on Lulu. I want to get the guy who did this smacked around a bit more and make sure he, or others of his ilk, can’t do it again.

And one other point, kind of a side point, I started posting about this when I found out about it on Twitter. My first response from Lulu was through Twitter. I’m actually wondering if they first saw my complaint on Twitter instead of in the email I sent. I’m going to chalk it up tot he power of Twitter.

If you do want a print copy of the book in question, you can get it on Lulu, or a slightly newer version on Amazon.

I’m always impressed and amazed with what happens in the SQL Server community. If you need help, there almost always seems to be a willing and able hand that reaches down to pull you up. It happens again and again, all around. I take part in SQL Server Central, one of the best, and biggest, communities out there for SQL Server. The people that pitch in every day are some of the nicest you’re ever going to meet, but they’re also extremely well informed. I regularly benefit from people swinging by this blog to offer suggestions or solutions or improvements to my ramblings. I’ve been making friends and developing contacts at the PASS Summit for the last four years and at my local user’s group for the last two. I’ve also been using Twitter for some entertainment, chat, and the occasional question or answer regarding SQL Server. You can get involved with Twitter by looking at the list of active DBA’s over at SQLServerPedia.

The reason I’m talking about all this? I’m trying to implement spatial data in SQL Server 2008. I’ve played with it a bit, but now I’m really drilling down for the first time. I have a vendor that’s supply our company with some geospatial information and we need to import it automatically into the database. The format I had was .GML. After searching through the internet, several times, several ways, to try to find whatever methods for loading .GML files had already been worked out, I came up empty handed. Apparently no one does this much. So, in addition to trying to refine or broaden my search to land more pertinent data, I sent out a question on Twitter. I recieved a response very shortly, pointing me to a resource. I sent him a message and I received enough information back to get over the hump I was in. Easy-Peasy Lemon Squeezy. Not only did I have more information than previously, but I had another contact that I hope I can return the favor and help out someday.

Another triumph for networking, communication and community. This stuff works.

Andy Warren has just posted the last entry in a very interesting set of posts about building and working your own network. I think they’re all worth a read, especially if you’ve been thinking about blogging, Twitter, LinkedIn or just volunteering at your local users group.

After much discussion in a set of emails between some of the more dangerous people that attend the PASS conference, I’ve decided to create a Twitter account. I created it under my name for the time being. I may blow it up later & go with something else. I’m not sure. I still don’t quite get the point of this one, but I’m hooked in now. If you’re interested in “following” me (like I could lead you anywhere), click here.