How to add a Pass-through disk to a Highly Available Virtual Machine running on a Windows Server 2012 R2 Failover Cluster
I was recently asked how to add a Pass-through disk to a Highly Available VM running on a Windows Server 2012 R2 Failover Cluster. I tested the steps I was accustomed to for Windows Server 2008 and found the Disk to be in a ReadOnly state in the VM. As it turns out there are differences in how you add the disk and how Cluster refreshes the VM after the disk as added. Below are the steps to do this successfully:
The first step is to add the disk to Failover Cluster. When you do this the disk will be placed in Available Storage. Note the Disk Number associated with your Pass-through disk for later use.
After adding the disk to Failover Cluster, assign it to the VM role and ensure that the disk is online. If it is offline when you perform the remaining steps, the disk will be ReadOnly in the VM with no way to fix it but to start over.
Now that you have the Pass-through disk added to the VM role, all that is left is to modify the VM setting by adding the Pass-through disk to a virtual SCSI adapter. Before doing this you will need to Shut Down the VM and leave the Configuration resource online. Also ensure the disk is online.
Go to the VM Settings from within Failover Cluster administrator by right clicking on the VM and selecting Settings:
Click on the SCSI controller, select Hard Drive and then click on Add. You can use the existing SCSI controller the Operating System VHDX is attached too, or add a second one if you like.
Click the Physical hard disk radio button and from the drop down select the disk that corresponds to the disk you added to the VM role. This is the disk number you noted above. Click ok to complete the change.
Start the Virtual Machine and you will now have access from within the VM to your Pass-Through disk.
Here is an abbreviated list of steps if you are familiar with the interfaces and would just like to know what needs to be done so you can go do it.
- Add the disk that will be a Pass-through disk to Failover Cluster and assign the disk to the VM role.
- Online the disk if it is offline.
- Shutdown the Virtual Machine, but leave the Virtual Machine Configuration resource online.
- Add the Pass-through disk to the VM configuration. Use the existing SCSI controller or add a second.
- Start the Virtual Machine
Steven Andress
Sr. Support Escalation Engineer
Platforms Global Business Support
Comments
- Anonymous
February 16, 2014
227 Microsoft Team blogs searched, 65 blogs have new articles. 154 new articles found searching from - Anonymous
May 02, 2014
The comment has been removed - Anonymous
November 20, 2014
I'm getting the following error when start the virtual machine:
[Window Title]
Virtual Machine Connection
[Main Instruction]
The application encountered an error while attempting to change the state of 'VM'.
[Content]
'VM' failed to start.
Synthetic SCSI Controller (Instance ID FA81BA8F-024A-40E2-AA62-FF732E494961): Failed to Power on with Error 'General access denied error'.
Hyper-V Virtual Machine Management service Account does not have permission to open attachment '?mpio#disk&ven_netapp&prod_lun&rev_811a#1&7f6ac24&0&36304139383030333234363638324435343346343234323636354135353436#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}'. Error: 'General access denied error'.
[Expanded Information]
'VM' failed to start. (Virtual machine ID FC86C8D6-9884-4950-A442-C93A3ABBA50D)
'VM' Synthetic SCSI Controller (Instance ID FA81BA8F-024A-40E2-AA62-FF732E494961): Failed to Power on with Error 'General access denied error' (0x80070005). (Virtual machine ID FC86C8D6-9884-4950-A442-C93A3ABBA50D)
'VM': Hyper-V Virtual Machine Management service Account does not have permission to open attachment '?mpio#disk&ven_netapp&prod_lun&rev_811a#1&7f6ac24&0&36304139383030333234363638324435343346343234323636354135353436#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}'. Error: 'General access denied error' (0x80070005). (Virtual machine ID FC86C8D6-9884-4950-A442-C93A3ABBA50D)
[^] Hide details [Close] - Anonymous
December 25, 2014
Perfect post! - Anonymous
January 23, 2015
i have the situation like hugo - Anonymous
April 29, 2015
Same issue as Hugo, but found no solution yet... Any ideas? - Anonymous
June 18, 2015
I have had the same problem of Hugo. The solution has been to add the disk by PowerShell.
The command is :
Add-VMHardDiskDrive -VMName VMNAME -ControllerType SCSI -ControllerNumber 0 -DiskNumber 1 -AllowUnverifiedPaths -Passthru
The disk number is this one of ClusterStorageDisks et the controller number is 0. - Anonymous
June 18, 2015
I have had the same problem like Hugo and to add my pass-through disk, I have o use PowerShell Command, and not Graphic Interface.
The command is : Add-VMHardDiskDrive -VMName VMName -ControllerType SCSI -ControllerNumber 0 -DiskNumber 1 -AllowUnverifiedPaths -Passthru
My disk number is 1 and the controller number 0.
After that,, i don't have any error about the pass-through disk and it's working fine with my VM. - Anonymous
June 18, 2015
I have had the same problem like Hugo and to add my pass-through disk, I have o use PowerShell Command, and not Graphic Interface.
The command is : Add-VMHardDiskDrive -VMName VMName -ControllerType SCSI -ControllerNumber 0 -DiskNumber 1 -AllowUnverifiedPaths -Passthru
My disk number is 1 and the controller number 0.
After that,, i don't have any error about the pass-through disk and it's working fine with my VM. - Anonymous
November 19, 2015
thanks for the notes here. This has worked perfectly up till now, but my latest pass through disk would not allow the VM to start. The disk gets allocated to one of the cluster members for some reason and rather than looking like clustered disk retains the drive letter from setup. I deleted it and recreated it several time but could not fix it until I found the power shell command here. this converted it back to a clustered disk \GLOBALROOT - Anonymous
March 30, 2016
interesting when i do this with my virtual machine in SCVMM I get the error:-unsupported cluster configuration, and the disk keeps appearing in available storage in SCVMM but failover manager works perfect is this supported for SCVMM configurations?