如果在设置的时间内没有收到单个虚拟机的 VMware Tools 检测信号,虚拟机监控将重新启动该虚拟机。同样,如果没有收到虚拟机正在运行的应用程序的检测信号,应用程序监控也可以重新启动该虚拟机。可以启用这些功能,并配置 vSphere HA 监控无响应时的敏感度。

启用虚拟机监控后,虚拟机监控服务(使用 VMware Tools)将通过检查正在客户机内运行的 VMware Tools 进程的常规检测信号和 I/O 活动来评估集群内的每个虚拟机是否正在运行。如果没有收到检测信号或 I/O 活动,则很有可能是客户机操作系统出现故障,或未分配给 VMware Tools 用来完成任务的时间。在这种情况下,虚拟机监控服务会先确定虚拟机已发生故障,然后决定重新引导虚拟机以还原服务。

有时,仍然正常工作的虚拟机或应用程序会停止发送检测信号。为了避免不必要的重置,虚拟机监控服务还监控虚拟机的 I/O 活动。如果在故障时间间隔内未收到任何检测信号,则会检查 I/O 统计间隔(集群级别属性)。I/O 统计间隔确定在前两分钟(120 秒)内是否已发生与虚拟机有关的任何磁盘或网络活动。如果没有,则重置该虚拟机。可以使用高级选项 das.iostatsinterval 更改此默认值(120 秒)。

要启用应用程序监控,必须先获取相应的 SDK(或使用可支持 VMware 应用程序监控的应用程序),然后使用它来设置要监控的应用程序的自定义检测信号。完成此操作后,应用程序监控的工作方式将与虚拟机监控的工作方式大致相同。如果在指定时间内没有收到应用程序的检测信号,将重新启动其虚拟机。

您可以配置监控敏感度的级别。高敏感度监控可以更快得出已发生故障的结论。然而,如果受监控的虚拟机或应用程序实际上仍在运行,但由于资源限制等因素导致未收到检测信号,高敏感度监控可能会错误地认为此虚拟机发生了故障。低敏感度监控会延长实际故障和虚拟机重置之间服务中断的时间。请选择一个有效折衷满足需求的选项。

也可以通过选中自定义复选框来指定监控敏感度和 I/O 统计间隔的自定义值。

表 1. 虚拟机监控设置
设置 故障时间间隔(秒) 重置期
30 1 小时
60 24 小时
120 7 天

检测到故障后,vSphere HA 会重置虚拟机。重置可确保这些服务仍然可用。为了避免因非瞬态错误而反复重置虚拟机,默认情况下,在某个可配置的时间间隔内将对虚拟机仅重置三次。在对虚拟机执行过三次重置后,指定的时间结束之前,vSphere HA 不会在后续故障出现后进一步尝试重置虚拟机。可以使用每个虚拟机的最大重置次数自定义设置来配置重置次数。

注: 当关闭虚拟机电源然后再次打开虚拟机电源时,或使用 vMotion 将虚拟机迁移到其他主机时,重置统计信息将被清除。这将导致客户机操作系统重新引导,但不同于虚拟机电源状况发生更改的“重新启动”。