The benefits of server virtualization are so significant at this point that implementing it is a no-brainer. First and foremost, server virtualization makes much better use of computing resources than physical servers do, since you can run many different virtual servers on a single physical host. In fact, you may be surprised at just how many general-purpose server instances a single modern server can handle simultaneously.
Another major benefit of server virtualization is the ability to shift running virtual servers between physical hosts to balance load and allow for maintenance windows. You can also use snapshots of virtual servers to keep a moment-in-time copy of a running server prior to making changes such as software updates. If something goes wrong, you can simply return to the snapshot, and the affected server will be running as if you had never touched anything. Clearly, this approach can save significant time and aggravation.
If you haven’t already moved down the virtualization road, fear not: More options are available now than ever before, and any time is the right time to get started.
1. Start Small on Your Desktop or Laptop
Generally, modern desktop and laptop PCs have a surprising amount of resources that go unused when the system is performing little tasks such as email reading or Web browsing. If you find that you have the need to run a different operating system from time to time (say, to support a legacy application), you could fire up a virtual desktop on your local system and forgo the physical installation.
This arrangement is especially useful when you encounter application-incompatibility issues stemming from running older code on newer operating systems. To give it a shot for free, you can download VirtualBox for the PC.
2. Set Up a Small, Possibly Free, Lab
If you’ve retired servers recently, they may be a good platform for you to begin building a virtualization lab. The key is to make sure that they have several gigabit network interfaces, and as much RAM as you can fit in them. Virtualization tends to be lighter on CPU resources but heavier on RAM, especially if you use a virtualization method that doesn’t employ RAM page sharing to squeeze more space out of physical RAM.
If you don’t happen to have spare servers handy, you can pick up a new cheap server (again with plenty of RAM) to test with. If you’re feeling ambitious, you can even build one from spare parts you might have lying around. In a lab setting, this machine can serve as a proof of concept, but you shouldn’t run it in production.
As for the choice of virtualization software, you can try them all out on a lab system. Armed with several hard drives, you can install VMware ESXi, Microsoft Hyper-V, Citrix XenServer, or Red Hat RHEV on one disk apiece, and simply boot to one disk at a time to see which software fits your needs the best. All of these packages are available either as free instances or as trials with evaluation periods of 30 or more days.
3. Build Your Own Shared Storage
When you're working with virtualization frameworks that have multiple physical host servers, you’ll need some form of shared storage to fully realize the benefits of virtualization. For instance, if you want to be able to migrate virtual servers between physical hosts, the storage for those virtual servers must reside on a shared device that each host can access.
Some virtualization arrangements can address a variety of storage protocols, such as NFS, iSCSI, and Fibre-Channel. For lab or testing purposes, you can simply add several hard drives to a Windows or Linux system, share them with NFS or iSCSI, and bind your lab servers to that storage. If you want a more complete “homegrown” approach, give open-source storage options, such as FreeNAS, a try. This software offers a simple way to add a variety of storage to a lab or production network, using cheap hardware.
4. Spend Time in the Lab
Armed with some form of shared storage and at least two physical host servers, you have the basis of a full virtualization platform ready to go. If you’re evaluating several different packages, try each of them out for a week or so. Make sure to step through all of the features important to your needs, such as live virtual server migrations, snapshots, virtual server cloning and deployment, and high availability.
You may also have the ability to try out production workloads in the lab to get a feel for how the setup will perform in the real world. You might build a database server and use a backup of a real data set to run some reports, or use a Web server benchmarking tool to measure the performance of a Web application server. This practice will not only familiarize you with the day-to-day functions of the virtualization platform but also give you some insight as to what resources your virtual servers may need when they enter production.
5. Keep the Lab, Even When You Begin Production
After all this, you’ve likely settled on the arrangement you want to use in production. You’ve gotten a feel for the management tools, and you've mapped out how you want to proceed with the real deal. Now is not the time to dismantle the lab, however.
Once you’ve started procuring new hardware for the production infrastructure, you’ll want to reference settings you've made in the lab to ensure that the virtual servers you plan to deploy will be able to handle the tasks assigned to them.
Furthermore, after you’ve completed the production build, you can use the lab to test new functionality, updates, and beyond, which will only bolster the stability and reliability of the production platform.
Next page: Moving into production