Как определить активный узел в отказоустойчивом кластере

Нам нужен способ определить из кода, какой узел кластера приложений в данный момент активен. Есть ли способ сделать это с помощью С#?


person Nancy A    schedule 06.12.2010    source источник
comment
возможный дубликат отказоустойчивого кластера SQL Server - определите активный узел   -  person bzlm    schedule 20.12.2010
comment
Это кластер, отличный от SQL. Мне нужен способ определить текущий активный узел в кластере приложений. У кого-нибудь есть способ сделать это?   -  person Nancy A    schedule 01.02.2011
comment
Довольно размытый вопрос. О каком кластере приложений вы говорите?   -  person Daniel Hilgarth    schedule 23.02.2011
comment
вы использовали Windows Server 2012 R2?   -  person PreguntonCojoneroCabrón    schedule 20.09.2018


Ответы (1)


Это не код C#, это PowerShell. Итак, это не ответ, но мне нужно решение PowerShell для получения узлов в целом (не обязательно активного узла), и этот вопрос возник в моем поиске в Google. IMO, модуль PowerShell FailoverClusters довольно плохо написан, поэтому мне приходится возвращаться (в основном) к объектам, не относящимся к PowerShell (например, WMI), чтобы сделать это правильно.

$Clusters=Get-ADComputer -Server "<specific domain controller (optional)" -LDAPFilter "(servicePrincipalName=*MSClusterVirtualServer/*)" -SearchBase "OU=Servers,DC=<domain name>,DC=com" | Select-Object -ExpandProperty DNSHostName
$ClusterNodes=$Clusters | ForEach-Object { Get-WMIObject -Namespace "root\MSCluster" -ComputerName $_ -Query "SELECT Name FROM MSCluster_Node" -EnableAllPrivileges } | Select-Object -ExpandProperty Name
person Slogmeister Extraordinaire    schedule 07.12.2020