One area that’s been heating up considerably recently is server virtualization. Although companies most often use virtualization for creating lab-testing environments, some companies are moving toward server virtualization for their production servers, and for “warm” disaster recovery sites. With an emphasis on reducing the “time to recovery,” server virtualization can significantly reduce the time it takes to bring up a remote disaster recovery site, especially if the virtual servers are prestaged. Server virtualization software allows you to create multiple virtual server machines on one piece of hardware. As server hardware has become more powerful, often processors, memory, and disk capacity goes unused in a typical server. Server virtualization allows you to better use hardware. There are quite a few benefits that come with server virtualization, including:

  • Reduced hardware costs. Instead of purchasing dedicated servers to run specific functions, you can purchase a single high-end server and run each server in a virtual environment. Even in a production environment, I typically see companies running four to eight virtual servers per physical host, saving a significant amount of hardware costs.
  • Consistent hardware platform. The virtual server software hides the physical hardware from the virtual servers. The virtual server software creates a generic hardware platform that's consistent, regardless of the physical hardware used to host the virtual servers. This simplifies the “bare metal” restore process, because the hardware platform is always consistent. You still need to load the host OS and virtual server software to create the virtual server environment, but after that step, restoring a virtual server is easier than restoring a server running on dedicated hardware. Virtual servers appear as files on the host server, so to perform a bare metal restore, all you need to do is restore the virtual server image files.
  • Reduced recovery time. After you install the OS and virtual server on the host server, it’s much easier to restore a virtual server compared to a traditional dedicated server. You can reduce the recovery time even more, by prestaging the virtual server environment with the virtual server images at a remote disaster recovery site. Assuming you perform a virtual server image backup weekly to a remote disaster recovery site, and run a differential backup during the week, all you need to do is run a restore of the latest differential backup to make a “warm” site “hot.”
  • Increased security. Each virtual server lives in a separate environment that's isolated from every other virtual server. This lets you create separate virtual servers for different functions, rather than installing all these services on a single server. For example, you might want to host your own Web site. But this server can also function as your file and email server. If someone hacks the Web server, all the data that resides on the server could be at risk. Server virtualization lets you isolate each server, so if a server gets hacked the other servers are isolated from the compromised machine. This gives you the security benefits of separate servers, with reduced hardware cost.
  • Ideal testing environment. Often it's cost prohibitive to duplicate your production hardware, but it may be possible to effectively simulate your production environment with virtual machines (VMs). There are software utilities that let you create virtual server images of production servers running on physical hardware. This can significantly reduce the amount of time necessary to simulate your production environment. When creating a lab environment, I suggest you carefully plan your virtual server images to create building blocks, to simulate different servers in your production environment. For example, you might want to create base images of all the OSs you have running in your environment. Then, using these base images, you can build additional images that perform specific functions, such as Microsoft Exchange Server, Web Server, Sharepoint Portal Server, SQL Server, and other server images. These base images will likely come in handy, as will images that you might have of your production servers. These base images can help you identify a potential OS or software corruption problem by restoring production data onto a clean server image to see whether the problem is resolved. As a speaker, I often use virtual server technology to test different configuration scenarios, or to demonstrate a new software product or technology.

Of course, if your servers are short on memory, have high processor utilization, and are low on disk space, server virtualization will just make a bad situation worse. Not all production servers are good candidates for server virtualization. If you have servers that are heavily used, keep them on dedicated hardware. Another draw back to server virtualization is the lack of fault tolerance. If you lose the host server, you'll lose all the virtual servers running on that host. To improve your fault tolerance in the enterprise environment, make sure to have several physical hosts to run your virtual server pool. Ideally, these servers should be connected to a SAN to simplify the process of moving a virtual server to a different host, in the event of a hardware outage. VMware’s ESX Server, which is designed to run in the enterprise environment offers an optional VMotion component that can migrate a running virtual server from one physical host to a different physical host. In next month’s article, I’ll look at different virtual server software products and where they fit in the marketplace.

Tip

If you’re running Microsoft Exchange Server 2003, and you receive a lot of spam that has invalid recipient names, you can block these messages by setting up a Recipient Filter on your virtual SMTP server. This filter will instantly reject any message that doesn’t have a valid email address for your domain. One drawback of the filter is that a spammer may be able to figure out valid email addresses in your company because the SMTP virtual server sends out different replies for valid and invalid email addresses.

To set the filter, start Exchange System Manager (ESM) and go to Global Settings. Right-click Message Delivery, select Properties, and click the Recipient Filtering tab. Select the “Filter recipients who are not in the Directory” checkbox and click OK. To apply the recipient filter to the SMTP virtual server, expand Servers, Incoming mail server, Protocols, and expand SMTP. Right-click the SMTP Virtual Server and select Properties. On the General tab, click the Advanced button. Click Edit and select the Apply Recipient Filter check box. Stop and restart the SMTP virtual server. Now your server will reject any messages that don't have a valid email address for your domain.