Virtualization

10 virtualization tips every administrator should consider

Virtualization can reduce costs, simplify administration, and enable organizations to get more mileage out of their tech investments. These tips will help you reap those benefits.


virtual_tips_iStock_000001016885Small.jpg

Virtualization has become a necessity for companies of all sizes. From testing sandboxes to production services, virtualization helps businesses get more out of their hardware and do more for their companies than they ever could before. For many companies, this technology is quite new. For others, it's old hat. Regardless of where you fall, virtualization is a vast technology with numerous moving parts. Having the knowledge to get the job done to best suit your needs should be the primary goal for you and your IT staff. With that in mind, here are 10 tips that shouldn't be overlooked by any administrator considering virtualization (or already deep in the trenches of this tech).

1: Plan hardware for virtual capacity

 When you are in the early stages of planning your virtual environment, do not make the mistake of purchasing hardware that can't handle the strain virtualization will put on it. You need to think bigger than usual. Remember, this server might well be hosting numerous virtual machines, so it's going to need the raw horsepower and the space necessary for growth. The last thing you need is to have your host server choke and run out of space for virtual machines. Measure twice, cut once applies. Don't assume a virtual machine will take up little space on that server. And don't assume you'll be hosting only one virtual machine.

2: Keep track of the entire lifecycle of every virtual machine

I've heard of administrators unleashing a virtual machine and leaving it do its thing with little to no monitoring. You need to be keeping track of every one of your virtual machines from birth to death. You should always know how large those VMs have become, the status of their snapshots, how much traffic they are getting, and just about every other piece of information you can get your hands on. It's very tempting to "set and forget" virtual machines, but that is a grievous error and could land you in a world of trouble.

3: Don't virtualize everything

Not everything should be virtualized. That FTP server that gets only internal traffic of maybe a half dozen users? Probably not. Printer server? Probably not. You need to make a specific plan and have sound reasons for everything that is virtualized. The first thing you should ask yourself is, "Why do we need to virtualize Server X?" When you can answer that question with a modicum of certainty, apply that same reasoning to every server you think might benefit from virtualization.

4: Monitor virtual traffic as well as you do non-virtual traffic

Make sure you monitor your virtual traffic as well as you do your non-virtual traffic. Don't be lulled into thinking the virtual hosts are safer simply because you can spin up a snapshot at a moment's notice. That is a false sense of security and should not be considered a substitute for security. But monitoring goes well beyond security. You need to keep abreast of both internal and external traffic to your virtual machines. After a certain period of time, you will know whether specific machines need to be given more resources and whether other virtual machines would be best served as stand-alone.

5: Don't give away virtual resources for free

I've seen it plenty of times: Virtual machines seem to take up so little space and are easily given over to the realm of "free." Don't do this. Don't even migrate a server from stand-alone to virtualized for free. The client needs to understand the benefit they gain from their server being virtualized -- and along with all that comes with virtualization, there is a price. Besides, the technology required for virtualization has a cost associated with it, and sometimes that cost is high. Your organization can't foot that bill alone.

6: Use virtual machines for disposable systems

This might seem a bit strange to some, but there are times when you need a system or service temporarily. There's no better way to supply a temporary service than with virtual machines. Need a temporary FTP server? Virtual machine. Need a temporary print server or Web server? Virtual machine. The nice thing about virtual machines is that they don't cost you the resource of hardware, so bringing a machine to life is quite easy. You could even create specific virtual machines for specific "disposable tasks" and bring them up only as needed.

7: Create virtual machine templates for easy deployment

If you know you'll want to deploy numerous virtual machines based on specific configurations or needs, create a set of templates so that deployment of these machines is as efficient as possible. This can really save you time and effort if you sell a specific service -- say, Web servers -- and sell them often. There's no need for you to constantly reinvent the wheel. Create a template and use it as often as necessary. That time saved is money in the bank for both you and the client.

8: Use "thick provisioning" for disks when performance is key

Most admins will create dynamically allocated disks for their virtual machines. For those VMs that need as much performance as possible, you should allocate thick provisioning. In other words, set an actual size for the disk in the VM configuration. Yes, you will need to make sure you've done the necessary planning to ensure the host machine has enough space to accommodate those thick provisioned virtual machines. But the performance gains you get will definitely be worth the time invested.

9: Install all guest add-ons and virtualization tools

This should be a no-brainer. Most virtual machine tools (like VMware and VirtualBox) offer guest add-ons and other virtualization tools created to improve the experience and performance and to make the communication between the guest and host more seamless. A lot of admins neglect these installations, assuming them to be unnecessary. Install them. Mouse integration, display drivers, guest-to-host time sync, and more can be installed to help make the virtual life a more efficient one. Though they are not required, they do a great job of improving the front-end usability.

