Archive

Archive for the ‘Virtualization 101’ Category

Troubleshooting ESX

April 21st, 2009

I was at the Louisville VMUG on Friday talking about Troubleshooting ESX.  In my preparation for the event, I was looking for a good PowerPoint presentation I could reuse and I stumbled across a sweet little gem of a document.  Dudley Smith, a VMware Technical Account Manager (TAM) out of Virginia, created a cool one page Mind Map for Troubleshooting ESX.  Does it address every potential issue you’ll come across?  No, of course not.  But it’s a heck of a good place to start.  One look at his Mind Map and I thought to myself, “that would be a great thing to have printed out and hanging over every VMware admin’s desk.”

Well, long story short, I snagged it and threw it up on the big screen behind me as I was presenting.  During the presentation (and many times since the presentation) I had many requests to post the PDF for download. 

But since I couldn’t just start passing out someone else’s work as my own, I sent Dudley a quick email asking for permission to distribute.  He responded by saying, “Sure, publish away!  You might enjoy this too… ”  Attached was another one page document that visually shows the TCP/UDP ports leveraged in VI3.5.  Nice!  Again, another great document to have printed out and hanging over your desk, IMHO.

So, courtesy of the author, Dudley Smith, here are two documents that I would recommend you add to your tool belt.  (click the images to download the PDFs)

 

mind_map_vi35

 

 

connections_and_ports

 

If you like them, leave a comment for Dudley.

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Digg] Digg This Post  [Post to StumbleUpon] Stumble This Post 

ESX, Troubleshooting, VMware, Virtualization 101

Virtualizing Tier 1 Applications

August 31st, 2008

With virtualization finding its way into every nook and cranny of the data center, it would seem that tier 1 applications are the only safe harbor for the few remaining “Server Huggers” out there.  Their mantra usually sounds something like this …

“My application is too I/O intensive for virtualization,” or “MY xyz application vendor doesn’t support VMware” or possibly “My application is too important to be virtualized” (this is one of my favorites).  Believe it or not, I even heard one guy say “you can virtualize my server when you pry it from my cold dead hands” … um, wow.  He has issues.  Last I heard, he was de-virtualizing a server farm at the NRA.  Hehehe.

Anyway, for the rest of us with our heads NOT buried in the sand, I’m here to tell you that tier 1 applications can and should be virtualized.  I’ll go so far to say that if you’re not virtualizing tier 1 applications, you are doing your company a major disservice.

Below is a brief overview of a presentation I gave in Cincinnati a few weeks ago to a group of about 75 professionals.  The topic was “Virtualizing Microsoft Exchange.” And while the content that follows is geared towards the Microsoft Exchange application, it can really apply to any tier 1 application.

Performance

I’ll start with performance because this is typically the first objection to virtualizing a Tier 1 app.  The perception is that virtualization creates too much overhead and therefore applications in a VM will certainly underperform applications running on a physical server.  This current perception was born out of a previous reality.  In the early days, virtualization really did introduce enough overhead to warrant physical servers for applications with high I/O. But a perfect storm is a-brewin’ and I summarize it with the following equation:

hypervisor improvements + server hardware improvements + application improvements =
better than native performance

That’s right.  Mileage will vary, but given a properly architected solution, virtual can actually outperform physical. And even in scenarios where physical outperforms virtual, the delta is probably measurable, but not observable.  So let’s take a closer look at the three areas I mentioned in the equation above.

Hypervisor Improvements

The hypervisor (AKA, the virtualization layer, AKA the Server Hugger’s worst nightmare) has come a long way in the past few years.  And in VMware’s ESX product, the latest version has the following performance improvements over previous versions:

  • Increased guest OS memory to 64GB
  • Increased physical RAM on ESX to 256GB
  • TCP segment offload to further lower CPU utilization
  • NUMA optimizations improve multiple VM performance
  • Support for 64-bit clustering with boot from SAN

These improvements alone can capture almost all tier 1 applications, but combined with the next two, almost no tier 1 app can hide from becoming a candidate for virtualization.



Server Hardware Improvements

We’re now seeing server hardware with 256GB+ of physical RAM. Multi-core CPU’s with 2 and 4 cores are running in production today and 6/8/12 cores are coming soon. And best of all, hardware-assisted virtualization technologies are emerging, pushing the virtualization overhead down to the hardware, getting the hypervisor ever closer to near native performance.

And because the vast majority applications simply can’t fully utilize hardware with this much horsepower, ironically, virtualization is the only way to truly capture the full ROI of these physical investments.



Application Improvements

