【发布时间】:2019-05-08 14:26:05
【问题描述】:
我正在编写一些 powershell 来从我们的 vSphere 集群中收集数据。我们有一些配对为 Windows/SQL 故障转移集群的虚拟机,我只想从主节点收集数据。 VMWare powershell CLI 中有没有办法区分主要和次要?我查看了虚拟机的扩展属性,但没有找到任何东西,但我想也许我错过了。
感谢阅读!
【问题讨论】:
标签: powershell vmware
我正在编写一些 powershell 来从我们的 vSphere 集群中收集数据。我们有一些配对为 Windows/SQL 故障转移集群的虚拟机,我只想从主节点收集数据。 VMWare powershell CLI 中有没有办法区分主要和次要?我查看了虚拟机的扩展属性,但没有找到任何东西,但我想也许我错过了。
感谢阅读!
【问题讨论】:
标签: powershell vmware
第一个问题是,如何定义哪个是主节点,哪个是辅助节点?从 VMWare/CLI 的角度来看,没有“硬件”/“虚拟硬件”级别的差异,唯一不同的是网络,以及谁拥有“主要”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 中,不是最好的查找主节点的方法。最好的方法是使用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
【讨论】: