Hyper-V Clustered Shared Volumes are great…. except when the mount points get scrambled. How does that happen you ask? It happens like this. You have a problem on your storage network that prevents your Hyper-V servers from communicating with the Cluster Shared Volumes and they all go offline. You resolve the issue and the cluster shared volumes all come back online however some – or all – of your Virtual Machines won’t start because they can’t find their storage even with all Cluster Shared Volumes online! If you dig deeper into the error you will find these error messages.
********************************
Cluster resource ‘Virtual Machine Configuration SERVER’ of type ‘Virtual Machine Configuration’ in clustered role ‘SERVER’ failed. The error code was ‘0x2’ (‘The system cannot find the file specified.’).
and
‘Virtual Machine Configuration SERVER’ failed to register the virtual machine with the virtual machine management service. The Virtual Machine Management Service failed to register the configuration for the virtual machine ‘7308EEBF-721E-4329-9B50-D9EFDCC12B52’ at ‘C:\ClusterStorage\Volume2\Virtual Machines\SERVER’: The system cannot find the file specified. (0x80070002). If the virtual machine is managed by a failover cluster, ensure that the file is located at a path that is accessible to other nodes of the cluster.
*******************************
If you’ve never had this problem, you won’t understand what a nightmare this is. If you’re currently having this problem then read on friend, I can help!
If you look at your Clustered Shared Volumes in Failover Cluster Manager
you will see that the Cluster Shared Volume that has your VM data on it is mounted to a different volume in this case “C:\ClusterStorage\Volume1” instead of “C:\ClusterStorage\Volume2” which is where your VM is looking for it. Windows Mounted it to a different folder!
Thankfully the problem is easy to resolve. You need to look at your error logs and see what Volume number the Virtual Machine is trying to access and rename the where folder where your VM data actually is to match. (In this case you would rename “Volume1” to “Volume2” as in the screenshot below. If Volume2 already exists you can rename it to Volume2.old temporarily.
Once this is done you should be able to boot up your malfunctioning Virtual Machine no problem. You can repeat this process for any other volumes that were mapped to the wrong folder. You may need to temporarily rename some folders to .old if you run into duplicate names but once you sort out the folder names everything should work again!