文档目录

高可用策略

概览

高可用策略(HA Policy):云平台内计算、存储、网络资源发生故障或云主机异常停机时,确保相关业务持续稳定运行的机制。启用后,支持自定义云主机高可用策略,确保业务连续性。

相关定义

高可用策略包括以下核心概念:
  • 云主机高可用模式:用于设置云主机异常关机时是否自动重启,支持None和NeverStop两种模式:
    • None:云主机关机时均不会自动重启。
    • NeverStop:
      • 云主机由于自身异常关机时会自动重启。
      • 若由于相关计算、存储、网络等资源发生故障,云主机将根据自定义的故障迁移策略按需迁移至其他物理机HA启动。
      • 手动关机或定时任务触发的计划性关机后,云主机不会自动重启,包括:
        • 通过UI界面手动执行停止云主机、强制停止云主机、关闭云主机电源等操作;
        • 进入云主机操作系统,手动执行shutdown、poweroff、halt等命令;
        • 创建关闭云主机定时任务,触发计划性关机。
  • 云主机高可用故障迁移策略:用于设置云主机相关计算、存储、网络等资源发生故障时是否迁移云主机至其他物理机启动。
    故障迁移策略支持检测以下资源状态:
    • 管理网络连接状态:
      • 检测云主机所在物理机与管理节点之间的网络连接状态。
      • 若管理节点自身故障、或管理网络中断,均会导致管理网络连接状态故障。
    • 存储网络连接状态 :
      • 检测云主机访问其系统盘所在主存储资源的网络连接状态。
      • 若云主机系统盘所在主存储自身故障、或存储网络中断,均会导致云主机存储网络连接状态故障。
    • 业务网卡状态 :
      • 若业务云主机二层网络关联的物理机业务网卡/业务网卡直连的交换机网口发生故障,均会导致云主机业务网卡故障。
      • 业务网络组:支持将承担相同业务的冗余网络加入业务网络组并设置最小存活网络数。当组内可用网络数小于该值时,将判定为业务网络组故障。存在可用目标物理机时,加载组内网络且高可用模式为 NeverStop 的云主机将触发高可用,并在目标物理机启动;如未找到可用目标物理机,不会停止源云主机,也不会触发高可用。
        Note:
        • 如云主机使用业务网络组内的网络,加载的网络数(同一组内)应不小于该业务网络组的最小存活网络数,避免被误判为业务网络异常而触发非预期的高可用。
        • 仅公有网络、扁平网络支持加入业务网络组。
        • 仅开启业务网卡状态异常迁移时,支持设置业务网络组。
    基于资源状态检测,ZStack Cloud可判断4种故障场景,并支持用户自定设置不同的故障场景下是否触发云主机高可用迁移:
    故障场景 管理网络连接状态 存储网络连接状态 业务网卡状态 故障时是否迁移云主机
    场景一:业务网卡状态异常 正常 正常 故障 开启/关闭
    场景二:存储网络连接异常 正常 故障 正常 开启/关闭
    场景三:存储网络连接异常、业务网卡异常 正常 故障 故障 如场景一、场景二均为关闭,此处固定为关闭;如场景一、场景二任一为开启,此处默认固定为开启
    场景四:管理网络连接异常 故障 正常 正常 关闭,不支持开启
    Note: 故障时是否迁移云主机的策略仅对高可用模式为NeverStop的云主机生效。

功能原理

ZStack Cloud高可用策略主要包括以下两种机制:
  • 轮询检测云主机运行状态,若云主机由于自身异常关机,将检测云主机的高可用模式。若云主机为NeverStop模式,将在所在物理机或其他物理机上重启该云主机。
    如图 1所示:
    图 1. 云主机自身异常关机后高可用启动


  • 轮询检测云主机所在物理机状态,若物理机管理网络连接状态、存储网络连接状态、业务网卡状态任一状态异常,将检测云主机故障迁移策略以及云主机高可用模式。若对应故障迁移开关已打开,且云主机高可用模式为Neverstop,云主机将迁至其他物理机上启动运行。
    如图 2所示:
    图 2. 物理机业务网卡故障后云主机高可用启动


功能优势

高可用策略具备以下优势:
  • 全面&强大:覆盖所有主流高可用场景,包括各类故障场景以及意外停机场景。通过高可用机制确保用户关键业务稳定性和连续性。
  • 灵活&可视化:提供直观简单的真值表,支持一键配置故障迁移策略,组合全局粒度和云主机粒度高可用模式配置,可极大提高业务高可用配置的灵活度。

