community.vmware.vmware_cluster_ha 模块 – 管理 VMware vSphere 集群上的高可用性 (HA)

注意

此模块是 community.vmware 集合 (版本 5.2.0) 的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.vmware

要在 playbook 中使用它,请指定:community.vmware.vmware_cluster_ha

概要

  • 管理 VMware vSphere 集群上的 HA 配置。

参数

参数

注释

advanced_settings

字典

高级 HA 设置的字典。

默认: {}

apd_delay

整数

对于归类为所有路径关闭 (APD) 的存储故障,响应恢复延迟时间(以秒为单位)。

仅在 apd_response=restartConservativeapd_response=restartAggressive 时设置。

默认: 180

apd_reaction

字符串

对于归类为所有路径关闭 (APD) 的存储故障,VM 响应恢复操作。

仅在 apd_response=restartConservativeapd_response=restartAggressive 时设置。

选择

  • "reset" ←(默认)

  • "none"

apd_response

字符串

对于归类为所有路径关闭 (APD) 的存储故障,VM 存储保护设置。

选择

  • "disabled"

  • "warning" ←(默认)

  • "restartConservative"

  • "restartAggressive"

cluster_name

字符串 / 必需

要管理的集群的名称。

datacenter

别名:datacenter_name

字符串 / 必需

数据中心的名称。

enable

布尔值

是否启用 HA。

选择

  • false

  • true ←(默认)

failover_host_admission_control

字典

failover_hosts

列表 / 元素=字符串 / 必需

专用故障切换主机的列表。

ha_host_monitoring

字符串

HA 是否在主机发生故障后重新启动虚拟机。

如果设置为 enabled,则 HA 在主机发生故障后重新启动虚拟机。

如果设置为 disabled,则 HA 在主机发生故障后不会重新启动虚拟机。

如果 enable=false,则忽略此值。

选择

  • "enabled" ←(默认)

  • "disabled"

ha_restart_priority

字符串

如果没有足够的容量来启动所有发生故障的虚拟机,则 HA 会为虚拟机赋予优先级。

仅在 ha_vm_monitoring=vmAndAppMonitoringha_vm_monitoring=vmMonitoringOnly 时有效。

如果设置为 disabled,则为此虚拟机禁用 HA。

如果设置为 high,则在主机上没有足够的容量来满足所有虚拟机的需求时,具有此优先级的虚拟机在发生故障后更有可能启动。

如果设置为 medium,则在主机上没有足够的容量来满足所有虚拟机的需求时,具有此优先级的虚拟机在发生故障后有中等机会启动。

如果设置为 low,则在主机上没有足够的容量来满足所有虚拟机的需求时,具有此优先级的虚拟机在发生故障后启动的机会较小。

选择

  • "disabled"

  • "high"

  • "low"

  • "medium" ←(默认)

ha_vm_failure_interval

整数

如果未收到任何心跳信号,则声明虚拟机发生故障的秒数。

此设置仅在 ha_vm_monitoring=vmAndAppMonitoringha_vm_monitoring=vmMonitoringOnly 时有效。

单位为秒。

默认值: 30

ha_vm_max_failure_window

整数

在自动响应停止之前,最多允许发生 ha_vm_max_failures 次重置的时间窗口,单位为秒。

仅在 ha_vm_monitoring=vmAndAppMonitoringha_vm_monitoring=vmMonitoringOnly 时有效。

单位为秒。

默认值指定没有故障窗口。

默认值: -1

ha_vm_max_failures

整数

ha_vm_max_failure_window 指定的时间内,允许的最大故障次数和自动重置次数。

仅在 ha_vm_monitoring=vmAndAppMonitoringha_vm_monitoring=vmMonitoringOnly 时有效。

默认值: 3

ha_vm_min_up_time

整数

虚拟机启动后,虚拟机心跳稳定所需的秒数。

仅在 ha_vm_monitoring=vmAndAppMonitoringha_vm_monitoring=vmMonitoringOnly 时有效。

单位为秒。

默认值: 120

ha_vm_monitoring

字符串

虚拟机健康监控服务的状态。

如果设置为 vmAndAppMonitoring,则 HA 会响应虚拟机和应用程序的心跳故障。

如果设置为 vmMonitoringDisabled,则禁用虚拟机健康监控。

如果设置为 vmMonitoringOnly,则 HA 仅响应虚拟机的心跳故障。

如果 enable=false,则忽略此值。

