Virtualization with Microsoft (Virtual Server 2005 R2 SP1)
Talk about server virtualization, you go on talking about Virtuozzo, Xen, VMWare Server etc. This article aims to present another virtualization application offered by Microsoft – Microsoft Virtual Server 2005 R2 SP1.
A couple of attractive features about Microsoft Virtual Server 2005 R2 SP1 are: it is available free of cost and also it supports the usage of Microsoft Windows as well as Linux distributions as guest operating systems.
Where to get it?
Virtual Server 2005 R2 SP1 is offered as a free download by Microsoft.
In this article, we will deal with the 32-bit edition of this application.
The minimum system requirements for the physical computer are given below:
- An x86-based computer with a 550 megahertz (MHz) or faster (1 GHz recommended) processor with L2 cache, such as processors from any of the following families:
- Intel-Xeon or Pentium families.
- AMD-AMD64 or Athlon families.
- CD-ROM or DVD drive
- Super VGA (800 x 600) or higher resolution monitor recommended
- Host operating system: The 32-bit version of any of the following operating systems:
- Microsoft Windows Server 2003, Standard Edition.
- Microsoft Windows Server 2003, Enterprise Edition.
- Microsoft Windows Server 2003, Datacenter Edition.
- Microsoft Windows Small Business Server 2003.
- Microsoft Windows XP Professional
By using Microsoft Virtual Server 2005 R2 SP1, it is possible to setup a virtual server, under which one or more virtual machines can be deployed. Let us first examine the components of a virtual server, before getting to the installation of it.
Virtual Server Components
A virtual server is an application that runs as a system service. Each virtual machine runs as a separate thread of this application. The host operating system provides two core functions to the virtual server:
- The host operating system kernel schedules CPU resources.
- Its device drivers enable virtual machines to access devices attached to the system
Basically, a virtual server setup using Virtual Server 2005 will have the following components:
- Virtual Machine Monitor (VMM) – It is a kernel mode driver and acts as a firewall between the host operating system and virtual machines. It has access to the physical computer processor and manages resources between the two environments preventing application on a guest operating system from requesting excessive hardware resources from the host operating system.
- Virtual Server Service (Vssrvc.exe) – It creates virtual machines and projects the emulated hardware into the virtual environment. This service should be running to be able to create and run virtual machines using the virtual server.
- Virtual Machine Helper Service (Vmh.exe)- This allows the running of a virtual machine in the context of a specified user account. Specifying a user account is optional and if not specified the virtual machine runs under the account of the user that started it.
- Virtual Networks- A virtual network will consist of one or more virtual machines. It can be of two types:
- Virtual network configured to use a network adapter in the physical computer- If a virtual network is attached to a physical adapter it can access the networks attached to that adapter. This configuration can be used to provide access for the virtual machines to external machines and networks.
- Virtual network configured not to use a physical network adapter- If no physical network adapter is selected then the virtual machines attached to that network can communicate only to other virtual machines within that same internal virtual network.
- Administration Website – It is a browser based tool for configuring and managing the virtual server and its associated virtual machines and virtual networks.
- Virtual Machine Remote Control Client- It is used for remote management of virtual machines. It communicates with the VMRC server component of virtual server service using VMRC protocol developed by Microsoft for communication between VMRC clients and VMRC server.
- Virtual Machine Additions- This component adds enhancements to guest operating systems like:
- Improved mouse cursor tracking and control.
- Greatly improved overall performance.
- Virtual machine heartbeat generator.
- Optional time synchronization with the clock of the physical computer.
Virtual Machine Additions are included for the following supported operating systems:
- Microsoft Windows Server 2003 (all versions)
- Microsoft Windows 2000 Server
- Microsoft Windows NT Server 4.0 with Service Pack 6a (SP6a)
- Microsoft Windows XP (all versions)
- Microsoft Windows 2000 Professional
- Microsoft Windows Millennium Edition
- Microsoft Windows 98
- Microsoft Windows 95
- Virtual Machines- Within the Virtual Server one or more virtual machines running their own operating systems can be created. The virtual machine emulates a standard x86-based computer including basic hardware except the processor. Using emulated hardware and the processor of the physical computer each virtual machine operates similar to a physical computer.The Virtual Machine Monitor (VMM) manages virtual machines, providing the software infrastructure for hardware emulation. Each virtual machine consists of a set of virtualized devices. The guest operating system and applications run on the virtual machine as if they were running on physical hardware, rather than emulated hardware. All software code running within the virtual machine runs in a separate VMM context.A virtual server can support upto 64 virtual machines. The number of virtual machines that can be run simultaneously is limited primarily by, the amount of RAM and hard drive space available in the physical computer. A single virtual machine can have a maximum RAM size of 3.6 GB. Also even if the physical computer has multiple processors installed in it virtual machines created will emulate only one processor.Each virtual machine requires at-least the following files to function properly:
- A virtual machine configuration (.vmc) file in XML format that contains the virtual machine configuration information.
- One or more virtual hard disk (.vhd) files to store the guest operating system, applications and data for the virtual machine.
- Virtual Hard Disks- A virtual hard disk provides storage for a virtual machine. Within the virtual machine it is visible as a physical disk, but actually it is file that resides on a physical disk that only the host operating system can access. The virtual machine does not have direct access to the physical disk that stores the .vhd file.There are four types of virtual hard disks that can be created:
- Fixed-size disk- This is a .vhd file whose size is designated when the file is created. For example, if a fixed-size virtual hard disk of 10 GB size is created the virtual server creates a 10 GB .vhd file. All the storage space that is required by the virtual hard disk is reserved when it is created. During creation, it utilizes as much contiguous space as is available on the physical disk storing it.
- Dynamically expanding disk- In this type of virtual hard disk the size of a .vhd file grows as data is written to the virtual hard disk. A maximum size however, has to be specified at the time of its creation and the .vhd file cannot expand beyond this size limit set.
- Linked disk- A linked disk points to an entire physical disk attached to the physical computer. It is used for converting a physical disk to a virtual disk. These disks cannot be used to start a virtual machine.
- Undo and Differencing disks- These disks store changes made to the virtual machine operating system configuration as well as the virtual hard disk to a separate file. This can be used to keep the original virtual hard disk unchanged when testing configuration changes or applications. A single undo disk is configured for all virtual hard disks associated with a virtual machine, while differencing disks have to be configured for individual virtual hard disks.
Setting up a Virtual Server
Setting up a virtual server involves the following steps:
Installation of IIS
IIS, specifically the World Wide Web Service component of IIS, has to be installed on the host operating system. It is required by the administration website used to manage Virtual Server.
Installation of Virtual Server
- Download the Setup.exe file from the link given in the URL above and start the setup wizard.
- Continue the installation till you reach the ‘Setup type’ page.
- On this page select the ‘Complete’ installation option and proceed.
- On the ‘Configure Components’ page accept the default website port or enter another one and proceed.
- Then, either accept the default ‘Configure the Administration Website to always run as the authenticated user’, or select ‘Configure the Administration Website to always run as the Local System account’ and proceed.
- Finally click ‘Install’ and to begin the installation and then ‘Finish’ when the ‘Setup Complete’ page appears.
- To setup Virtual Server Service:
- Start the setup wizard and continue till you reach the ‘Setup Type’ page
- On the computer you wish to install the Virtual Server service, select the ‘Custom’ installation option in the ‘Setup type’ page.
- Then in the next page click on ‘Virtual Server Web Application’ and select ‘This feature will not be available’.
- After that proceed with the installation and complete it as explained above.
- On the computer you wish to install the Administration Website:
- Select the ‘Custom’ installation option in the ‘Setup type’ page and in the next page click on ‘Virtual Server Service’.
- Select ‘This feature will not be available’ and complete the installation.
Create a new virtual machine:
- Open the Administration Website.
- In the Virtual Machines section of the navigation pane click on Create.
- Enter the fully qualified path to the location you want to store the virtual machine files in the ‘Virtual machine name’ textbox.For example, if you want to create the virtual machine named Virt under the C:Virt folder enter the following name’ C:VirtVirt. This will create the Virt.vmc configuration file under C:Virt.If you enter just a name instead of the fully qualified path the virtual machine files will be created in the default location, C:Documents and SettingsAll UsersShared Documents.
- In the ‘Virtual machine memory’ text box enter the amount of RAM you want to set aside for the virtual machine.
- In the ‘Virtual hard disk’ setting you can either select ‘Create a new virtual hard disk’ and enter the size of the virtual disk to create it or select ‘Use an existing virtual hard disk’ and enter the fully qualified path to the virtual hard disk.
- The virtual network adapter for the virtual machine can be configured to be connected to a physical network adapter, if you wish so, using the ‘Connected to’ drop down menu.
- After entering all these options click ‘Create’ to create the new virtual machine.
Add a virtual machine from an existing configuration:
- Open the Administration Website.
- In the Virtual Machines section of the navigation pane click Add.
- Enter the fully qualified path to the virtual machine configuration file and click Add.
- In the Administration Website go to the Virtual Disks section in the navigation pane and point to create.
- Click on the type of hard disk to be setup from the following options available:
- Dynamically expanding virtual hard disk.
- Fixed size virtual hard disk.
- Differencing virtual hard disk.
- Linked virtual hard disk.
- Enter the fully qualified file name for the virtual disk you wish to create and its size and then click ‘Create’.
- The only type of hard disk which requires any additional setting is the linked virtual hard disk for which the physical drive to which it has to be linked needs to be selected before clicking ‘Create’.
- Open the Administration Website.
- Under the ‘Virtual Machines’ section in the navigation’s pane, point to configure and then select the appropriate virtual machine.
- In the ‘Configuration’ section towards the lower part of the page, click CD/DVD, then either:
- In the CD drive of the physical computer running the Virtual Server service, Insert the startup CD for the operating system. Click Physical CD/DVD drive. Also select the corresponding CD or DVD drive letter from the drop-down menu, if necessary.
- Click Known image files. The ISO image (.iso) file containing a startup CD image can be selected from the drop-down menu, if the file is located in the default folder (Documents and SettingsAll UsersDocumentsShared Virtual Machines). Else, type the image file’s complete directory path in ‘Fully qualified path to file’
- After that go to status, point to the virtual machine name and click Turn On.
- Point to the virtual machine name, once the virtual machine is turned on. Then click Remote Control to connect to it and complete the operating system installation.
- Red Hat Enterprise Linux 2.1 update 6
- Red Hat Enterprise Linux 3.0 update 6
- Red Hat Enterprise Linux 4.0
- SUSE Linux Enterprise Server 9.0
- Red Hat Linux 7.3
- Red Hat Linux 9.0
- SUSE Linux 9.2
- SUSE Linux 9.3
- SUSE Linux 10.0
The Virtual Server can be configured to have both the Virtual Server Service and Administration Website components on the same physical computer or on separate computers.
To setup both components on the same physical computer:
To setup both components on separate computers:
Now let us examine the methods for adding virtual machines, virtual hard disks to the virtual server.
Adding Virtual Machines
Everything related to the administration of the virtual server and the virtual machines is done from the Administration website accessed as shown below,
Start–>All Programs–>Microsoft Virtual Server–>Administration Website.
Adding a virtual machine to the virtual server can be done in two ways:
Setting up virtual hard disks
The most commonly used virtual hard disks are fixed-size virtual hard disks and dynamically expanding virtual hard disks. All hard disks are setup using the same procedure as explained below:
While creating a virtual machine, a previously created virtual hard disk of any of the above mentioned types, except linked virtual hard disk, can be used.
Adding an operating system to the virtual hard disk
When the virtual machine is created, a virtual version of the CD/DVD drive in the physical machine is created in it. This CD/DVD drive can be configured to either capture a physical disk inserted into the physical drive or capture an ISO image file available anywhere in the physical computer. To configure this:
Another and a much more easier way to deploy the guest operating system would be to copy the .vhd file of another virtual machine having the same operating system and application settings as the machine you wish to setup, rename it to match that name of the new machine you are setting up and then simply specify it as the virtual hard disk for the virtual machine you create. This method can be used to setup the virtual machine and deploy the guest operating system quickly and reduce the time it takes to setup the virtual machine. However, if the virtual machine whose .vhd file is being copied, as well as the new machine being deployed, belongs to an active directory domain the Sysprep utility needs to be run to prepare the operating system for transfer before copying the virtual hard disk.
Virtual Server 2005 R2 SP1 definitely offers a cost effective and robust technology that can be used to deploy virtual servers in a production environment and presents itself as a viable alternative to the VMWare Virtual Server applications. The guest operating systems supported by it, in addition to Microsoft Windows operating systems, include the following Linux distributions as well:
So it can be used for application development and application migration across multiple platforms and the consolidation of separate application servers under a single server bringing down administrative and operations cost, as well as improve resource utilization. It is also capable of providing efficient and quick disaster recovery solutions to enterprise as well as business users.
About the author: Jeffrey T Jackson has been working with Bobcares for 11 months. He is basically a Windows administration expert with more than 1 year experience in pure Windows administration. At present, he is trying his hands on Linux administration too. Apart from work, he is interested in following formula 1 racing and he is an ardent fan of Kimi Raikkonen 🙂