区分VMWare中的主节点和次节点

Distinguish Between Primary and Secondary Nodes in VMWare

我正在编写一些 powershell 来从我们的 vSphere 集群收集数据。我们有一些虚拟机作为 Windows/SQL 故障转移集群配对,我只想从主节点收集数据。 VMWare powershell CLI 中有没有办法区分主要和次要?我查看了虚拟机的扩展属性,但没有找到任何东西,但我想也许我错过了它。

感谢阅读!

第一个问题,怎么定义哪个是主节点,哪个是副节点?从 VMWare/CLI 的角度来看,没有 "hardware"/"virtual hardware" 级别差异,唯一不同的是网络,以及谁拥有 "Primary" IP 地址。

使用 VMWare PowerShell CLI 模块,它看起来像:

Get-Module VMware.VimAutomation.Core
$cred = Get-Credential
Connect-VIServer -Server VC01 -Credential $cred

$computer = Get-VM -Name 'NODE01'
$IpAddresses = $computer.Guest.IPAddress

你最终不得不访问每台机器并提取 IP 地址列表,然后你将迭代以匹配主要 IP 地址等。这是很多工作,而且在 MHO 中,不是找到主节点的最佳方法。最好的方法是查询 actual 故障转移集群,告诉你使用 FailoverClusters PowerShell 模块的主节点是什么:

Import-Module FailoverClusters
Get-Cluster -Name CLUSTER | Get-ClusterGroup

Name              OwnerNode  State
----              ---------  -----
Available Storage NODE01     Offline
Cluster Group     NODE01     Online
SQL01             NODE02     Online