March 05, 2009, 3:16 PM — As the virtualization wave washes over datacenter after datacenter, it almost seems that small businesses have been left high and dry. And with licenses for enterprise-grade server virtualization solutions costing tens of thousands of dollars, who could fault a business with only five or six servers for taking a pass?
But nestled among the high-class virtualization tools are plenty of low-cost and even free solutions that fit right in with small-business needs. Tools like VMware Server, VMware ESXi, Microsoft Hyper-V, Citrix XenServer, and open source Xen don't include the high-availability, load balancing, or virtual server migration features needed in large-scale environments. But even without these fancy features, they can make a big difference in the small business's IT budget.
Simply by moving your servers into virtual machines, you make them easy to copy, move, and consolidate on shared hardware. Because all the virtualization solutions support snapshots, you can easily reset a virtual server to a previous version, should you need to roll back undesirable changes such as a malware infection or an update gone wrong. In the event of a hardware failure, you can quickly spin up your virtual server on backup hardware. In other words, virtualization offers small shops the same sorts of benefits it offers large data centers, even if automation isn't part of the bargain.
[ See the Test Center reviews of Microsoft Windows Server 2008, Hyper-V and System Center Virtual Machine Manager, VMware Infrastructure 3 with ESX Server 3.5 and VirtualCenter 2.5, and Citrix XenServer and XenDesktop. ]
A six-server scenario
To illustrate the impact that free virtualization tools can have on a small business, let's take a typical small-business network. There might be six servers, including a couple of domain controllers that also run DNS and DHCP services, perhaps a Microsoft Exchange server, a Web server, a database server, and a file server. These systems might be running on any mix of hardware, with the most active services using the newest, fastest boxes, while the domain controllers and the file server might get by on older equipment. For an office of, say, 50 people, this infrastructure is common.
However, looking at the utilization of those servers, it's highly likely that none of those servers is running above 15 percent capacity. That is, they're barely using the CPU and memory resources they have. Clearly you've got a whole lot more hardware than you really need.
And resource utilization doesn't paint the whole picture. For instance, the domain controllers might be running on dual-CPU servers with 4GB of RAM, when even half that would be overkill. Likewise, the Web server could be wasting a perfectly good dual-core processor if it's only serving a few Web-based applications and an intranet page or two.
An infrastructure like this, in which plentiful hardware resources are required but underused, is ripe for virtualization. The first step toward this goal is to evaluate the options. For this network, they're probably limited to four: Microsoft's Hyper-V, VMware Server, VMware ESXi, and Xen.
If this is a Windows-centric network and the only skills on hand are Windows-based, then open source Xen might be out of the running. However, if any Linux skills -- or the desire to learn them -- are present, then Xen is a contender. It's important not to confuse open source Xen with Citrix's XenServer, which is a commercial offering based on the open source hypervisor. Citrix has recently released a cut-down version of the XenServer product for free, in an effort to compete with VMware ESXi and Microsoft Hyper-V.
The two VMware options, VMware Server and VMware ESXi, are fundamentally different platforms. VMware Server runs as a service on both Windows and Linux, dependent on the drivers and core of the underlying operating system to interface with the various components of the physical server, including the disk, network interfaces, CPU, and RAM. VMware ESXi runs on bare-metal hardware and does not require an underlying operating system.
VMware ESXi is a bit of a double-edged sword. It provides significantly better performance than VMware Server, but is harder to manage for a novice admin. Also, while VMware Server supports a wide range of hardware, ESXi does not. You'll need to make sure that the equipment you use is covered by ESXi's Hardware Compatibility Guide. This is critical, because ESXi will not function on unsupported hardware.
The benefits of VMware ESXi over VMware Server are many, however. By eliminating the underlying host OS, ESXi puts virtual servers closer to the underlying hardware. They will be faster and more responsive on ESXi than on VMware Server and other hosted solutions.
VMware Server installs on either Linux or Windows, and it runs as a service. There are no hardware restrictions with VMware Server as there are with VMware ESXi; it will run on any hardware that your Windows or Linux host supports. As mentioned above, however, this will negatively impact the performance of the virtual servers, but what you lose in performance you may gain in manageability.
Microsoft Hyper-V is much like VMware Server in function: It installs on a Windows server and uses the underlying OS to deal with the physical hardware. Of course, you must purchase a Windows Server 2008 license to use Hyper-V, and Hyper-V's support for Linux guest operating systems is weak, at best.
With this infrastructure, the first step is to determine which servers should be virtualized. The obvious candidates might be the Web server and one of the domain controllers. Good practice dictates that each Active Directory domain controller run on different hardware, as a hedge against a single point of failure. The file server might also be a prime candidate for virtualization as long as the host hardware can provide enough disk space to contain the files to be served.
It's certainly possible to repurpose existing hardware for a virtualization endeavor, but it's generally a better bet to buy a new server designed for a role as a virtualization host. This server should have at least a single quad-core CPU (or two dual-core CPUs) and as much RAM as the budget will allow. If the file server will be virtualized, then of course the disks must be sized appropriately. Here, you'll want to make certain that the server has a RAID controller and that there are enough disks in the server to provide the requisite storage space when configured as a RAID5 array.
For our example, a Dell PowerEdge 2950 or HP DL380 G5 with a single quad-core CPU, 16GB of RAM, and four 72GB SAS drives in a RAID5 configuration would do the trick. This would provide for roughly 200GB of storage for all virtual servers and plenty of RAM. Additionally, these servers can be upgraded with another quad-core CPU in the future. At the time of this writing, both of these systems are included in the VMware ESXi hardware compatibility guide.
Building the boxThe next step is to install the virtualization software. If it's VMware ESXi, then this is a free download that can be burned to a CD and installed simply by booting the CD and stepping through the installer. The management of VMware ESXi is handled via a Web interface or the VMware Infrastructure Client included with the package. Citrix's XenServer installs essentially the same way as VMware ESXi, and is also managed via an included client.
If VMware Server is your choice, then the underlying operating system must first be installed, whether that's Microsoft Windows or a Linux distribution.
There are several benefits to choosing Linux as the basis for a VMware Server installation. The installation footprint of the Linux distribution can be extremely small and still support VMware Server, and the performance of VMware Server is arguably better with a Linux foundation than with a Windows foundation. In addition, if you choose a community-supported Linux distribution such as CentOS, Fedora, or Ubuntu, you will not have to pay licensing fees as you would for Windows.
In either case, the VMware Server installation is generally very straightforward. On Windows, it's a matter of downloading the software from VMware and running the installer. On Linux, it's the same, though this is generally done from the command line and not via GUI.
Once VMware Server is installed, it can be managed from the Web UI or from the VMware Server Console application that is installed on a Linux or Windows workstation. Generally speaking, managing a VMware Server installation is simpler via the VMware Server Console application than via the Web interface.
If Hyper-V is the chosen solution, then it's simply a matter of installing Windows Server 2008 and choosing to install Hyper-V. The Hyper-V management console is built around commonly used Windows management frameworks, and anyone familiar with Windows servers should take to it quickly.
Making the move
After the virtualization layer is installed, your physical-to-virtual transition is simply a matter of building the virtual servers and migrating the services.
Although VMware, Microsoft, Citrix, and others offer "P2V" migration tools, you're frequently better off rebuilding these servers from scratch rather than migrating them from their physical hosts. This is especially true for domain controllers, which should always be fresh-built, and for any servers that have gathered the weight of a few years of operation. Taking the time to lay down fresh installs will reduce complications later on.
In our example, we started with six physical servers, and by virtualizing one domain controller, the Web server, the file server, and perhaps even the database server -- depending on load -- we reduced four physical servers to one. This leaves the Microsoft Exchange server still running on its own physical server. Not that Exchange servers have not been successfully virtualized, but the load on Exchange is often too much for a low-end virtualization installation.
Thus, we've reduced the total number of physical servers by half, while still providing the services required by the network. Also, by leveraging the snapshot features of the virtualization solutions, you can save time and effort by taking snapshots of the virtual machines before you apply service packs or application updates. If there's a problem with the update, you can quickly roll the server back to the snapshot and be back in business very quickly.
With the wide array of low-cost, high-powered servers and free virtualization solutions available today, there's very little reason not to add virtualization to the SMB toolbox. In fact, many businesses will find they can run their entire infrastructure with only two servers, using freely available virtualization frameworks. As with any IT endeavor, it will take time to adjust the solution to the needs of the business, but the benefits can be very significant -- especially when balanced against the low cost of entry.