Have you heard of server virtualization? If your organization has more than 5 servers (perhaps less), it is something you should consider. Virtualization allows you to consolidate several physical machines into one physical machine that essentially provides an underlying “super” operating system. The “super” OS provides a platform on which you can run many seemingly separate, physical machines on one server. The immediate benefits of this are tangible: less hardware, lower power usage, reduced points of physical failures, etc. Other benefits include additional flexibility, redundancy, and recovery options. In the article, we discuss our uses for the new technology.
We have two environments that we manage here at Adage: our internal development/operational servers and hosting/production servers. After several months of planning and work, we recently completed the conversion of all our internal servers (with a few exceptions) to Microsoft’s Hyper-V and did the same in our production / hosting environment.
I can’t say that we made the move to save power or money but perhaps long term those will be a benefit. We did it for redundancy, flexibility and overall management.
1. The Big Suck
Hyper-V provides a utility to “suck in” physical machines into virtual ones. It is a great feature and with minimal downtime, your server can become virtualized without anyone noticing. Essentially, you tell Hyper-V the physical machine you want to convert and with the right permissions, it will create a complete image of the machine (OS, installed programs, files, and all) on the virtual host.
As a result, we have been able to retire old servers that were largely inefficient and give the applications that ran on them a big boost in computing power.
2. Redundancy that’s good enough
Another feature of Hyper-V combined with Microsoft’s Data Protection Manager is the ability to have a timed backup of the entire virtual server image to another disk storage device. This has allowed us to take critical servers (i.e. our database, source control servers, and some in production) and make real time (15 – 30 minute snapshots). If one of these servers experiences and issue for any reason, we can simply retrieve the backup to a point in time and restore to another Hyper-V host. There are a myriad of options for this that I will not go into but suffice it to say, a lot can be done.
3. Flexibility
Another key feature is portability of the virtual machines from one host to another. We can now move a virtual server to one of our virtual server host machines within the time it takes to copy the image. We are not incorporating Hyper-V high-availability clustering due to additional hardware requirements i.e. redundant server + SAN device, but System Center Virtual Machine Manager 2008 R2 in conjunction with Hyper-V R2 can provide “live migration” of virtual servers between multiple Hyper-V Hosts should problems arise on the primary host.
In the meantime, we do have some downtime to do this (1 – 2 hours) but like most businesses, this can be done at during off hours and over the weekend if needed. Once we had converted most of our machines to VMs we look at the host utilization and moved the VMs around to optimize server workloads. We will be updating to the R2 version when released to take advantage of the enhanced migration features.
4. Testing
Another feature is the ability to “sandbox” an OS or an application image for closed environment testing. Microsoft provides images of pre-configured systems i.e. Windows server 2003 with MOSS 2007 for testing and demonstration purposes. If something goes wrong with the operating system or the implementation, we can simply delete the server image and load up a new setup in a matter of minutes.
As a web technology shop, we need to worry about browser compatibility with our applications. So, this requires that we test multiple browsers different versions: Internet Explorer (versions 6, 7, and 8), Firefox (versions 2 and 3), Apple’s Safari, and Google’s Chrome. Instead of having testers install these on their own desktops, they can remote into a machine with a specific browser type and version and test the application for browser compatibility. This results in huge time saving and quality improvement.
5. Management
The last component of implementing a virtual machine strategy is management. We have found Microsoft’s System Center 2007 to be invaluable resource for managing our virtual servers. We are using Microsoft System Center Operations Manager, Data Protection Manager, and Virtual Machine Manager. The package simplifies and is the icing on the cake for such enabling technology.
System Center is the base software required for the other “modules” to run under. Operations Manager provides the ability to monitor and alert on events that occur on monitored machines. Data Protection Manager allows us to keep up-to-the-minute copies of our virtual server images. Virtual Machine Manager provides the monitoring and management tools to bring virtual machines to its full potential.
Results
We are not tracking hard dollar cost savings on power, but we have reduced the number of outdated servers we use by close to 25%, while still maintaining the server’s original roles and increased performance to boot. Depending on server loads, we now have one powerful host machine that can handle anywhere from 10 – 20 virtual servers.