...
class | tocc |
---|
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:
|
Web Stack Use Case Diagram
The following diagram shows a possible anti-affinity layers use case of a simple web stack.
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.
Create an Anti-affinity Layer
Before you create a layer:
- 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.
- 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.
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.
Layers ensure that virtual machines deploy on separate hypervisors, so the following rules apply:
Layer Type | Rules |
---|---|
New layer |
|
Layer with deployed VMs |
|
Different layer |
|
...
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.
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.
Checking Separate Deployments in Infrastructure View
The following screenshots of Infrastructure view show the virtual machines in layers deployed on physical machines in Abiquo.
Screenshot 1: Physical machine 1 contains Tomcat App server, Database, and Apache servers.
Screenshot 2: Physical machine 2 contains: Tomcat App Server, Database, m0n0wall firewall.
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 | ||
---|---|---|
| ||
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 |
---|
|
...
Create VMs in anti-affinity layers for high availability
...
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.
...
The virtual machines that are not deployed will be shown with the state NOT_ALLOCATED.
...
:
Next to the layer name, click the pencil edit button.
Enter the new layer name
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:
Create a new layer with the correct name
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
...
Remove Deployed Machines from an Anti-affinity Layer
...
.
...
To remove one or more deployed VMs from a layer:
Power off the
...
To remove multiple deployed virtual machines from a layer:
Power off all the virtual machines you want to remove
...
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
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:
- Power off all the virtual machines
- Remove all the virtual machines except one from the layer
- Delete the layer
Tip | ||
---|---|---|
| ||
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:
- Power off the virtual machine
- Move the virtual machine to the general virtual machine area
- If the new layer does not already exist, create the new layer
- Add the virtual machine to the new layer
...
Undeploy all the VMs, which will delete the layer in vCenter, although it will still display in the platform
OR
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