Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

Panel
bgColor#FFFAE6

Privileges: 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.

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, 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. Go to myCloud → Virtual datacenters

  2. Open a virtual appliance and go to Virtual machines

  3. From the options menu, select Add a layer 

  4. Enter the Name

  5. Add VMs to the layer 

...

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

...

Layer type

...

Rules

...

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.

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

See Create a VM layer

...

Modify a virtual appliance with anti-affinity 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 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.:

  1. Next to the layer name, click the pencil

...

  1. edit button. 

  2. Enter the new layer name

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

...

Remove all the VMs except one from the layer

...

Delete the 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

...

Tip

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:

...

Power off the VM

...

Move the VM to the general VM area

...

If the new layer does not already exist, create the new layer

...

  1. , 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