Configure VM High Availability

Introduction to VM high availability with layers

In private cloud, to create VMs that will always deploy on separate hypervisor hosts, use anti-affinity layers. Each VM in a layer will deploy on a different hypervisor host. 

Privilege: Manage virtual appliances, Manage layers

Abiquo does not support layers that intersect with other layers. For example, this means that if you have two layers, a VM in the second layer may deploy on the same physical machine as a VM in the first layer.

Ideally you should design and implement your layers before you deploy your VMs.

This feature is not available in public cloud regions. Instead you should use the high availability solution offered by the public cloud, for example, Amazon Availability Zones, which can be accessed by deploying with NICs attached to subnets created in different zones, or Azure Availability Sets.



Create VMs in antiaffinity layers for high availability 

Before you begin: 

  • Design your layers:
    • You cannot rename a layer when there are deployed VMs in the layer
    • You cannot move a deployed machine into a layer with a VM deployed on the same hypervisor

To create a layer:

  1. Click the Add a layer button 
  2. Enter the layer name.
  3. Add VMs to the layer 


 Click here to show/hide the screenshots


Layers ensure that VMs deploy on separate hypervisors, so the following rules apply:

Layer TypeRules
New layer
  • You can add any VM to a new layer
Layer with deployed VMs
  • You can add a VM that is not deployed
  • You can add a powered-off VM if it deployed on a different hypervisor from the other VMs in the layer
Different layer
  • You cannot move a deployed VM directly to a different layer. First, power off the machine and remove the machine from the old layer, then delete the old layer. Now you will be able to add the machine to a different layer.
 Click here to expand...

Web stack use case for layers

The following diagram shows a possible anti-affinity layers use case of a simple web stack.

In Abiquo, you could deploy this configuration as follows:

  • ApplicationServers layer: Tomcat1, Tomcat2
  • DatabaseServers layer: Database1, Database2

VMs not in layers: Apache server(s), firewall, load balancer

If the deploy of a virtual appliances with layers fails, it may be because there are not enough physical machines available in your virtual datacenter. Or some physical machines may be reserved for specific enterprises, for example. Check with your system administrator.




Modify a virtual appliance with antiaffinity layers

You can only make changes to layers that will not compromise anti-affinity while your VMs are deployed or running.


To change the name of a layer:

  1. Check that all the VMs in the layer are not deployed, which means they are in the NOT_ALLOCATED state. For example, they are new in a virtual appliance that is deployed or they are in a virtual appliance that has been undeployed.
  2. Next to the layer name, click the pencil Edit button. 
  3. Enter the new layer name

To remove a VM that is not deployed from an anti-affinity layer, drag the machine outside the layer and into the general VM area


To remove one or more deployed VMs from a layer:

  1. Shut down the VMs 
    • You do not have to wait for each one to finish shutting down before moving to the next one
  2. One by one, drag each VM out of the layer into the general VM area

To delete a layer:

  1. Power off all the VMs
  2. Remove all the VMs except one from the layer
  3. Delete the layer

The layer will be deleted and the VM will be moved to the general VM area. 

Delete a Layer Before it is Empty

You can delete a layer if only one VM remains, even if the VM is deployed and powered on. The VM will remain powered on and it will be moved to the general VM area.



To move deployed VMs between layers, you must move the VM out of one layer before you move it into another.  You cannot move a deployed VM directly from one layer to another.

To move a deployed VM to a different layer:

  1. Power off the VM
  2. Move the VM to the general VM area
  3. If the new layer does not already exist, create the new layer
  4. Add the VM to the new layer

Copyright © 2006-2022, Abiquo Holdings SL. All rights reserved