Introduction to Virtual Appliances
A virtual appliance is a group with one or more virtual machines (VMs). The VMs may be related and you can use them together to provide a service. Each VM is an independent entity but you can deploy all of the VMs in the virtual appliance together. You can create multiple virtual appliances in each virtual datacenter.
As an example, you can create a pre-configured software stack of VMs in a virtual appliance. Maybe you have a web application that has a presentation and business logic tier, and a back-end database tier. You could divide this into three VMs with two front-end servers and one back-end server. In the platform, you would create a single virtual appliance with these three VMs and automatically deploy them together.
After you create or open a virtual datacenter, before you can add VMs, you must create or open a virtual appliance.
To go straight to a virtual appliance from the Home view dashboard, you can double click on its name in the list.
Create a Virtual Appliance
To create a new virtual appliance to hold a group of VMs do these steps:
- Go to Virtual datacenters
- Select a virtual datacenter and click Create virtual appliance.
- If a menu displays, select "Create virtual appliance" and complete the form as described here
- Click Save to create the virtual appliance.
The name of the virtual appliance
The virtual datacenter where the virtual appliance will be deployed
|Description||A description of the virtual appliance|
|Icon||Optional - URI of an icon to represent the virtual appliance|
To open the virtual appliance after creation, select the checkbox
Now you can drag and drop templates to add VMs to the virtual appliance and deploy it.
For more details, see Manage Virtual Machines
Create a virtual appliance based on a spec
To create a virtual appliance based on a blueprint of a saved configuration:
- Go to Virtual datacenters → Virtual appliances
- Click Create a virtual appliance and select Create virtual appliance based on spec.
Click on a spec icon. Change the Name to make it unique in your environment. Then click select
Click here to show/hide the screenshot
- The virtual appliance spec validation dialog will open. Move through the tabs and check or edit information as required
- General information
- Private networks: Create new networks or select existing ones
- External networks: In vCloud, specs have basic support for external networks. The validation process will list the network, and you can select it and then continue with the process. The platform will create the VApp correctly. Remember to ensure that there are enough external IP addresses available for the new virtual appliance
- Load balancers: Select a new algorithm and public or private addresses that are compatible with your provider
- Templates: Select new templates to replace ones that are not available in your environment
- VMs: Select and view, and if necessary, edit the VM configuration
- Errors: The Errors tab only displays when there are errors that cannot be fixed within the spec. For example, you may be able to replace a template with another one of the same name, but if there is no similar template, Abiquo will not create a virtual appliance. In this case, Abiquo displays the Errors tab.
- After you have finished editing the virtual appliance, click Save
Click here to show or hide the screenshots
VM Chef runlist
VM Chef attributes
Deploy a Virtual Appliance
To launch your VMs, click the Deploy virtual appliance button on the right-hand side of the screen.
The platform will launch the VMs and power them on. The status bar below each VM icon will be coloured green. And the Deploy button changes to become the Undeploy button, which you can click to destroy the VMs.
Display VM workflow tasks
When workflow is enabled, the user's requests to deploy, reconfigure and undeploy VMs will be held with the status waiting to be reviewed.
To view the list of workflow tasks
- Go to Virtual datacenters → Workflow tasks.
To filter workflow tasks, enter text in the filter box at the top of the tasks list.
As a user, you can cancel your own tasks. An administrator can also continue or cancel tasks for their users.
Display virtual appliances
To display virtual appliances
- Go to Virtual datacenters → Virtual appliances
- Select card view or list view, using the selection symbols in the top right-hand corner of the screen
To filter virtual appliances, enter search text in the filter box
Manage virtual appliances using the API
Save virtual appliance configuration as a spec
To create a virtual appliance spec to save a configuration:
- Go to Virtual datacenters → Open the virtual appliance
- Go to Virtual appliance spec menu → select Create new spec
- Enter spec details
- Click Accept
The platform will create the new spec for your tenant. This spec will be the default, but an administrator can change or remove the default.
The name of the virtual appliance spec
Describe this version of the spec to distinguish it from other versions
|Icon||Enter the URL of an icon that will identify the spec for users. Click Validate to check the icon will display correctly - a preview should display below the Icon field|
When designing a virtual appliance for use in more than one location, please consider the following differences between private and public cloud:
- Private cloud datacenters allow multiple disk templates and additional disks. In public cloud, the platform may support only a single disk or use all disks
- Public networks in private cloud will be translated to floating IPs in public cloud and vice versa
- A range of IP addresses may be reserved by an SDN system or the cloud provider
- The number of NICs allowed or required per VM may vary
- Firewall and load balancer configurations may differ
To save VM disks as templates, see Create instances to save VM disks to templates.
Copy or Move a Virtual Appliance in a datacenter
Abiquo is a hypervisor-independent cloud platform because its V2V conversion process allows users to move or copy any undeployed virtual appliance between virtual datacenters in the same physical datacenter, regardless of whether they use the same or different hypervisors. The platform copies the template disks of the virtual appliance but not the network configuration. So you will need to recreate the network configuration after move or copy operations. You cannot copy virtual appliances with persistent disks.
Go to Virtual datacenters → Virtual appliances and select a virtual appliance that is not deployed.
- To Move, click on the name of the virtual appliance and drag & drop it to the new virtual datacenter
- To Copy, hold the SHIFT button on the keyboard, then click on the name of the virtual appliance and drag & drop it to the new virtual datacenter
Prerequisites for Move and Copy Operations
Before the copy or move process can be started, the platform evaluates each VM in the virtual appliance for its template type and the availability of conversions.
Click here to show/hide VApp Evaluation diagram
Undeploy a Virtual Appliance
Before you begin:
- If the virtual appliance is not synchronized with the hypervisor or cloud provider, first:
- remove the undeployed VMs OR
- individually undeploy the deployed VMs OR
- deploy all VMs
To undeploy a virtual appliance, which will destroy all VMs and hard disks on the hypervisor datastore:
- Go to Virtual datacenters → select Virtual appliance
- Click the Undeploy button on the right-hand side of the screen.
If you redeploy the virtual appliance, the platform will make a fresh copy of the template disks
Delete a Virtual Appliance
Before you begin:
- Undeploy the virtual appliance, which will destroy the VMs
To delete a virtual appliance:
- Go to Virtual datacenters → select virtual appliance
- Click the delete button
The platform will delete the virtual appliance and all the VMs
Create VMs with 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
This feature does not enable the high availability of the host, which is a separate feature in platform infrastructure. Abiquo does not support layers that are intersections of 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.
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:
- Click the Add a layer button
- Enter the layer name.
- Add VM templates or VMs to the layer using drag and drop.
Click here to show/hide the screenshots
Layers ensure that VMs deploy on separate hypervisors, so the following rules apply:
- 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
- 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 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.
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.
Modify a virtual appliance with anti-affinity layers
You cannot make changes to layers that may compromise anti-affinity while your VMs are deployed or running.
Rename an Anti-affinity layer
Before you begin:
- 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.
To change the name of a layer:
- Next to the layer name, click the pencil Edit button.
- Enter the new layer name
Remove an undeployed VM from a 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 VMs from an Anti-affinity Layer
To remove one or more deployed VMs from a layer:
- Shut down the VMs
- You do not have to wait for each one to finish shutting down before moving to the next one
- One by one, drag each VM out of the layer into the general VM area
Delete an Anti-affinity Layer
The layer will be deleted and the VM will be moved to the general VM area.
To delete a layer:
- Power off all the VMs
- Remove all the VMs except one from the layer
- Delete the layer
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.
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:
- Power off the VM
- Move the VM to the general VM area
- If the new layer does not already exist, create the new layer
- Add the VM to the new layer
Pages related to virtual appliances