Windows Server 2008 Clustering includes resource type specific options which are available by right clicking on the group under Applications and Services.
For Hyper-V, we have the following options.
Manage virtual machine. This option opens Hyper-V Manager with connections to all participating nodes in the cluster. **NOTE: The virtual machine configuration resource must be online for the VM to be registered with Hyper-V and viewable in Hyper-V Manager.
Refresh virtual machine configuration. This option is the most important and is the primary focus of this blog.
In order to better explain how the Refresh virtual machine configuration option is important, let’s run thru a quick breakdown of how Windows Server 2008 Clustering stores information about each virtual machine.
Once you make a virtual machine highly available, we create two resources per VM excluding any disk resource(s).
Virtual machine configuration: This resource is responsible for registering/unregistering the virtual machine with Hyper-V on each node.
Virtual machine: This resource is responsible for changing the state of the VM. IE: Turn on, turn off, shutdown.
The VM resource that we want to inspect is the virtual machine configuration resource. In the screenshot below, I have used cluster.exe to dump the private properties for the “Virtual Machine Configuration HA VM” resource using the following syntax:
Cluster res “Virtual Machine Configuration HA VM” /priv
Note that we store the following in private properties.
VmSwitchPorts: This references the GUID and friendly name for the virtual network(s) the VM’s adapters are connected to as well as any VLAN ID defined for the virtual adapter(s) in the VM. In the example above, my Virtual Network is identified by Switch=’External’.
VmPhysicalDisks: If the virtual machine is configured to use a physical disk as a pass-through disk, the name of the Cluster Disk resource used as the pass-through disk will be referenced here. In the example above, my pass-through disk is identified as Resource=’Cluster Disk’.
VmID: This represents the VM GUID for the Virtual Machine. This is dynamically generated when the virtual machine is created and will not change.
VMStoreRootPath: This is the root folder location of the virtual machines directory for the VM, where our configuration data is stored.
The private properties only contain information that was passed to the Cluster service when the resource was created. So what if networking or disk information changes?
This is where the Refresh virtual machine configuration option comes into play. Whenever you need to make changes to the virtual network, such as connecting a VM Adapter to another virtual network, defining a VLAN ID, or changing the VLAN ID, you must refresh the virtual machine configuration in order for the VM Resource to come online. Also, if you decide to add a physical disk to the VM or replace a physical disk, you must refresh the virtual machine configuration in the cluster.
After right clicking on the group and selecting the option to “Refresh virtual machine configuration”, you will be prompted to take the virtual machine resource offline if it is not already. Once complete, you will be provided with a report similar to the Validation wizard with the outcome of the refresh operation.
The following screenshots provide an example of the report output. In this example, no changes are made. It is important to review the output incase other configuration changes are required.
Support Escalation Engineer