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)”的存储故障,虚拟机响应恢复反应。

仅当 apd_response=restartConservativeapd_response=restartAggressive 时设置。

选项

  • "reset" ← (默认)

  • "none"

apd_response

字符串

虚拟机存储保护设置,用于归类为“所有路径中断 (APD)”的存储故障。

选项

  • "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)