As applications continue to evolve, bugs are fixed and bad code is optimized, performance improvements within the application are being realized, further reducing the need for a physical server. Speaking specifically about Microsoft Exchange, the following performance improvements exist in 2007 over 2003:

Exchange 2003

Exchange 2007

32-bit Windows 64-bit Windows
900MB database cache Multi-GB database cache
4Kb block size 8Kb block size
High read/write ratio 1:1 read/write ratio
Requires high-end storage Affordable storage (iSCSI)
Storage is common pain point Eliminates storage pain point
50% reduction in disk I/O

Of course the improvements for this piece of the equation will vary from one app to the next.



Bottom Line: Performance should not be a barrier to virtualizing an application.


A Virtual Server is Better than a Physical Server

Tier 1 applications are the most critical, important applications in your organization and therefore they need to run on the best infrastructure possible.  So almost by definition, tier 1 applications need run in a VM.  Here are a few of my favorite reasons why a VM is better than a physical server.  Keep in mind, these aren’t the only reasons, just my favorites.

Reason #1: Better up time

The “eggs in one basket” argument no longer applies.  And for those of you who don’t know what I’m talking about, the objection usually sounds something like this … “If I put 30 VMs on a single physical server, and that physical server crashes, then I’ve just lost 30 applications instead of one!”  This was a very legitmate concern five years ago.  But today you can get better uptime in a VM than you can with a physical machine.  In the worst case scenario, if a physical server dies, those VMs are automatically powered up on a different physical server.  In my experience, the VMs are usually back up and taking requests in under two minutes (and yes, I’ve timed it with a stop watch).  And this is worst case scenario for a VM today!  What’s best case scenario for restoring a physical server after a hardware crash?  Weeks?  Days?  Hours (if you’re lucky and really prepared)?

So with today’s technology (and it’s only going to get better with what’s coming soon), worst case scenario for a VM is better than best case scenario for a physical server.  And you might ask, what’s best case scenario?  Even with hardware maintence, you can achieve 100% uptime with VMs.  How?  Check out a few of VMware’s features like VMotion, DRS and Update Manager.


Reason #2: Better hardware utilization

The average server utilization across the globe is less than 10% and in my experience, it’s often less than 5%.  Why?  A single application can rarely harness the power of the hardware it’s running on.  And for a ton of different reasons (which I won’t go in to here), critical applications typically require a dedicated server.  That is like buying a Ferrari and never driving it more than 5 mph … what an awful waste!  Get the most for your money by putting each app in a VM, running multiple VMs per physical server.  Open that baby up and let it do what it was built to do!  I think the following two screen shots do a great job of showing you what I’m talking about.

CPU

CPU Utilization Before VMware

CPU of a Physical Server after VMware

CPU Utilization After VMware



Reason #4: Avoid over provisioning

Why waste time and energy planning for future capacity (which is really nothing more than an educated guess based upon a ton of assumptions)?  The tendency has been to over provision hardware to account for future growth, but this often leads to under utilized hardware.  With Virtual Machines, additional CPU and RAM can be added at anytime with a few clicks of a mouse.  And moving to more powerful systems in the future can be done in real time with VMotion and/or Storage VMotion.  With virutalization, it only makes sense to simply build your application for the capacity you need and then throttle as necessary.



Reason #5:  Better Security

Typically, protection engines come in two forms, host based and network based.  The problem with network based security software is that it has no (or very limited) visibility in to the host.  And the problem with host based security software is that it’s running in the same context as the malware that it’s trying to protect against.  And the creators of malware are not stupid! They continually find new ways to hide their malware and/or attack the protection engine, creating a never ending viscious circle of cat-and-mouse.

But we now have new, trusted layer with the much smaller codebase of the hypervisor where we can provide protection from outside of the operating system.  A protection engine from this layer provides a much stronger defense because it’s “underneath” the VM, completely isolated from the malware.  And this is a great place for a protection engine to live because it can see all I/O of the VM and inspect each of the virtual components (CPU, Memory, Network and Storage).  Better yet, we now have the ability to do things like:

  • Intercept, view, modify and replicate I/O traffic from one, many or all VMs
  • Provide inline protection or passive monitoring
  • Mount and read virtual disks

Securing a Virtual Machine



Reason #6: DR made easy

In the physical world, DR is a pain in the butt and super expensive.  The reason is DR solutions for physical servers often require similar hardware at the DR site to avoid issues with driver, hardware, and software compatibility.  These dependencies are eliminated in a virtual world, which means any VM can run on any physical server with an ESX hypervisor.  And because a VM is completely encapsulated, the entire VM exists in a small set of files.  This simplifies replication and therefore simplifies the process of keeping your production and your DR environment in  sync.  And finally, servers at the DR site can be used for other purposes, like test and development, until they are required for DR purposes.  Which means an investment in a DR infrastructure will not site idle.


