HA Policy
Overview
HA Policy is a mechanism that ensures sustained and stable running of the business if VM instances are unexpectedly stopped or are errored because of errors occurring to compute, network, or storage resources associated with the VM instances. By enabling this feature, you can customize VM HA policies to ensure your business continuity and stability.
Concepts
The HA Policy feature involves the following key concepts:
- HA mode: Specifies whether to enable auto restart if VM instances are
unexpectedly stopped or are errored because of errors occurring to compute,
network, or storage resources associated with the VM instances. None and
NeverStop are supported:
- None: VM instances are not auto restarted no matter it is planned to be stopped or unexpectedly stopped.
- NeverStop:
- Unexpectedly stopped VM instances are auto restarted on another host depending on the failover strategy you configure for them.
- The VM instance does not reboot automatically if you stop it
manually, including:
- Manually perform the stopping VM instance, force stopping VM instance, and powering off VM instance actions on the UI.
- Manually run the
shutdown,poweroff, andhaltcommands in the VM OS. - Create a scheduled job to trigger the VM shutdown as planned.
- VM Failover Strategy: Specifies whether to migrate a VM instance to another
host if errors occur to the compute resource, storage resource, or network
resource associated with the VM instance.The VM failover mechanism inspects the following resource status:
- Management Network Connectivity Status:
- Management network connectivity status indicates the status of the network that connects the management node and the host where VM instances reside.
- This status may turn Abnormal if errors occur to the management node or to the management network.
- Storage Network Connectivity Status:
- Detects the connectivity status of the network that VM instances use to access the primary storage where the root volumes of these VM instances reside.
- This status may turn Abnormal if errors occur to the primary storage or to the storage network.
- Business NIC Status:
- Business NIC status may turn Abnormal if errors occur to the host business NIC or the switch port directly connecting to the host business NIC that is associated with the L2 network of VM instances.
- Business network group: Supports adding redundant
networks that carry the same service to a business
network group and setting the minimum number of alive
networks. A VM business NIC fault is detected only when
the number of available networks in the group is less
than this value.
Note:
- If a VM uses networks in a business network group, the number of attached networks from the same group should be no less than the minimum number of alive networks configured for that group, to avoid unexpected HA triggered by a misjudged business network exception.
- Only public networks and flat networks can be added to a business network group.
- Business network groups can be configured only when failover upon business NIC fault is enabled.
Based on the resource status inspection, the Cloud allows you to configure failover strategies for 4 fault scenarios:Fault Scenario Management Network Connectivity Status Storage Network Connectivity Status Business NIC Status Fail Over Scenario A: Business NIC Fault Normal Normal Abnormal Enable/Disable Scenario B: Storage Network Fault Normal Abnormal Normal Enable/Disable Scenarios C: Storage Network and Business NIC Fault Normal Abnormal Abnormal Set as false if both the scenario A and B have the failover policy set as false. Set as true if either of the scenario A or B has the failover policy set as true. Scenario D: Management Network Fault Abnormal Normal Normal Disable. The failover cannot be enabled in this scenario.
Note: The failover policies take effect on VM instances whose HA
modes are set as NeverStop only. - Management Network Connectivity Status:
Fundamentals
ZStack Cloud HA Policy has the following mechanisms:
- The Cloud polls the running status of VM instances. If a VM instance is
unexpectedly stopped, its HA mode is checked. If the HA mode of the VM
instance is NeverStop, then the VM instance is restarted on the current host
or another host.
Figure 1. VM HA Started After Unexpectedly Stopped 
- The Cloud polls the status of the hosts where VM instances reside. Either of
the management network connectivity status, storage network connectivity
status, and business NIC status of the host turns abnormal, the
corresponding VM failover strategy and VM HA mode are checked. If the
corresponding failover strategy is Yes and VM HA mode is NeverStop, then
related VM instances are migrated to another host.
Figure 2. VM HA Started After Host Business NIC Turns Down 
Characteristics
HA Policy has the following characteristics:
- Comprehensive & Powerful: Covers all mainstream HA scenarios, including various failures, and ensures the stability and continuity of your business.
- Flexible & Visualized: Provides a simple table that allows you to configure VM failover strategies with one click. This table functions together with the HA Mode that can be configured on all and individual VM instances, thus greatly improving the flexibility of your business HA configuration.
Scenarios
The following describes the scenarios of the HA Policy feature.
- Host Business NIC Turns Down:If a host business NIC turns down, to ensure high availability of business, all VM instances associated with this NIC are expected to migrate to other hosts.
- For example, your business VM instances are running MySQL database service which is required to achieve high availability. In this case, you can set the HA mode of these VM instances to NeverStop and turn on the switch corresponding to Abnormal Business NIC Status. Then as long as host resources are sufficient, in case that a host business NIC associated with these VM instances turns down, these VM instances will be auto started on other hosts.
- VM Unexpectedly Stops:If a VM instance is unexpectedly stopped, it is expected to auto HA start.
- For example, your VM instances are running important business applications. To ensure business auto-recovery in case of VM stops due to reasons such as host powered-offs or business overloads, you can set the HA mode of these VM instances to NeverStop. Then if these VM instances are stopped, they are auto started.
Inventory
Operations
UpdateHaStrategyCondition
Updates an HA policy. For
example,
UpdateHaStrategyCondition uuid=bf798f9ae94f3007a293f090ec555d57Parameters
| Name | Description | Optional | Valid Value | Starting Version |
|---|---|---|---|---|
| uuid | The resource UUID. | 4.7.0 | ||
| name | The resource name. | Yes | 4.7.0 | |
| state | The state | Yes | 4.7.0 | |
| userTags | The user tags. For more information, see CreateUserTag. | Yes | 4.7.0 | |
| systemTags | The system tags. For more information, see CreateSystemTag. | Yes | 4.7.0 | |
| timeout | Yes |
ChangeHaNetworkGroupState
You can use ChangeHaNetworkGroupState to change the HA network group state. For example:
ChangeHaNetworkGroupState uuid=865252e42475363f8d3533de038f5680 stateEvent=disableParameters
| Name | Description | Optional | Valid Value | Starting Version |
|---|---|---|---|---|
| uuid | The resource UUID, which uniquely identifies the resource. | 5.5.6 | ||
| stateEvent | State event. enable indicates Enable, and disable indicates Disable. |
|
5.5.6 | |
| systemTags | System tags. | Yes | 5.5.6 | |
| userTags | User tags. | Yes | 5.5.6 |
CreateHaNetworkGroup
You can use CreateHaNetworkGroup to create an HA network group. For example:
CreateHaNetworkGroup name=ha-network-group-1 type=Flat minAvailableCount=1 l3NetworkUuids=[5032dcf201be3083aec2a043417b4753]Parameters
| Name | Description | Optional | Valid Value | Starting Version |
|---|---|---|---|---|
| name | Resource name. | 5.5.6 | ||
| description | Detailed description of the resource. | Yes | 5.5.6 | |
| type | Network group type. Flat indicates a Flat Network, and Public indicates a Public Network. |
|
5.5.6 | |
| minAvailableCount | Minimum number of available networks. | 5.5.6 | ||
| l3NetworkUuids | L3 Network UUID list. | 5.5.6 | ||
| resourceUuid | Resource UUID. | Yes | 5.5.6 | |
| tagUuids | Tag UUID list. | Yes | 5.5.6 | |
| systemTags | System tags. | Yes | 5.5.6 | |
| userTags | User tags. | Yes | 5.5.6 |
DeleteHaNetworkGroup
You can use DeleteHaNetworkGroup to delete an HA network group. For example:
DeleteHaNetworkGroup uuid=a016cfe6c59638de9ffda0a3492c0a69Parameters
| Name | Description | Optional | Valid Value | Starting Version |
|---|---|---|---|---|
| uuid | The resource UUID, which uniquely identifies the resource. | 5.5.6 | ||
| deleteMode | Delete mode. Valid values: Permissive and Enforcing. Default: Permissive. | Yes | 5.5.6 | |
| systemTags | System tags. | Yes | 5.5.6 | |
| userTags | User tags. | Yes | 5.5.6 |
QueryHaNetworkGroup
You can use QueryHaNetworkGroup to query HA network groups. For example:
QueryHaNetworkGroup uuid=e61587e2fbe73ddbb3fb86d0273274caPrimitive Fields of Query
For more information, see ZStack_cli_Manual_00712.html#concept_ovw_3sm_qbb__section_ip4_pky_bdb.
UpdateHaNetworkGroup
You can use UpdateHaNetworkGroup to update an HA network group. For example:
UpdateHaNetworkGroup uuid=33b1d8e00d9234c8aabc8e0f00bf7526Parameters
| Name | Description | Optional | Valid Value | Starting Version |
|---|---|---|---|---|
| uuid | The resource UUID, which uniquely identifies the resource. | 5.5.6 | ||
| name | Resource name. | Yes | 5.5.6 | |
| description | Detailed description of the resource. | Yes | 5.5.6 | |
| minAvailableCount | Minimum number of available networks. | Yes | 5.5.6 | |
| l3NetworkUuids | L3 Network UUID list. | Yes | 5.5.6 | |
| systemTags | System tags. | Yes | 5.5.6 | |
| userTags | User tags. | Yes | 5.5.6 |
Tags
You can create a user tag on an advanced setting by using CreateUserTag
resourceType=ResourceConfigVO. For
example,
CreateUserTag resourceType=ResourceConfigVO tag=Test1 \
resourceUuid=3fd25b9e5b87423bba5612a45c1f5ecc