How To: Consolidate Servers With Virtualization

By consolidating servers with virtualization, system builders can help their customers deploy applications more efficiently, using less hardware. System builders can set up a Windows server and a Linux server on the same physical machine, for instance, and allocate resources between them as necessary. In this way, virtualized servers can save customers a lot of money, and system builders can take credit for streamlining their customers' IT infrastructure. This should win more business opportunities in the long run. It should also reduce potential service calls by putting less hardware into the field to run the same applications.

Microsoft, among others, offers a product that addresses this need: Virtual Server 2005 R2 Standard Edition. In this Recipe, I'll discuss the ins and outs of server virtualization, and explain how to install Microsoft's Virtual Server 2005 R2 Standard Edition software to create a virtual server.

The proliferation of 64-bit computing hardware and software means system builders can now install extremely high-performance systems. For example, today's servers can address more than 4 GB of RAM. CPU clock speeds now approach 4 GHz, with multiple cores on each chip able to tackle additional computing demands. Storage capacity has skyrocketed, too: Terabyte storage arrays are now within the reach of system builders who serve the small and medium business (SMB) market. Until quite recently, these performance levels were limited to only the largest of enterprises. But no more.

Another phenomenon is contributing to the under-utilization of available hardware, too: Today's Commercial Off-The-Shelf (COTS) software is typically compiled for maximum compatibility, instead of for performance and resource utilization. In fact, these applications are typically optimized for use on a single machine with one or two CPUs and up to about 2 GB of RAM. But if your systems have more power than that, they're probably not being fully utilized by the software.

id
unit-1659132512259
type
Sponsored post

One way to combat this limitation is to make each application think it is running on just such a machine. For example, let's assume you have two key applications on the software side, and one server with two processors and 4 GB of RAM on the hardware. For this setup, you could create two virtual machines, one for each application. This way, the available hardware resources would be utilized by the software much more efficiently.

Virtual Pitfalls

But there are pitfalls to creating virtual machines. One is the added temptation to create more and more virtual machines. Also, the more virtual machines you have on one physical machine, the more problems you have with security vulnerabilities and time consumed with management duties. A hardware failure now affects not just one physical machine, but also several virtual ones.

Another pitfall: While CPU clock cycles, memory capacity, and storage are available in prolific quantity, I/O bottlenecks still exist. In fact, bottlenecks can be exacerbated if you create too many virtual machines on one physical machine. The risk is that all the virtual machines will attempt to access memory or storage simultaneously. If this happens, virtualization can actually reduce the server's performance.

There are other issues, too, most notably reliability, serviceability, and availability. As the number of virtual machines increases, the importance of these issues for the physical machine also increase, sometimes dramatically. For example, any situation that requires a re-boot will now affect multiple machines at once -- all the virtual machines, plus the physical machine. Also, any single hardware failure will now affect multiple servers, for the same reason.

Similar concerns apply to virtual machines from the standpoint of networking and security. Any time you connect a machine to a network, you have just created a security risk. Whether this risk is acceptable depends on the system owner and/or sys admin. But a security breach at one point could leave multiple servers vulnerable.

As a result, system builders must be careful when employing virtualization technology with servers. You need to strike a balance between financial savings on the one hand, and budget needed to manage, operate, and secure the virtualized servers on the other. Ingredients

To create a virtualized server, here's the hardware and software you will need:

HARDWARE: To benefit from server consolidation through virtualization, you need a server that has plenty of hardware resources. This means a server with at least two CPUs (preferably multi-core), lots of RAM (at least 4 GB), and plenty of hard-drive capacity (at least 100 GB).

Also, you need to be able to allocate these resources across multiple virtual machines, each with its own operating system and application software. In fact, the Guest OS on the virtual machine does not have to be the same as the OS on the physical machine or host. You can even run multiple virtual machines, each with a different OS--another advantage of virtualization technology.

SOFTWARE: For this Recipe, you'll need Microsoft's Virtual Server 2005 R2 Standard Edition software. You will see how to install it, configure it, and create a virtual machine, as well as manage your virtual server remotely with built-in Web tools that are part of the Microsoft solution. Virtual Server is available as a free download, though the actual cost of running the software will depend on the licenses you purchase for your OS and application software. You can download Virtual Server 2005 from this Microsoft page. And for more information on licensing, check out Microsoft Adapts Windows Server System Licensing to Virtualization Scenarios.

How To Install And Configure Virtual Server 2005

Step 1: Install the Microsoft Virtual Server 2005 R2 Standard Edition software. It is possible to install this software on Windows XP SP2; this is usually done for evaluation and testing purposes. But I recommend starting with a machine that uses any edition of the Windows 2003 Server OS, either SP1 or R2. For a more detailed list of system requirements, see this Microsoft page: Virtual Server 2005 R2 System Requirements.

The Virtual Server software runs as a service within the host OS, and it can be started and stopped once installed. Also, the software creates a Web site within Internet Information Services (IIS) called the Virtual Server Administration site. This is essentially a browser-based Graphical User Interface (GUI) for your virtual machines.

If you don't have Microsoft's product release on CD, you can also obtain the software from this Microsoft page: Download or Order Virtual Server 2005 R2.

If you are installing Virtual Server 2005 for the first time, select the Complete installation option. This will give you access to documentation as well as the Virtual Server service and Administration site. In the future, if you are setting up multiple installations of the software across many physical machines, you can choose the Custom Installation option and install only the Virtual Server service.

