Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

Introduction to VM high availability with layers

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

Panel
bgColor#FFFAE6

PrivilegePrivileges: Manage virtual appliances, Manage layers

...

Abiquo does not support layers that

...

intersect with other layers. For example,

...

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.

Note
  • This feature is not available in public cloud regions.

Instead you should use
  • Use the high availability solution offered by the public cloud provider, for example, Amazon Availability Zones,

which can be accessed
  • by deploying VMs with NICs

attached to
  • in subnets

created
  • in different zones, or Azure Availability Sets.

...

Create VMs in anti-affinity layers for high availability

Before you begin:

  1. 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 VM templates or VMs to the layer using drag and drop. 

...

titleClick here to show/hide the screenshots

Image Removed

...

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

...

  • You can add any VM to a new layer

...

  • 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

...

  • 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.

...

Web Stack Use Case Diagram

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

Image Removed

Web Stack Use Case Screenshot

In Abiquo, the web stack would look as in the following screenshot.

Image Removed

Deploy a virtual appliance with anti-affinity layers

After you create your layers, deploy the virtual appliance. If the deploy 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.

If you have the View datacenter details privilege, you can see the remote access address on the VM details panel. A quick way of checking that the VMs are deployed on separate physical machines is to check the remote access address of the VM, which should be different for each physical machine. If you are an administrator you can also check that the VMs are deployed on separate physical machines in the Infrastructure view.

See Create a VM layer

...

Modify a virtual appliance with anti-affinity layers

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

Rename an Anti-affinity layer

Before you begin:

...

To rename a layer, if the VMs are not deployed, which means they are in the NOT_ALLOCATED state

...

in new in a virtual appliance that is deployed or they are in a virtual appliance that has been undeployed.

...

To change the name of a layer:

  1. Next to the layer name, click the pencil

...

  1. edit button. 

  2. Enter the new layer name

Expand

Image Removed

...

To rename a layer, if the VMs are deployed:

  1. Create a new layer with the correct name

  2. Power off your VMs and move them to the new layer.

...

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. Power off the

...

  1. VMs

    • You do not have to wait for each one to finish shutting down before moving to the next one

...

  1. Drag each VM out of the layer into the general VM area

...

Delete an Anti-affinity Layer

...

  1. or into another layer. Note that if they new layer will break the anti-affinity rules, you may not be able to power the VMs on again

...

To delete a layer:

...

  1. Undeploy all the VMs

...

 

Tip
titleDelete 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.

Move VMs Between Layers

You cannot move a deployed VM directly from one layer to another.

To move a deployed VM to a different layer:

...

  1. , which will delete the layer in vCenter, although it will still display in the platform

OR

  1. Power off all the VMs and move them out of the layer to the general VM area, which will delete the layer in vCenter

...

Moving VMs between layers

You can move powered off VMs to a new layer with no existing VMs.

In some environments, you may be able to move a powered off VM to layer with existing deployed VMs. But if you will break the anti-affinity rules of the of the layer by adding the VM, then you will not be able to power on the VM.

You cannot move a VM in a locked state (when it is deploying, reconfiguring, or undeploying).

...

Manage layers with the API

Tip

API Features

Layers are available in the Abiquo API. See Layers Resource

Note that a layer is an attribute of a VM in the Abiquo database. In the API, Abiquo doesn’t identify the layers with IDs, it uses the layer name in the virtual appliance, for example: /cloud/virtualdatacenters/x/virtualappliances/x/layers/layername