应用场景

以下介绍高可用策略的应用场景。

  • 物理机业务网卡故障场景:
    希望物理机业务网卡故障时,所有关联的云主机迁移至其他物理机,保障业务高可用。
    • 例如:用户部署业务云主机承载MySQL数据库服务,要求云主机不允许出现业务长时间宕机的情况。可将这台云主机高可用模式设置为NeverStop,且设置业务网卡状态故障时触发迁移。在确保云平台内物理机资源充足情况下,当业务云主机所在物理机业务网卡故障时,云主机将迁至其他物理机上启动运行,不影响业务运行。
  • 云主机异常停机场景:
    希望云主机异常停机时能自动HA启动。
    • 例如:用户部署业务云主机运行公司重要业务,为避免诸如物理机掉电、云主机过载等各类因素导致云主机停机、业务无法自动恢复,可将这些云主机高可用模式设置为NeverStop。当云主机停机时触发高可用机制立刻重新启动,保障业务连续性。

清单

操作(Operations)

更新高可用策略(UpdateHaStrategyCondition)

用户可以使用UpdateHaStrategyCondition更新高可用策略。 例如:
UpdateHaStrategyCondition uuid=bf798f9ae94f3007a293f090ec555d57

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 4.7.0
name 资源名称 是 4.7.0
state 状态 是 4.7.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 是 4.7.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 是 4.7.0
timeout 是

更改高可用网络组状态(ChangeHaNetworkGroupState)

用户可以使用ChangeHaNetworkGroupState更改高可用网络组状态。例如:
ChangeHaNetworkGroupState uuid=865252e42475363f8d3533de038f5680 stateEvent=disable

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 5.5.6
stateEvent 状态事件,enable为启用,disable为禁用
  • enable
  • disable
5.5.6
systemTags 系统标签 是 5.5.6
userTags 用户标签 是 5.5.6

创建高可用网络组(CreateHaNetworkGroup)

用户可以使用CreateHaNetworkGroup创建高可用网络组。例如:
CreateHaNetworkGroup name=ha-network-group-1 type=Flat minAvailableCount=1 l3NetworkUuids=[5032dcf201be3083aec2a043417b4753]

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
name 资源名称 5.5.6
description 资源的详细描述 是 5.5.6
type 网络组类型,Flat为扁平网络,Public为公共网络
  • Flat
  • Public
5.5.6
minAvailableCount 最小可用网络数量 5.5.6
l3NetworkUuids 三层网络UUID列表 5.5.6
resourceUuid 资源UUID 是 5.5.6
tagUuids 标签UUID列表 是 5.5.6
systemTags 系统标签 是 5.5.6
userTags 用户标签 是 5.5.6

删除高可用网络组(DeleteHaNetworkGroup)

用户可以使用DeleteHaNetworkGroup删除高可用网络组。例如:
DeleteHaNetworkGroup uuid=a016cfe6c59638de9ffda0a3492c0a69

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 5.5.6
deleteMode 删除模式(Permissive / Enforcing,Permissive) 是 5.5.6
systemTags 系统标签 是 5.5.6
userTags 用户标签 是 5.5.6

查询高可用网络组(QueryHaNetworkGroup)

用户可以使用QueryHaNetworkGroup查询高可用网络组。例如:
QueryHaNetworkGroup uuid=e61587e2fbe73ddbb3fb86d0273274ca

原生域查询(Primitive Fields of Query)

请参见SDN控制器清单(SdnController Inventory)。

更新高可用网络组(UpdateHaNetworkGroup)

用户可以使用UpdateHaNetworkGroup更新高可用网络组。例如:
UpdateHaNetworkGroup uuid=33b1d8e00d9234c8aabc8e0f00bf7526

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 5.5.6
name 资源名称 是 5.5.6
description 资源的详细描述 是 5.5.6
minAvailableCount 最小可用网络数量 是 5.5.6
l3NetworkUuids 三层网络UUID列表 是 5.5.6
systemTags 系统标签 是 5.5.6
userTags 用户标签 是 5.5.6

标签(Tags)

用户可以使用CreateUserTag resourceType=ResourceConfigVO在用户上创建用户标签。 例如:
CreateUserTag resourceType=ResourceConfigVO tag=Test1 \
resourceUuid=3fd25b9e5b87423bba5612a45c1f5ecc
CLI命令使用手册 | 5.5.38 | ZStack Cloud · ZCF | ZStack 资源中心