Resource discovery in Failover Clusters

Anand P 1 Reputation point
2021-03-17T17:06:16.177+00:00

Hello,

I have a .Net web application that runs in a Failover Cluster. It executes in the 'Cluster Group' owner node.
I need to get the file system information of shared disks in the cluster. I have a path to a file in the disk. The function I have used is GetVolumePathName() (fileapi.h) which returns the volume mount point for the specified path. This mount point is then passed to GetVolumeInformation() function which returns the file system type. This works well with Cluster Shared Volumes and if the shared disk is owned by the 'Cluster Group' owner node.
But, if a cluster disk is owned by a node other than this 'Cluster Group' owner node, I am not able to get the information. The functions GetVolumePathName() and ClusterGetVolumePathName() both return error code 2. GetVolumeInformation returns empty file system.
I would like to know if there is a function or API or WMI query that can give me the file system information in this case.

In general, how to discover the resources in a node that is not the Cluster Group owner, if not using a cluster-wide command such as Get-Volume or a WMI query with a class such as MSFT_Volume?

Thank you,
Anand

Windows Server Clustering
Windows Server Clustering
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.Clustering: The grouping of multiple servers in a way that allows them to appear to be a single unit to client computers on a network. Clustering is a means of increasing network capacity, providing live backup in case one of the servers fails, and improving data security.
978 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. JiayaoZhu 3,911 Reputation points
    2021-03-18T08:29:16.277+00:00

    Hi,

    Thank you for your reply!

    According to your description, it seems that CSV is started in your cluster. Thus, the file path is migrated under \ClusterStorage, so the file system status cannot be accessed through the original path. Try to use the Get-ClusterResource command in your PowerShell. More information:

    https://learn.microsoft.com/en-us/powershell/module/failoverclusters/get-clusterresource?view=windowsserver2019-ps

    In addition, after research, it seems that currently there are no ways to check your file system status other than a cluster-wide command such as Get-Volume or a WMI query with a class such as MSFT_Volume

    Thank you for your time!

    Best regards
    Joann

    --------------------------------------------------------------------------------------------------------------------

    If the Answer is helpful, please click "Accept Answer" and upvote it.

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.