选择

  • "vmAndAppMonitoring"

  • "vmMonitoringOnly"

  • "vmMonitoringDisabled" ← (默认)

host_isolation_response

字符串

指示当主机确定与计算资源的其余部分隔离时,是否应关闭虚拟机电源。

如果设置为 none,则在发生主机网络隔离时,不关闭虚拟机电源。

如果设置为 powerOff,则在发生主机网络隔离时,关闭虚拟机电源。

如果设置为 shutdown,则在发生主机网络隔离时,关闭虚拟机的客户操作系统。

选择

  • "none" ← (默认)

  • "powerOff"

  • "shutdown"

hostname

字符串

vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。

如果任务中未指定该值,则将使用环境变量 VMWARE_HOST 的值。

password

别名:pass, pwd

字符串

vSphere vCenter 或 ESXi 服务器的密码。

如果任务中未指定该值,则将使用环境变量 VMWARE_PASSWORD 的值。

pdl_response

字符串

针对被归类为永久设备丢失 (PDL) 的存储故障的虚拟机存储保护设置。

选择

  • "disabled"

  • "warning" ←(默认)

  • "restartAggressive"

port

整数

vSphere vCenter 或 ESXi 服务器的端口号。

如果任务中未指定该值,则将使用环境变量 VMWARE_PORT 的值。

默认值: 443

proxy_host

字符串

将接收所有 HTTPS 请求并中继它们的代理地址。

格式为主机名或 IP 地址。

如果任务中未指定该值,则将使用环境变量 VMWARE_PROXY_HOST 的值。

proxy_port

整数

将接收所有 HTTPS 请求并中继它们的 HTTP 代理的端口。

如果任务中未指定该值,则将使用环境变量 VMWARE_PROXY_PORT 的值。

reservation_based_admission_control

字典

配置基于预留的准入控制策略。

slot_based_admission_controlreservation_based_admission_controlfailover_host_admission_control 是互斥的。

auto_compute_percentages

布尔值

默认情况下,reservation_based_admission_control.failover_level 用于计算 reservation_based_admission_control.cpu_failover_resources_percentreservation_based_admission_control.memory_failover_resources_percent。如果用户想要覆盖百分比值,则必须将此字段设置为 false。

选择

  • false

  • true ←(默认)

cpu_failover_resources_percent

整数

集群中为故障转移保留的 CPU 资源百分比。如果未将 reservation_based_admission_control.auto_compute_percentages 设置为 false,则忽略此项。

默认值: 50

failover_level

整数 / 必需

应容忍的主机故障数。

memory_failover_resources_percent

整数

集群中为故障转移保留的内存资源百分比。如果未将 reservation_based_admission_control.auto_compute_percentages 设置为 false,则忽略此项。

默认值: 50

slot_based_admission_control

字典

配置基于插槽的准入控制策略。

slot_based_admission_controlreservation_based_admission_controlfailover_host_admission_control 是互斥的。

failover_level

整数 / 必需

应容忍的主机故障数。

username

别名:admin, user

字符串

vSphere vCenter 或 ESXi 服务器的用户名。

如果任务中未指定该值,则将使用环境变量 VMWARE_USER 的值。

validate_certs

布尔值

当 SSL 证书无效时允许连接。当证书不受信任时,设置为 false

如果任务中未指定该值,则将使用环境变量 VMWARE_VALIDATE_CERTS 的值。

选择

  • false

  • true ←(默认)

说明

注意

  • 所有模块都需要 API 写入权限,因此不支持免费的 ESXi 许可证。

  • 所有变量和 VMware 对象名称都区分大小写。

示例

- name: Enable HA without admission control
  community.vmware.vmware_cluster_ha:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    datacenter_name: datacenter
    cluster_name: cluster
    enable: true
  delegate_to: localhost

- name: Enable HA and VM monitoring without admission control
  community.vmware.vmware_cluster_ha:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter_name: DC0
    cluster_name: "{{ cluster_name }}"
    enable: true
    ha_vm_monitoring: vmMonitoringOnly
  delegate_to: localhost

- name: Enable HA with admission control reserving 50% of resources for HA
  community.vmware.vmware_cluster_ha:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    datacenter_name: datacenter
    cluster_name: cluster
    enable: true
    reservation_based_admission_control:
      auto_compute_percentages: false
      failover_level: 1
      cpu_failover_resources_percent: 50
      memory_failover_resources_percent: 50
  delegate_to: localhost

作者

  • Joseph Callen (@jcpowermac)

  • Abhijeet Kasurde (@Akasurde)