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 payoffAt 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.
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.