9.2 Virtual Machine Management

The Orchestrator provisioning manager provides the ability to manage the life cycle of virtual machines, as shown in the following figure.

Figure 9-1 VM Lifecycle Management

For more information about managing virtual machines, see the Novell ZENworks Orchestrator 1.2 Virtual Machine Management Guide.

While Orchestrator enables you you manage many aspects of your virtual environment, as a developer, you can create custom jobs that do the following tasks:

9.2.1 VM Provisioning

VM provisioning adapters run just like regular jobs on the Orchestrator. The system can detect a local store on each VM host and if a local disk might contain VM images. The provisioner puts in a request for a VM host. However, before a VM is brought to life, the system pre-reserves that VM for exclusive use.

That reservation prevents a VM from being stolen by any other job that’s waiting for a resource that might match this particular VM. The constraints specified to find a suitable host evaluates machine architectures, CPA, bit width, available virtual memory, or other administrator configured constraints, such as the number of virtual machine slots.

This process provides heterogeneous virtual machine management using the following virtual machine adapters:

  • Xen Adapter: For more information, see XenSource*.

  • VMWware Server 1.0 and GSX 3.2: For more information, see VMWare.

  • VMWare* ESX 2.5 and 3.0, GSX 3.2 thru Virtual Center 1.3.1 API: For more information, see VMWare.

There are two types of VMs:

VM Instance

A VM instance is a VM that is “state-full.” This means there can only ever be one VM that can be provisioned, moved around the infrastructure, and then shut down, yet maintains its state.

VM Template

A VM template represents an image that can be clonable. After it is finished its services, it is shut down and destroyed.

It can be thought of as a “golden master.” The number of times a golden master or template can be provisioned or cloned is controlled though constraints that you specify when you create a provisioning job.