Virtualizing Servers in Production

June 15, 2010 at 6:00 am (SQL Server 2008, SQLServerPedia Syndication) (, , , , )

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

Disk Performance Information:

http://stef-bauer.com/2010/05/22/richmond-codecamp-disk-io-presentation/

San Multipathing (introductory): http://www.brentozar.com/archive/2009/05/san-multipathing-part-1-waht-are-paths/

SAN Performance Tuning with SQLIO

http://sqlserverpedia.com/wiki/san_performance_tuning_with_sqlio

Virtualization and SAN Basics

http://www.pragmaticworks.com/resources/webinars/April2010webinar.aspx

 Virtualization Information:

How Microsoft IT Reduces Operating Expenses using Virtualization http://blogs.msdn.com/b/nickmac/archive/2010/05/28/how-microsoft-it-reduces-operating-expenses-using-virtualization/

Virtualization Myths

 http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/04/01/some-thoughts-on-the-virtualization-feedback-in-the-sswug-newsletters.aspx

SQL Server Performance on Vmware vSphere: http://blogs.vmware.com/performance/2009/06/sql-server-performance-on-vspehere.html

 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.

Permalink 6 Comments

The SQL Server Community

April 14, 2010 at 8:53 am (PASS, SQLServerPedia Syndication) (, , , , )

I attended, and spoke at, the inaugural meeting of the Seacoast SQL Server User’s group last night. There were about 60 people in attendance. An excellent turn-out and congratulations go out to Mike Walsh (blog | twitter) and the other organizers.

I was curious about something after watching Mike present the PASS monthly slide-deck. He asked how many people were PASS members. Approximately a third of the audience raised their hands. When it was my turn to speak, I asked how many people had heard of Buck Woody (blog | twitter). I was honestly shocked when only about 6 people raised their hands. Then I asked how many had heard of Paul Randal (blog | twitter). This time I had about 9-12 people. Finally, I asked about Brent Ozar (blog | twitter) and only had about 4-6 people raise their hands.

Today I was reading the minutes from the PASS Board meeting from March. Oh, as an aside, well done, thank you, and hearty congratulations to the board for performing this act of openness. In it, they were talking about, what else, the SQL Server Community.

It got me thinking. When I say “community” in referring to the people that use SQL Server, a lot of the times, I’m talking about the vocal and visible people, the PASS board, Brent Ozar, Buck Woody, Paul Randal, Denny Cherry (blog | twitter), I can keep going, all the bloggers I read, all the tweeters/twitterers/whatever that I follow, all the posters at SQL Server Central (especially those on The Thread) and at Ask.SQLServerCentral.com… You get the point. Even with that little list there, I’m leaving out people that I like and admire and learn from. But you know what, most of those people, know who Buck Woody is. Most of those people know who Paul Randal is. Yeah, most of them even know who Brent Ozar is (probably). But, based on my completely un-scientific survey, that’s only about 10-15% of all the SQL Server users out there, at the most 20%.

On the one hand, you can say, “Oh crud. We’re only hitting 10-15% of the users despite busting our behinds writing blog posts, tweeting, answering questions on forums, presenting at user groups, SQL Saturday events, PASS Summits, Connections. I might as well get a case of botulism.” And it could be disheartening. On the other hand, you could say, “Holy crud, we can grow this community three or four times and still not even be hitting half of all the SQL Server users out there. Oh boy, I’m going to blog more, tweet more, write more books…” because our growth potential is HUGE!

So, to the board of PASS I say, again, thanks for posting the minutes, and thank you for your hard work. You guys have fantastic opportunities in front of you. Good luck. To all the bloggers, tweeters, posters, presenters & authors, and my friends that fit many or all those categories, what are you doing right now? We’ve got a market to penetrate. Stop lolly-gagging and get to work.

Permalink 23 Comments