As with any other Microsoft software, the default settings are adequate to get you up and running. They are usually best left unmodified for proper functionality. For example, while the default port number for the Administration Web site can be changed, if you change this port, you will need to make sure you account for this change when trying to connect to the Web site from another machine.

Also, if you ever need to remove the Virtual Server 2005 software, you can uninstall it without deleting your Virtual Machine files. This comes in handy if you want to move those virtual machines to another physical machine later.

Step 2: Configure the software and create a virtual machine. To do this, open a browser, and in the Address field, type this:

http://FQDN:1024/VirtualServer/VSWebApp.exe

Please note, FQDN stands for Fully Qualified Domain Name, so you will not actually type the letters "FQDN." Instead, type in the machine's domain name, which is the machine's name, sub-domain (optional; not every machine has one), and top-level domain. Here's an example, in which the FQDN is "ckb1.mail.app-com.com":

http://ckb1.mail.app-com.com:1024/VirtualServer/VSWebApp.exe

Also, if you have changed the port number, replace the "1024" with the port number you specified. After you enter your credentials, click OK. You will see a menu on the left-hand side of the screen. Under the Virtual Machines menu, click Create. This will get you started.

There are four parameters you will need to specify here to create your virtual machine:

Virtual Hard Drives are optional, as are Virtual Network Adapters. You can always create and attach these later, if you prefer. Once you've decided on the values for your parameters above, click the Create button to create the VM.

You now have the bare minimum necessary to get a VM running. But you may want to tweak a couple of settings. This may simplify things as you work with the VM.

For instance, you may want to enable the Virtual Machine Remote Control Server. It lets you connect directly to a VM via a client interface as well as the Web application. To do so, go to the Virtual Server menu. Click on an option called Server Properties. Then click on VMRC Server.

Also, you may want to specify your own folder location where your VM files are stored, to make them easier to find later. The default location is buried within the Documents and Settings folder -- not the best place. To change the default location for VM file storage, go to the Virtual Server menu and click on Server Properties. Then click Search Paths. You can enter both a folder location where your VM files will be stored, and custom search paths to look for related files.

To see other configuration options, follow the menu structure on the left-hand side of the screen. As you become more familiar with the software and use your VMs more, you will probably re-visit this menu often, tweaking settings to your liking. Also, all the parameters you configured at the beginning of this step can be modified here. You can also create additional VHDs and change your network connectivity, if desired. Step 3: Install the Guest OS software. Essentially, a Virtual Machine can be thought of as just another physical machine. For instance, you have to install an OS on each VM before you can load any application software and put the virtual server to work, just as you would on a physical machine.

The VM's OS is called the Guest OS because it resides on the physical machine's host OS. As I mentioned above, a VM can run a different guest OS than the host OS. You can create multiple VMs, each with a different guest OS. This is one of the main advantages of virtualization. It comes in handy when multiple servers are needed for different software applications, but hardware constraints or budget concerns won't justify multiple physical machines.

As you may imagine, your Virtual Machine requires a virtual CD/DVD drive to install from. You create this virtual drive by going into the Administration Web site and clicking on Virtual Machine. Next, click on Configure, and then click on CD/DVD.

Once here, you have a couple of configuration options. The easiest and quickest option: Simply capture the CD/DVD drive of the physical machine. But this may not be the best option, especially if you are running multiple VMs. Eventually, you could create contention for the drive among the multiple physical and virtual machines. To solve this problem in advance, configure the Virtual CD/DVD drive to read from ISO image files stored on a hard drive. That way, multiple VMs can attach to a single ISO image at the same time.

This option aside, the process of installing a Guest OS on your VM should be identical to that of installing an OS on a physical machine. This means you must reboot the VM and check for updates, etc., just as you would with a physical machine.

Step 4: Configure the Virtual Network settings in software. Virtual Machines have Virtual Network Interface Cards (Virtual NICs) that interface with the host machine's physical NIC(s). As many as four Virtual NICs per VM are supported by the Microsoft software, and as many physical NICs as you can load on the physical machines' host OS. The software driver that creates an interface with these is called the VM Network Services Driver.

You will first need to decide whether you require your VM to access its physical machine or other VMs on that physical machine. If you don't require any network connectivity, you won't need to configure a Virtual NIC at all (it is optional). But if you do wish to access the physical machine and/or other VMs on that machine, then you will need a Virtual NIC.

You can connect a Virtual NIC to either VMs only or to an external (physical) network. Once you connect to an external network, you also bring up the issue of network security. VMs will behave almost exactly like another physical machine on the network, complete with all the attendant security vulnerabilities such as viruses and hackers.

To manage your Virtual NICs, pull up your Administration Web site. Click on Virtual Networks, then click on Create. Next, type in a name for your Virtual NIC. Then select an available physical NIC from a drop-down list to attach. You can even type in some notes to remind yourself of this particular Virtual NIC's connections.

If you want to configure a Virtual NIC that you have already created, click on Virtual Networks. Next, click Configure. Then choose the Virtual NIC you wish to edit. The Microsoft Virtual Server 2005 R2 Standard Edition software has a built-in DHCP server to facilitate distribution of private IP addresses without creating network conflicts. Of course, you can use your own DHCP server, if you have one.

There you have it--a way to make better use of existing hardware, save money for your customers, and run multiple operating systems on the same hardware.

DAVID GILBERT is the owner of Appalachian Computer Systems, a West Virginia system builder that specializes in multiprocessor SCSI RAID servers.