10: Keep your host system fully patched at all times

Most assume all the weight is on the guest OS. Although that is true for the virtual machine, the host plays a huge role in this process. The last thing you need is to have your VMs hosted on a vulnerable machine. Sure, if that server isn't hosting a litany of virtual machines, the only thing at risk is a single server's worth of data. But since that server is hosting any number of VMs (some of which could be for clients), the threat of loss is significantly greater. Because of this, you will want to make sure that the host machine is patched up and always secure.

The payoff

At some point, your company is going to want to make the investment in virtual technologies. At that time, you will want to be as prepared as possible. With enough due diligence and work on your part, your virtual machines will save you money, time, and effort -- which, in the end, can make your clients very happy.


About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

10 comments
MusicRab
MusicRab

No backup/recovery tips?

grafx
grafx

On point 3 - Perhaps the writer means these services would happily run alongside other services and wouldn't need their own virtual machine for such a light weight task.

nathan.went
nathan.went

I completely agree with @JTDCTwo & @AstroCreep!  Point 3 looks wrong to me. Why do I want physical hardware hanging around for some light weight tasks?There has to be a damn good reason not to virtualise in my opinion.

samshols
samshols

Nice article. I sure do need a training in Visualization. Any recommendations?

JTDCTwo
JTDCTwo

Great article but No. 3 should have been "Virtualise Everything... Except where there is a REAL technical reason not to."   These days just about everything will run in a virtualised environment and run well.   You may need to tweek the specific configs for some VMs and/or the platform and do some testing to ensure all is good to get them to work perfectly but if it saves another physical host, all the better.   If the VM platform is architected and deployed correctly it should be able to handle whatever you throw at it.   But, if your app or system requires more performance than the VM platform can deliver, then there is your first technical reason to NOT virtualise that app.   Long live virtualisation.

AstroCreep
AstroCreep

Your examples in point 3 are odd to me.  "That FTP server that gets only internal traffic of maybe a half dozen users? Probably not. Printer server? Probably not."

If I have a server that  is only accessed by a handful of people (FTP server example) is an IDEAL candidate for virtualization.  Why would I waste a full physical server taking up (at least) 1 U of rack space when I can create a VM with a limited set of resources for it?  Let us not forget the expenses associated with it like power/cooling, but specifically maintenance.  I don't want to spend a few hunder dolalrs a year for the maintenance of a server that only a small number of users utilize. 

Print server...sure, why not?  Unless it is servicing a group of graphic artists or engineers who submit massive and complex jobs, again, why waste a full physical server?  

I get there are times you wouldn't want to virtualize a certain system (I do agree with your other post about them, by-and-large), but not these examples. 

vl1969
vl1969

@AstroCreep maybe I don't understand a thing or two, but with what I have seen so far when it comes to virtualization, the VM usually have better performance over metal setup.(providing your host config have enough oomph that is.)

So if you have a good host system, why wouldn't you virtualize the print server that actually does the job?

Again, I understand that if the print server is used extensively and heavily it need to have more power/resources,

Thus you host system must have enough resources to provide those resources.

But if you do have it you can easily virtualize the PS and get the benefits of it.

Such as , better uptime with less energy use.

Much faster performance in most cases. And frankly on most virtualization platform that support RAM/CPU overcommit , you can even setup a more powerful system than you would have bare metal.

AstroCreep
AstroCreep

@vl1969 Better performance?  Maybe.  If the physical hardware the printer server or FTP server are on are significantly lower/slower than the hardware on the VM host hardware, then yeah.  If the physical servers are only a year or two old with a few GBs of RAM and multi-core CPUs, then the physical may still out-perform the VM. 
If the physical systems aren't using all of the currently available resources (RE: the FTP server), then you probably wouldn't be sizing a VM of the same specs, which is part of the beauty of virtualizing currently physical systems - you can limit the resources they need.  So in that case, the PM would likely out-perform the VM. 

Speaking of the age of a system reminds me of the point I made about not wanting to keep an older system under a maintenance contract.  If I can virtualize a system and give it less resources, I would likely opt to do that over renewing a pricey maintenance contract for a lightly-used system. 

Those examples just don't make much sense to me, especially since a VM is usually cheaper than a PM - both to procure and maintain.  Again, I see the benefit of keeping things physical based on vendor support requirements (vendor won't support something virtualized), performance/sizing requirements (an Exchange 2010 DAG cluster I would keep physical based on disk needs and a system serving-up HPC resources I would keep physical based on CPU needs), or something that requires a dedicated piece of hardware (I'm not virtualizing my fax servers).