Making the Most of Virtualization
Just like their federal counterparts, state government IT organizations have been adopting virtualization. In Yuma County, Ariz., we were an early adopter and began using server virtualization technology more than three years ago. Now, nearly half of the county’s 99 servers have been virtualized.
The technology has matured to the point where we’ve developed best practices for successful implementation. Yuma uses VMware ESX 3.02, but the advice that follows could apply to whatever virtualization technology your organization has implemented or is considering.
#1: Tap templates and customizations for rapid deployment.
Virtualization gives you the capability of creating a virtual server or desktop once, saving it as a template, and using customization scripts to ease a mass rollout of similar servers and desktops.
By using Microsoft’s Sysprep, which integrates with VMware’s Virtual Center, you can create a master image, customize it, and then script the cloning process through VMware’s APIs. Without using customization and scripts, IT would have to clone the master image manually, then boot up and make changes to each cloned image. Depending on the image size, this process could take upwards of an hour or more. With customization and scripts, you need only a few minutes to create custom specifications and execute the script.
#2: Build clusters of physical servers with shared storage.
Take advantage of the virtualization software’s native clustering and disaster avoidance capabilities by attaching physical servers to a storage area network (SAN). If you’re currently clustering database and application servers, you may be able to greatly reduce and simplify those clusters.
Hardware upgrades for a cluster are as simple as migrating the virtual machines from the old hardware, shutting down the old server and powering up the new server. Using a SAN also allows faster and easier disaster recovery if your physical server fails.
#3: Use pre-built virtual machines.
Ask the manufacturer if it has any pre-built VM images that you can deploy directly to your virtual environment. There are a wide variety of pre-built VMs available for web servers, databases, systems monitoring and more.
You can save a significant amount of time and reduce the possibility of human error by using a pre-built image when migrating to a platform.
#4: Create a cost-effective test environment.
You’re going to need a dedicated test environment for your critical systems, even after they’re virtualized. In fact, all critical systems should have a test and development environment, but even your non-mission-critical applications could benefit from snapshots.
A snapshot lets you save a virtual machine at a point in time, so you can then begin moving the previously tested system changes to production. If the new patch proves troublesome, fixing it is as easy as rolling back to an earlier snapshot.
#5: Control virtual-machine sprawl.
One of the pitfalls of virtualization is the ease with which new VMs can be created. This can lead to significant inefficiencies in a virtual environment. It isn’t necessary to create a separate virtual server for everything. For example, you don’t need to create a new virtual Apache web server for every web application; just use Apache’s virtual host configuration.
Every unneeded VM uses system resources that could be used elsewhere and adds to the number of VMs that your support staff will need to manage.
To controlling virtual-machine sprawl, assess the performance requirements of a new service. If the load is expected to be low, and there is an existing VM that can handle it, then use that machine. Make sure to use the built-in performance monitoring tools, which will give you an indication of when it’s time to begin splitting services onto new VMs. Proper change and configuration management is key.
#6: Migrate your existing physical servers to virtual servers without the hassle.
Most virtualization software has some form of physical-to-virtual system migration tool, such as VMware Converter, which can copy a physical server bit for bit to your virtual environment. There are typically a few different versions of the tool with varying capabilities. Often the migration tool will be free, if only in a limited version. Assess your needs to determine which tool can do the job well.