Support

I love it when I hear someone say “my application vendor says they won’t support VMware.” Hmmmmm.  Here’s a crazy question for ya, isn’t it VMware’s job to support VMware?  Now, I’m sure what they really mean is that the vendor won’t support their application in a virtualized environment.  But just to make things clear, if you have a problem with VMware … call VMware.

And support for applications in a virtualized environment is rapidly changing.  Examples are numerous, but two big ones that come to mind are SAP and Microsoft.  In the earlier part of the year, SAP announced full support for their software on VMware.  And just recently, Microsoft announced the Server Virtualization Validation Program (SVVP) where they will support their OS’s and a good list of their applications in a virtualized environment. And VMware’s ESX is the industry’s first hypervisor to be validated by Microsoft.

What about those vendors who still don’t support their applications in a virtualized environment?  Most of my customers do two things.  First, they put pressure on the vendor to start providing support.  For large companies, this can be very effective since the software providers want to keep their big customers happy.  Second, many of them have a “swing server.”  So when a vendor’s support team requires them to reproduce the problem on physical hardware, they simply V2P the VM on the swing server and continue on their merry way.  (Yes, I know, this isn’t always as easy as I make it sound.  Though it often can be just that easy)


Still not convinced?

The table above is the results of a survey of 500 VMware customers taken over a year ago, and the numbers are growing rapidly.   Simply put, customers are virtualizing tier 1 applications today.



Powered by ScribeFire.

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Digg] Digg This Post  [Post to StumbleUpon] Stumble This Post 

Performance, Virtualization 101 , , ,

Why you should care about virtualization (part 2)

July 1st, 2008

In my first post in this series I stated that you need to know about and care about virtualization in your company. And I sincerely mean this regardless of your role or position. I don’t care if you are in sales or marketing or finance or development. I don’t care if you are the CEO of a billion dollar company or if you are a software developer trying to debug some code or if you are a marketing manager relying on business systems (such as email) to do your job. Simply put, a properly virtual platform will have profound and compelling benefits that will affect your ability to do your job and grow your company.

But how?

I’m glad you asked. Quite frankly, the benefits are so numerous I find it hard to know where to begin. But at the end of the day, the bottom line is what counts here in corporate America, so let’s start there.

Virtual servers are not bound by the same physical limitations that constrict traditionally built servers. And what this means is that we can now safely put many virtual servers onto a single physical server. Consolidation ratios of 30:1 are typical and upwards of 75:1 are certainly not uncommon.

And let’s think about this for a second. Assuming a 50:1 ratio, if my company is spending millions of dollars a year on a data center that has 5000 physical servers, for example, how much money would my company save by creating 5000 identical virtual servers and running them on a solid virtual platform running on only 100 physical servers? That’s right, 5000 physical servers can be reduced to 100 or less. Think about what that means in terms of hardware, power and colling, provisioning and administration, etc. The dollar savings are absolutely profound. I’m not kidding. In a later post I’ll show you some real world TCO and ROI calculations and the numbers are seriously unbelievable. Even the most stern and stodgy of CFO’s will be as giddy as school girl. Very exciting.

And let’s think about this a little more. If a virtual platform can save your company millions of dollars, what could that money be used for? Could it be used to hire top notch talent to grow your business? Or could it be used to purchase more advertising, marketing, or sales talent? It’s a rhetorical question, you don’t have to answer.

The next benefit is undoubtedly the most powerful and exciting, but it’s one that most individuals don’t understand right away. Everyone gets the dollar cost savings instantly. It’s easy to see and understand. But really the most powerful benefit of virtualization is mobility.

Revisiting our VPN example from the last post, what does a VPN allow you to do? It allows you to be mobile and access the corporate office from anywhere. You are now free from the home office and you can quickly pick up and go get business done. Similarly, a virtual data center allows your infrastructure to quickly move, change and adapt to meet your business requirements. Once my servers and applications are virtual, they become highly mobile, and they can easily move from one physical server or infrastructure to another with very little effort.

This mobility has a tremendous impact on all sorts of things that you care about. All of the applications you use every day (email, web, file sharing, etc.) can now move around with zero downtime and in a manner that is absolutely transparent to you. This allows for things like zero downtime maintenance and significant performance improvements for your applications.

Since this post is getting a little long, I’ll continue to address the remaining benefits of creating a virtual infrastructure in part three of this series.  Sorry for the delay between posts, it has been a very busy month.  Part three should come along much quicker (I hope).

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Digg] Digg This Post  [Post to StumbleUpon] Stumble This Post 

