Behavior Change When Working with Pass-Through Disks in Windows Server 2012 Failover Clusters
Welcome back to the CORE Team blog. I want to discuss a behavior change in Windows Server 2012 Failover Clusters with respect to configuring highly available virtual machines with pass-through disks.
Users have been attaching pass-through disks to virtual machines for quite some time. There are several reasons for this including the limitation on virtual hard disk (VHD) size and\or the decreased performance experienced when using the VHD format. Beginning with Windows Server 2012 Hyper-V, there are new capabilities that make using pass-through disks an obsolete concept. These new features, which address both size and performance, include:
- Virtual Fibre Channel as a storage connection type inside virtual machines
- New virtual hard disk format with VHDX
If you plan to configure pass-through disks in highly available virtual machines in Windows Server 2012 Failover Clusters, then continue reading. If you do not, then thank you for recognizing the value proposition of the new features in Windows Server 2012.
To put the new behavior in perspective, I will briefly review the existing behavior in Windows Server 2008 R2. Before configuring a pass-through disk in a virtual machine in Windows Server 2008 R2, a disk is mapped to a Hyper-V server, brought online, initialized, and taken back offline. If a virtual machine is already highly available in an R2 Failover Cluster, or is going to be made highly available, then the disk must be added to the cluster as a physical disk resource. If the disk is not added as a cluster resource before configuring the virtual machine with the pass-through disk, the 'Refresh Virtual Machine' process that is executed will result in Warnings viewable in a report.
Choosing to view the report (Yes), shows a Failed process.
The details do not provide a clear reason for the failure (i.e. Element not found).
Additional information contained in the report provides the reason for the failure and can be used by an administrator to fix the problem (i.e. add the disk resource(s) to the cluster).
The reported failure does not prevent the pass-through disk from being added to the virtual machine configuration. Additionally, an event is registered in the FailoverClustering-Manager log -
Event ID: 4649
Source: FailoverClustering -Manager
"Failover Cluster Manager detected that virtual machine <VM_Name> is configured to use one or more disk that are not yet added to the cluster. Please add all required disks to the cluster before making this virtual machine highly available". The Hyper-V-High-Availability log registers an event as well -
Event ID: 21105
"'Virtual machine Configuration <VM_Name>' failed to update the configuration data of the virtual machine: Element not found. (0x80070490)."
Even with the error and warnings, the storage is visible in Disk Manager in the virtual machine and can be manipulated as if it had been properly configured. The administrator must realize the problem and implement corrective action.
Switching gears now to Windows Server 2012 Failover Clusters…
Pass-through disks are also supported in Hyper-V in Windows Server 2012. The rational for using them, however, no longer really applies. What has changed is the mechanism that was in place in Windows Server 2008 R2 that provided a 'check and balance' process to be sure the end user did not make an error when configuring the virtual machine (i.e. did not add the disk to the cluster configuration first). To illustrate, let us examine two possible scenarios:
Scenario 1: Adding a Pass-through disk to an already highly available virtual machine
When configuring a pass-through disk in an already highly available virtual machine using the Failover Cluster Manager interface in Windows Server 2012, there is no report generated as part of a 'Refresh Virtual Machine' process. Therefore, information that could make an administrator aware of a misconfiguration is not immediately available. The logged events documented above are still registered. Even with the misconfiguration, the disk(s) can still be manipulated in the virtual machine and the virtual machine role moves freely (migrates) between nodes in the cluster without error. A vigilant administrator may eventually notice that the improperly configured pass-through disk is not listed in the Resources tab for the virtual machine and could then correct the misconfiguration.
Scenario 2: Adding a Pass-through disk to a virtual machine before making it highly available
If a virtual machine is configured with a pass-through disk before it is made highly available, and those disks have not been added to the cluster, the Configure Role process in Failover Cluster will detect the misconfiguration. The information provided in the generated report will instruct the administrator to add the disks to the cluster before making the virtual machine highly available. In this case, no change to the virtual machine configuration is made until the problem is corrected (the disks are added to the cluster).
When properly configured, pass-through disks are listed in the Resources tab for the role and are even identified as 'Pass-through Disk' as shown here -.
Those of us who have been working with Failover Clusters for a while would probably agree that having resources attached to highly available cluster roles that are not themselves under control of the cluster is not a good thing. Some of you may ask if this will be fixed. I do not know the answer to that question at this time, but the Product Team is aware of it.
Thanks, and come back again soon.
Senior Support Escalation Engineer
Microsoft Enterprise Platforms Support
High Availability\Virtualization Team