Microsoft Failover Cluster–Unable to remove a CSV due to dependency

We have a Microsoft 2012 R2 Failover Cluster (FOC) with disk resources presented from our HP 3PAR SAN. At some point two of the volumes were removed on the 3PAR however they had not been removed as Cluster Shared Volumes (CSV) on the FOC. When we attempted to remove the disks as CSV resources and then from the cluster it complained as follows –

Error Message

Or in PowerShell –

PS C:\> Remove-ClusterSharedVolume –Name ***_sql2012test_vv
Remove-ClusterSharedVolume : This operation could not be completed as there
are other resources configured for the specified Cluster Shared Volume.
At line:1 char:1
+ Remove-ClusterSharedVolume -Name ***_sql2012test_vv
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : NotSpecified: (:) [Remove-ClusterSharedVolume],
    ClusterCmdletException
     + FullyQualifiedErrorId : Remove-ClusterSharedVolume,Microsoft.FailoverClu
    sters.PowerShell.RemoveClusterSharedVolumeCommand

 

Now before we proceed I should explain that all of these CSVs have an additional cluster resource attached to them – the HP CLX extension. This allows our FOCs to move CSV resources between datacenters by interacting with our 3PAR arrays. I’m not going to delve into the world of HP CLX here, it’s just important to understand that the CSV has this resource.

If we look at the FOC Manager MMC we can see two resources are offline. Any attempt to remove the resource results in the error displayed above. The problem we have at the moment is we can’t see the HP CLX resource that is associated with the volume and this is what’s holding us back.

Failover Cluster Manager

Let us jump into PowerShell and check for any failed cluster resources.

PS C:\> Get-ClusterResource | where-object {$_.State -eq "Failed"} | format-list

Name : CLX_3PAR_***_sql2012test_vv

State : Failed

OwnerGroup : 2454a724-1779-43bd-a90a-ebb30749b6c0

ResourceType : Cluster Extension 3PAR

 

I’ve filtered the get-clusterresource command to only show those resources currently in a failed state and then copied the results for a single CSV. Notice that the cluster extension is failed, this is what prevents us removing the CSV.

The solution is to run the powershell command remove-clusterresource –

PS C:\> Remove-ClusterResource -Name CLX_3PAR_***_sql2012test_vv

Remove-ClusterResource
Are you sure you want to remove cluster resource
'CLX_3PAR_***_sql2012test_vv? The resource will be taken offline.
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

 

Once the resource is removed we can successfully rid ourselves of the CSVs

Failover Cluster Manager Remove From Cluster Shared Volumes

Failover Cluster Manager Remove From Cluster Shared Volumes

The disk resource will now display as ‘Available Storage’ instead of ‘Cluster Shared Volume’

Failover Cluster Manager Available Storage

Now we can click to remove the resource altogether –

Failover Cluster Manager Remove Disk

If we want to use PowerShell, first remove the CLX resource from the CSV –

PS C:\> Remove-ClusterResource -Name CLX_3PAR_***_sql2012test_vv

Remove-ClusterResource
Are you sure you want to remove cluster resource
'CLX_3PAR_***_sqlascout_vv'? The resource will be taken offline.
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y
PS C:\>

 

Check to find the offline disk resource –

PS C:\> Get-ClusterResource | where-object {$_.State -eq "Offline"}

Name                State               OwnerGroup          ResourceType
----                -----               ----------          ------------
CLX_3PAR_***_... Offline             56224efe-7471-45... Cluster Extensio...
***_sql2012te... Offline             Available Storage   Physical Disk

 

Remove the disk resource –

PS C:\> Remove-ClusterResource –Name ***_sql2012test_vv

Remove-ClusterResource
Are you sure you want to remove cluster resource '***_sql2012test_vv'? The
resource will be taken offline.
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

 

Once these tasks are complete the disk resource will vanish from the FOC and everything is good – no more annoying errors relating to failed resources! The confusing thing for us at the start was why we couldn’t remove the CSV – no VMs, SQL instances etc were dependent on it so initially we were confused why an error indicating other resources were configured for the CSV came up. Once we thought through the CSV setup and checked the cluster resources it became apparent that the CLX resource was still associated with the disk.

3 thoughts on “Microsoft Failover Cluster–Unable to remove a CSV due to dependency”

    • Hi Koen,

      Thanks for the question. We have an active-active datacenter setup with 3PAR synchronous replication and stretched network. This allows us to move resources between our DCs on the fly and CLX handles the Hyper-V environment. VMware uses Peer Persistence which was not available for Hyper-V when we deployed.

      At the time we built this environment we still had a mix of Microsoft Server 2008 R2, 2012 and 2012 R2. We wanted to run the same setup for all versions so made the decision to go down the HP CLX route. We also have a Fiber Channel fabric deployed and all our hosts leverage this for storage connectivity.

      The new features of SMBv3 are definitely something we have an eye on but I think in the near future we will likely migrate from CLX to Peer Persistence now that HP support this on Hyper-V.

      I hope that answers your question, if not please let me know.

      Alex Bytes

      Reply
  1. Wow! At last I got a weblog from where I can actually take
    helpful information concerning my study and knowledge.

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.