Virtualization 101

Why you should care about virtualization (part 1)

June 1st, 2008

With this first post (well, technically, it’s the second post) I suppose the proper place to start is at the most logical place, the beginning. And I believe the beginning is to answer the simple question, “What is virtualization and why the heck should I care about it?” I get asked this question quite a bit and, not surprisingly, it’s often by people who are not in the IT department.

I have the fortuitous opportunity to work with some of the largest companies in the world and, believe me, the guys I work with on a daily basis are well aware of the benefits of virtualization.  Trust me, these guys have drank Kool-Aid and they are shoving virtualization down the throats of anyone within earshot, and certainly anyone they have authority over.  Of course, there are exceptions to this rule and every so often I run into someone who simply doesn’t get it.  Actually, in my humble opinion, it’s not even that that don’t get it, I believe they’re afraid of it.  And because they’re afraid of it, they bury their head in the sand and don’t make any effort to understand it. But, I digress.

Having said this, I have a sneaky suspicion that there area ton of people out there who have heard about virtualization, aren’t necessarily afraid of it, but don’t fully understand what it is or, more importantly, how deep and wide the benefits of virtualization extend.  So, before I start to address the benefits of virtualization, let me clearly answer the second part of my original question, which is, “why should you care?”

No matter who you are or what your role is, virtualization has the power to absolutely and, quite dramatically, affect your productivity, your career and your company.

Now, even when I read that statement, I almost don’t believe it.  If I had heard it for the first time, I would have laughed and written it off as ramblings from someone who obviously needed psychiatric attention. After all, technology has quite often been more of a pain in the a$$ than anything else, right? I certainly know that I get all kinds of pissed off when the email server goes down or when the information I need is unavailable due to a server crash.

But before you completely disregard my statement, remember that your perception is based upon an assumption that the “problematic” technology was built upon a proper foundation.  Er, uh, before I bring anyone’s job into question, let me say that it’s not that that the foundation was incorrectly built at the time. Rather, virtualization is relatively new and it’s breaking all the rules, creating a completely new kind of foundation.

You see, it’s not that your email server is fundamentally flawed (though, it could be), but a weak foundation will crumble the strongest fortress. Conversely (and here’s an added bonus of virtualization), a solid foundation will support the weakest outhouse (figuratively speaking of course, I’m not *really* calling your email server a piece of crap).

Ok, ok, ok, ok, I’m rambling. You get my point and I assume you’re itchin’ for me to move along. But I still haven’t explained what virtualization is, which is something I should probably do before going into the specific benefits that will improve your life.  So here is my own personal definition … wait for it … wait for it … ready?  “As if.”

Huh? Yep, “as if.”  Virtualization allows people and things to operate / function / interact “as if” they were real.  Let me give you an example.  A VPN (a virtual private network) is something you’re probably very familiar with.  And what does a VPN do?  It allows you to communicate with the home office as if you were really there.  Another example?  Okay, how about virtual reality?  It allows you to interact with a game or a movie as if it were real (actually, I think this is a bad example because I haven’t found a single virtual reality game that comes even close to feeling real … but you get the point).  So how does this translate to information technology?  Well, virtualization creates a foundation that allows servers, applications, storage and networks to function as if they were real or physical.

A key point to make here is that virtualization is, as it should be, completely transparent.  To the user (or to the OS, application, etc.) there is no difference between a virtual server and a physical server. There’s no need to completely retrain your users on how to use a virtual server and you’re not going to get 1000 support calls after converting a physical server to a virtual server.  A properly built virtual infrastructure will have no adverse effects and will only serve to position your infrastructure for a slew of upside benefits.

And I want to stress the word “properly.”  Because an improperly built virtual infrastructure could have exponentially more problems than a physical infrastructure, forcing you to pray to the virtual gods for a quick and painless death.  And if for some reason you decide to ignore this warning and go convert all your servers to virtual machines without any further guidance or preparation, don’t say I didn’t warn you.

I hope I’ve piqued your interest enough to come back for part two, where I’ll go into all the benefits you’ll receive by creating a solid virtual platform.  And believe me, there are a ton of ‘em.  So I hope to see you back here soon.  Until then, check out some of the links to other virutalization blogs I have listed on the right hand side of this page.  I think you’ll find them valuable.

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Digg] Digg This Post  [Post to StumbleUpon] Stumble This Post 

Virtualization 101

Tweet This Post links powered by Tweet This v1.3.9, a WordPress plugin for Twitter.