Distributed Data Center Virtualization using
Windows Virtual Server 2005 R2
Using Sanbolic’s Melio File System, LaScala Volume Manager
and Microsoft Clustering Services to enable flexible migration
of active virtual machines across physical hosts running
Virtual Server 2005
Step-by-Step Guide for clustering Virtual Server 2005 R2
with Sanbolic’s Melio FS and LaScala VM
Table of Contents
Data Center Virtualization…………………………..………………….….......2
Step for Configuring Virtual Server Clustering………….…………….....…..4
Using the Microsoft Clustering Services to Migrate Virtual Machines ......14
Data Center Infrastructure Virtualization
Microsoft Windows Virtual Server 2005 is available at no charge and is an effective tool for
partitioning a physical server to allow multiple operating systems to run simultaneously and
independently as guest servers. If the host server is running Microsoft Windows Server
2003 R2 Enterprise Edition, rights for up to four guest server OS licenses are included.
Partitioning a server and running multiple separate OS instances on it facilitates the
consolidation of multiple applications on a single server for better capacity utilization.
As familiarity with virtualization grows, many users want to move from single-server
partitioning to distributed datacenter infrastructure virtualization. By virtualizing the storage
as well as the servers, and providing the flexibility to dynamically move virtual servers to
any one of several physical hosts, the data center resources become much more flexible,
can run at higher utilization, and have improved options for maintaining availability during
The state of the Virtual Server and its application data are contained within a .VHD file
which resides on the hard disk of the host server, or on a LUN assigned to it on external
storage. It is possible to save the state of the Virtual Server instance, copy it to a second
physical server, and then restore the Virtual Server instance so that it is running on the
second host. However, this is a slow process, and the application will be unavailable
during the migration.
By clustering Virtual Server 2005 instances across physical hosts using Microsoft
Clustering Services (a component of the Windows Server Enterprise or Datacenter
license), and using Sanbolic’s clustered file system, users can overcome the limitation
described above and create a distributed virtualization architecture using standard
Windows Server components and management interfaces. Active virtual machines can
easily be moved across physical hosts, and application data volumes on a central SAN
storage pool are automatically mounted by the Virtual Server 2005 instance running the
application from any physical host it is moved to.
This paper describes in detail the configuration of Virtual Server clusters using Microsoft
Clustering Services and Sanbolic’s file system and volume manager. Additional resource
for configuring central storage management are listed in the notes section below.
The state and virtual local disk for a Virtual Server 2005 instance is contained within a
VHD file which typically resides on the file system of the host server when used for single
server partitioning. In order to create a distributed virtualization architecture in which a
Virtual Server instance can be dynamically moved to any host server, all host servers must
have concurrent access to the VHD file.
Sanbolic’s Melio clustered file system is designed to provide multiple Windows servers
with concurrent access to shared data on a Fibre Channel or iSCSI SAN. By maintaining
the .VHD files for all Virtual Servers on SAN storage and installing Melio file system on
each host server, each physical host has concurrent access to all .VHD files.
A Virtual Server 2005 instance can only be active on only one host at a time. Microsoft
Clustering Services is typically used for high availability applications to failover application
to a standby server when the primary server fails. It can also be used as a tool to migrate
the state of a Virtual Server 2005 instance across physical hosts while the application
remains active. Microsoft Clustering Services provides a central graphical interface for
migrating virtual machines. Much of the complexity of typical failover configurations is
removed when using Melio clustered file system since there is no need to move a storage
resource between servers-- all hosts have concurrent access to the storage resource, so
only the application needs to be moved.
Although not described in detail in this paper, LaScala Volume manager can be used to
virtualize storage access for Virtual Server 2005 when used with iSCSI SAN storage.
LaScala can manage large shared storage pool spanning several storage arrays and be
used to centrally configure logical volumes which are assigned to servers using Windows
ACLs in conjunction with Active Directory. Because Virtual Server 2005 can mount an
external iSCSI storage volume, LaScala enables a Virtual Server instance to automatically
gain access to its application data volumes on the SAN after it moved across hosts. More
detail can be found in http://www.sanbolic.com/pdfs/LaScala_manual.pdf
1. Installation Requirements
In order to successfully complete the clustering procedure, the following software and
hardware requirements must be met (this paper describes a configuration with two
physical hosts, but host environments of up to eight hosts can be configured as well):
1.1 OS requirements - Windows 2003 enterprise or datacenter edition
1.2 Software requirements – Virtual Server 2005 R2, IIS 6, Melio FS and LaScala
1.3 MSCS fully functioning two-node cluster, configured with an appropriate
quorum resource -
1.4 Storage requirements – access to shared storage by Fibre Channel, SCSI or
1.5 Network requirements – at least 2 network adapters dedicated to network
1.6 Hardware requirements – Two identical server computers listed in Windows
Server Catalog - [ http://go.microsoft.com/fwlink/?LinkId=4303 ]
1.7 Cluster script -
2. Steps for configuring a simple Virtual Server host clustering
2.1. The storage should contain at least two separate volumes, that is, two
separate logical unit numbers (LUNs). One volume will function as the
quorum formatted with NTFS file system (Q:) (disk containing configuration
information needed for the cluster), and one will contain the virtual disk for the
guest and will be Melio FS formatted (X:).
2.2. Next step involves the proper configuration of a server cluster. After this setup
is completed and you open the Cluster Administrator Console, you will come-
up with a screen similar to the one below. Here MSCS-SANBOLIC is the
name of the cluster; 2k3R2SRV1 and 2k3R2SRV2 are the names of its node
2.3. This step involve configuration of a shutdown script on each node. To do
this, follow the steps:
2.3.1. Click Start, click Run, type gpedit.msc, and then press ENTER.
2.3.2. In the left pane, click Local Computer Policy, click Computer
Configuration, click Windows Settings, and then click Scripts
(Startup/Shutdown). In the right pane, double-click Shutdown.
2.3.3. In the Shutdown Properties dialog box,click Add. For the Script
Name,type: c:Stop_clussvc_script.cmd and click OK
2.4. In Cluster Administrator, create a new resource group and name it
Guest1Group. If you want to specify a Preferred Owner for the group, specify
the node on which you want the guest to run most of the time.
2.5. Ensure that Guest1Group is online on a node. Then, on that node, use
Explorer to create a folder on disk X: called Guest1.
2.6. On each node's local disk, in the systemrootCluster folder, copy the script
2.7. On the computer that contains the management tool for Virtual Server 2005
R2, click Start, click Programs or All Programs, click Microsoft Virtual Server,
and then click Virtual Server Administration Website. View the clusternode
that currently owns DiskResourceQ. In the navigation pane, under Virtual
Networks, click Create. In Virtual network name, type ClusterNetwork.
In Network adapter on physical computer, select the network adapter
associated with the public network (not the private network)
and then click OK.
2.8. In the navigation pane, under Virtual Networks, click Configure, and then
click View All. Point to the virtual network you just created, and then click
Edit Configuration. In the line labeled .vnc file, select the path, and then
open a text editor such as Notepad and copy and paste the path into a file
for later use.
2.9. Point to the virtual network you just created, and then click Remove.
2.10. On the cluster node on which you created the .vnc file, open Explorer, and
then navigate to the path that you copied into a text file in step 4.3.8 .
Right-click ClusterNetwork.vnc, and then click Cut.
2.11. Navigate to X:Guest1 and paste the .vnc file, ClusterNetwork.vnc
2.12. In the virtual Server Administration Website, under Virtual Networks, click
Add. In the box next to Existing Configuration (.vnc) file, type:
and click Add
2.13. In the navigation pane, under Virtual Machines, click Create.
- In Virtual machine name, instead of simply typing the name, type the
following path, which not only names thevirtual machine Guest1, but places
the virtual machine's configuration file on the cluster
- In Memory, type a value in megabytes for the amount of RAM used by
the virtual machine. If you plan to create other virtual machines on this
physical host, be sure to use only part of the physical RAM forGuest1.
- In Virtual hard disk, select Create a new virtual hard disk. To set the size
of the virtual hard disk, specify a value in Size, and then select either MB for
megabytes or GB for gigabytes. This size must be smaller than or equal to
the size of disk X:.
- In Virtual network adapter, select ClusterNetwork.
2.14. To complete the configuration of Guest1 so it can fail over
Complete the previous procedures.
- In Cluster Administrator, move Guest1Group to the other node (not the
node on which you were working in the previous procedure).
- For the cluster node on which Guest1Group is currently located, open
the Virtual Server Administration Website.
- In the navigation pane, under Virtual Networks, click Add.
- In the box next to Existing configuration (.vnc) file type:
2.15. In the navigation pane, under Virtual Machines, click Add.
In Fully qualified path to file, type:
2.16.On either cluster node, in Cluster Administrator, create a new script resource
with the properties in the following list.
Note: Do not bring this new resource online until you have completed step 4.17.
• Call it Guest1Script.
• Make it a Generic Script resource.
• Assign the resource to Guest1Group.
• For Possible Owners, make sure both cluster nodes are listed.
• For the Script filepath, specify the following, typing the percent character (%) as
2.17.With Guest1Script in the Offline state, on the same node as in the previous
step, click Start, click Run, type the following command, and then press
cluster res "Guest1Script" /priv VirtualMachineName=Guest1
This command associates the Guest1Script resource with the guest named
2.18.In Cluster Administrator, bring Guest1Group online.
2.19.After completing the configuration of Guest1 so it can fail over, you can
install an operating system on Guest1. After installing the operating
system, you must install Virtual Machine Additions on the guest. Virtual
Machine Additions is included in Virtual Server 2005 R2.
If you have followed the above procedure step-by-step, you’ll have a highly available
clustered virtual machine.
Using the Microsoft Clustering Services to Migrate Virtual Machines
Provided that Virtual Machine Remote Control is configured, one can observe the process
of Virtual Machine instance. Below is a screenshot taken form one of the cluster nodes.
There are two Administrative Console instances connected each of the cluster nodes also
a Cluster Administrator window opened.
Migrating virtual servers is as simple as moving a cluster group from one cluster node to
The last step in the process of Virtual Machine migration is to check that it has been
properly moved to the other node and the first owner of the VM Instance is off is now
offloaded with the VM instance.
For the preparation of this guide, excerpts were used from a document called “Virtual
Server Host Clustering Step-by-Step Guide for Virtual Server 2005 R2”.
For the proper installation and configuration of the required software below is a list of
• LaScala Installation Guide http://www.sanbolic.com/pdfs/LaScala_manual.pdf
• Melio FS Installation Guide
• "Microsoft Virtual Server" on the Microsoft Web site
• "Using iSCSI with Virtual Server 2005 R2" on the Microsoft Web site
• Windows Server Catalog http://go.microsoft.com/fwlink/?LinkId=4303
• "Setting up operating systems for virtual machines" on the Microsoft Web site
• "Quick Start Guide for Server Clusters" on the Microsoft Web site
• "Installing Virtual Server" on the Microsoft Web site
304 Pleasant Street, 2nd Floor
Watertown, MA 02472
phone: 617 833 4249
fax: 617 926 2808