我正在编写一个脚本和文档来管理我设施的长时间断电。我有一个脚本可以自动彻底关闭我的硬件。
我的集群上还配置了 VMware HA。理想情况下,当我重新启动集群时,所有虚拟机都应按照 HA 配置中概述的顺序开始启动。我需要启用哪些 HA 选项才能实现此行为?这显然不是我在生产中可以自由测试的东西,而且我也没有这种东西的测试环境。
我原本以为单个服务器下列出的虚拟机启动/关闭选项可以解决问题,但在使用 vCenter Server 时这些设置显然被禁用。
编辑:我已将 VMware HA 虚拟机选项设置为我想要使用的顺序。如果我的理解正确,那么根本问题是 HA 功能不会重新启动已手动关闭的虚拟机。我还包含了关机脚本的相关功能。
Function VMWareServer
# This function will shut down all virtual machines and then a VMware environment.
{ param( [string]$Server, [string]$ID, [string]$Password )
Write-Host Connecting to $Server ..
Connect-VIServer $Server -User $ID -Password $Password
Write-Host Getting virtual machines...
$ESXSRV = Get-VMHost
Foreach ($VM in ($ESXSRV | Get-VM))
{
Write-Host Shut Down $VM
If( $shutdown )
{
$VM | Shutdown-VMGuest -Confirm:$false
}
}
If( $shutdown )
{ # The following lines shut down the remaining VMs and shut down
# the VMware servers.
Write-Host Waiting for shutdown to complete, be patient
sleep 30
$activeVMs = ($ESXSRV | Get-VM | Where { $_.PowerState -eq "poweredOn" }).Count
Write-Host Sleepy VMs: $activeVMs
If( $activeVMs > 0 )
{
Write-Host Giving remaining VMs 90 seconds to shut down...
sleep 90
}
$ESXSRV | Foreach {Get-View $_.ID} | Foreach {$_.ShutdownHost_Task($TRUE)}
}
Disconnect-VIServer -Server * -Force -Confirm:$False
}
答案1
你有没有进入特性(右上角)虚拟机启动和关闭并检查了允许虚拟机随系统自动启动和停止复选框?
答案2
由于这个问题的复杂性,我将构建一个由两个 ESXi 节点和一个 vSphere Server 组成的整个虚拟集群。我认为,如果不进行测试,这个问题就没有现成的答案。感谢@SpacemanSpiff 和@user48838。