我正在编写一些Powershell,以从我们的vSphere群集中收集数据。我们有一些虚拟机配对为Windows / SQL故障转移群集,我只想从主节点收集数据。 VMWare Powershell CLI中是否可以区分主服务器和辅助服务器?我浏览了VM的扩展属性,但没有发现任何东西,但以为也许我错过了。
感谢阅读!
答案 0 :(得分:1)
第一个问题是,如何定义哪个是主节点,哪个是辅助节点?从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