获取. net中故障转移集群角色的主机名



我有一个Windows服务,它应该在(Windows Server 2012 R2)故障转移集群中作为专用角色的通用服务运行,也就是说,在故障转移集群管理器中为该服务配置了主机名和IP地址。(我认为在早期的Windows服务器版本中,"角色"曾经被称为"组")。

一个要求是服务必须知道/提供它所运行的角色的主机名。System.Net.Dns.GetHostName()返回当前服务处于活动状态的物理服务器的名称,但需要的是角色的配置主机名。

我已经在dns APi方向和MS文档中搜索了系统。ServiceProcesses命名空间,但是无法从这些资源中找出这个。

是否有一个。net API能够检索这个,或者这是完全错误的方法?(也就是说,这些信息应该在安装期间写入配置数据库并从中检索)。

有一个用于故障转移群集的。net API。请参考此处-

  • https://msdn.microsoft.com/en-us/library/aa372876 (v = vs.85) . aspx

至于你的问题,我相信每个角色都有一个OwnerNode属性,这个WMI类应该可以帮助你。

<

MSCluster_Node类/strong>

[Dynamic, Provider ("MS_CLUSTER_PROVIDER"), UUID ("{C306EBED-0654-4360-AA70-DE912C5FC364}")]class MSCluster_Node : CIM_UnitaryComputerSystem
{   
 string             Roles[];
}

https://msdn.microsoft.com/en-us/library/aa371446 (v = vs.85) . aspx

如果你深入到方法,还有一个-

  • executenodeconcontrol方法,甚至有一个CLUSCTL_NODE_GET_ID

https://msdn.microsoft.com/en-us/library/cc512216 (v = vs.85) . aspx

如果上面没有帮助你,你也可以尝试下面的参考。

MSCluster_ResourceToPossibleOwner类是一个动态关联WMI类,它表示资源及其可能的所有者节点的列表。

  • https://msdn.microsoft.com/en-us/library/aa371478 (v = vs.85) . aspx

希望这有帮助,我对用故障转移集群和c#做事情很陌生。我希望我也能从这篇文章中学到东西。

相关内容

  • 没有找到相关文章

最新更新