Virtual Machines

A virtual machine or a VM is a software-based representation of a physical computer. A VM allows you to run an operating system and applications using the resources of a host machine or a hypervisor, acting like a separate, isolated computer with its own virtual CPU, memory, storage, and network capabilities, all managed by the hypervisor.

You can create a virtual machine by first populating an image in the image library, then creating one or more VM flavors, and then creating a new VM.

VM Flavors

Once you have the images you would like to use, it's time to look at the resource configuration for the VMs to be deployed. Private Cloud Director uses T-Shirt sized configurations of resource allocations, called Flavors, to allow you to specify the resource allocation for VMs. Read more about VM Flavors here.

VM Affinity and Anti-affinity Rules

Private Cloud Director supports creation of VM affinity and anti-affinity groups using a mechanism called Server Groups. Read more about VM Affinity Anti-Affinity Rules here.

Create a VM

By now, you have your desired VM image, your preferred Flavor, and you have previously setup at least one Network that you can use to deploy your VM. So navigate to Virtual Machines in the Navigation pane and start 'Deploy Virtual Machine'.

We will describe some of the VM creation options here.

VM source

Boot VM from Image

Use this option if you would like to provision a VM that uses Ephemeral Storage for it's root disk. This storage option is typically used for non-production VMs where the disk need not be preserved across host failures or VM deletion. The VM root disk will be created using local storage on the hypervisor it is provisioned on, and populated using the contents of the source image. If the hypervisor were to go down, it will not be possible to access or recover the VM disk till the hypervisor comes back online. If the host local disk experiences corruption or other issues, the VM may be impacted and may not be recoverable after. If the VM were to be deleted, the VM root disk will be deleted with it and will not be recoverable after.

Boot VM from New Volume

Use this option if you would like to create a VM that uses Block Storage volume for it's root disk. A VM created in this manner will persist across host failures and VM termination, unless you choose to delete the volume upon VM termination. When you choose this option, a new persistent volume is created on the block storage you have configured for your virtualized cluster, and its contents are populated with the contents from the source image.

Boot VM from Existing Volume

This option is like the previous one, except you are choosing to boot from an existing volume instead of provisioning a new volume from a base image.

SSH Key

Using SSH Keys is the recommended and secure method to access your VMs. To setup your SSH Key, navigate to 'Networks and Security' in the Navigation Pane, and import your SSH Keys.

Once you have the key imported, you can select that key when creating a new VM.

Select Server Group

Optionally select an affinity or anti-affinity group for this vm to be part of. This will impact the VM's placement on a host in your virtualized cluster.

Using cloud-init

Using cloud-init allows you to customize the virtual machine as it boots up, such as to provision certain additional software or customization scripts.

Assign Security Groups

Security groups allow you to limit port access to Virtual Machines. If you don't already have a Security Group configured, you can cover this later.

Specify Metadata

Metadata attributes allow you to specify additional key-value pairs of metadata, which can be used for querying and organizing your virtual machines.

VM Properties

VM UUID

Each newly created virtual machine gets a unique UUID assigned to it. By default this field is not displayed in the virtual machines grid view in the UI. You can change this by clicking the 'Manage Columns' button above the virtual machines grid view and selecting the UUID field. You can also click on an individual VM to go to VM details view and see the ID property listed there for the VM. Alternatively you can get VM ID using the pcdctl CLI by running the pcdctl server list command or the pcdctl server show command and supplying the name of the VM.

Migrate Existing VMs from VMware

If you have existing workloads that you would like to migrate onto your Private Cloud Director cluster, Project vJailbreak can help.

Download the vJailbreak Appliance

Head over to Project vJailbreak to download the appliance image. The appliance is packaged as an OVA that you can deploy into your Private Cloud Director environment. Note that vJailbreak should have access to your storage network to efficiently migrate VM data over during the data copy phase.

Register your Source VMware Environment and Your New Virtualized Cluster

As your vJailbreak appliance loads, you'll see the instructions to access its user interface, where you can specify your source VMware environment information, as well as the information of your new Private Cloud Director cluster.

Select VMs and Schedule Migrations

With this information specified, you can now initiate migrations from vJailbreak user interface.

Last updated

Was this helpful?