Versions Compared

Key

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

...

classtocc
Table of Contents

...

...

Introduction to VM

...

 

Note

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.

Tip

Layer functionality:

  • You may only delete a layer if it has one or no VMs
    • You must delete all VMs except one before you delete a layer, irrespective of whether they are deployed or not
  • You cannot undo or discard changes to the virtual appliance

 

Create an Anti-affinity Layer

Before you create a layer:

  1. Check that you have access to enough physical machines to deploy each of the virtual machines on a separate machine. Abiquo will allow you to create a layer with more virtual machines than the number of machines you have access to. However, you cannot deploy this layer. For example, you cannot deploy a layer with three virtual machines if you only have access to two machines. 
  2. Design your layers carefully
    • You cannot rename a layer when there are deployed virtual machines in the layer
    • You cannot move a deployed machine into a layer with a virtual machine deployed on the same hypervisor

To add a new layer, click the add layer button. Enter the layer name.

Image Removed

Image Removed

 

Create all the layers you require for your virtual appliance.

Add virtual machine templates or virtual machines to the layer using drag and drop. Remember that the virtual datacenter must have a separate hypervisor (of the same type) for each machine in a layer. 

Image Removed

Layers ensure that virtual machines 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. This section gives an example of how to implement this use case. 

Image Removed

...

Image Removed

Checking Separate Deployments

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

Expand

Image Removed

Image Removed

 

Checking Separate Deployments in Infrastructure View

You can check that the virtual machines in layers deployed on physical machines in Abiquo Infrastructure view.

Expand

Screenshot 1: Physical machine 1 contains Tomcat App server, Database, and Apache servers.

Image Removed

Screenshot 2: Physical machine 2 contains: Tomcat App Server, Database, m0n0wall firewall.

Image Removed

As the above screenshots show, the virtual machines in layers (Database and App Server) are deployed on separate hypervisors.

Modifying an Anti-affinity layer

You cannot make changes to layers that may compromise anti-affinity while your virtual machines are deployed or running.

Renaming an Anti-affinity layer

...

high availability with layers

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

Panel
bgColor#FFFAE6

Privileges: 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. Use the high availability solution offered by the public cloud provider, for example, Amazon Availability Zones, by deploying VMs with NICs in subnets in different zones, or Azure Availability Sets.

...

Create VMs in anti-affinity layers for high availability

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 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 edit button. 

  2. Enter the new layer name

Expand

Image Removed

Renaming a layer

Image Removed

If you wish to deploy any new machines, you can deploy them individually or synchronize the virtual appliance to deploy them all together.

Remove Machines that are Not Deployed from an Anti-affinity Layer

...

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

...

Remove Deployed Machines from an Anti-affinity Layer

VM area.

...

To remove

...

one or more deployed VMs from a layer:

  1. Power off the

...

To remove multiple deployed virtual machines from a layer:

Power off all the virtual machines you want to remove

...

titleAsynchronous Power Off
  1. VMs

    • You do not have to wait for

...

Delete an Anti-affinity Layer

...

    • 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. Power off all the virtual machines
  2. Remove all the virtual machines except one from the layer
  3. Delete the layer

 

Tip
titleDelete a Layer Before it is Empty

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

 

Move Machines Between Layers

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

To move a deployed machine to a different layer:

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

 

...

  1. Undeploy all the VMs, 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