- Unable to add Pass-through Disk in failover console to make Virtual Machine’s(2 VM’s) High Available with Pass-Through Disk.
- Multiple VM’s had pass-through disk’s and no issue with any other.
- Issue occurred after one of my team member removed pass-through disk post VM shutdown
- Able to add pass-through disk without adding in to HA
- One of my team member removed pass-through disk and shutdown as part of planned maintenance activity – Post VM start , Disk went into Read-Only mode in guest O.S.
- Due to less time, without VM shutdown I tried to remove pass-through disk from VM ->Disk changing to Read-Only Mode
- As disk changing to read-only mode, assumed that disk need to keep in offline at Host level ->Therefore, I had only option to change Disk to Turn-on Maintenance mode in failover console
- In Failover console-> Kept Disk into Maintenance Mode -> Added pass-through disk to VM in Failover Console -> Worked fine, Disk is in normal mode in Guest O.S.
Keeping the Disk into maintenance will not impact any functionality. Enabling of this mode will just disables few Disk checks like File/Device System Check’s , Is Alive, Look Alive etc. which performed by cluster service
Maintenance mode will remain on until one of the following occurs:
- You turn it off.
- The node on which the resource is running restarts or loses communication with other nodes (which causes failover of all resources on that node).
I have taken downtime as I need to Turnoff Disk Maintenance and resolve issue permanently
- Removed VM & Disk from High Availability and Re-added to Failover Console -> No Luck
- Moved VM to different Host server’s and tested the same steps to isolate issue from Host level ->No Luck
- Created Test VM and executed similar to isolate issue from VM level ->No Luck
- Tested by assigning Cluster disk’s with different servers to isolate issue from Disk ownership -> No luck
- Tried Pass-through Disk by keeping in Disk Maintenance mode ( Previous state) -> No Luck
- Removed VM & Disk from HA and added only in Hyper-v Manager -> It is working without High Availability
- Before adding to cluster , when making DISK online -> Disk automatically coming with drive letter by appearing in windows Explorer -> Drive letter appearing as pass-through disk is not new(fresh), it is already using in production with drive letter so directly mounting.
- When adding Cluster Disk in Failover console (let’s say in HOST1) -> Disk ownership changing to HOST2 after adding to cluster -> This is the main difference which we made with current and other VM’s
- Received Error while adding Pass -through Disk to VM in Failover Console -> Error “An error occurred while updating the virtual machine configuration settings, Error code:0x8007100c, Not Supported”
Involved Microsoft support to check this typical issue, below are root cause & solution for the subjected issue
- The UI(Failover Console) was trying to check the permission due to which we received an error on the disk which we are presenting as pass through as they are presented from SAN.
- When we add the disk as pass through to the VM it gets added with the MPIO path of the disk. Due to which when we add it from the failover cluster manager to the VM it fails to update that path on the VM configuration file as it needs certain permissions, which it cannot see as we cannot add permission on the path \\?\mpio#disk&ven_dgc&prod_raid_5&rev_0532#1&7f6ac24}
‘Virtual Machine “DBL’ failed to start.
‘DBL’ failed to start. (Virtual machine ID XXXXXXXXXX)
‘DBL’ Synthetic SCSI Controller (Instance ID XXXXXXX): Failed to Power on with Error ‘General access denied error’ (0x80070005). (Virtual machine ID XXXXXXX)
‘DBL’: Hyper-V Virtual Machine Management service Account does not have permission to open attachment ‘\\?\mpio#disk&ven_dgc&prod_raid_5&rev_0532#1&}’. Error: ‘General access denied error’ (0x80070005). (Virtual machine ID XXXXXXX)
The highlighted is the path of the disk on which we cannot add the permission.
To force that path to get updated on the VM configuration file we have to run the PowerShell command.
update-clustervirtualmachineconfiguration -vmid XXXXXX-XXXX-XXXX
Above command updated the path succesfully in VM configuration, VM booted successfully