How to Build Parallels Virtual Appliance

Building a Parallels Virtual Appliance is similar to installing software, but it requires much more attention to detail. Thorough configuration allows a more flexible integration into the existing virtual infrastructure.

Three keys to successfully building a virtual appliance:

  • Your virtual appliance should present a comprehensive solution for the target tasks.
  • The installation of virtual appliance should be as simple as possible.
  • The virtual appliance update procedure should not affect the user’s data.

To the user, a Parallels Virtual Appliance is a "black box", which provides services that can be controlled with the help of a suitable interface. The user should be able to start, stop, or move the Parallels Virtual Appliance to any physical computer with minimal effort.

Each virtual appliance is completely isolated and self-contained within the virtual environment. It will perform exactly the same, regardless of the operating system, preferences, networking type or application set of the host machine.

Hard Disk Requirements

Parallels Virtual Appliance hard disks must have enough space for a guest OS, applications, logs, and the user's data files. The logs, if any, must be rotated regularly.

You should create three virtual hard disks for your Parallels Virtual Appliance:

  • First disk - is bootable and contains the guest OS and core application files. It should be as small as possible.
  • Second disk - contains the user’s and application’s data.
  • Third disk - a "swap" disk. If the swap space is on a separate disk, it is easier to change the amount of memory used by the virtual appliance.

NOTE! The first disk is the only one that should be upgraded. Do not store any user data on this disk. Any file meant to be modified by the user must be placed on the second disk.

Name the disks accordingly for future reference. For example, app.hdd for the first disk, data.hdd - for the second one, and swap.hdd for the third.

Such virtual appliance configuration enables the user to perform updates by replacing only the first disk.

Software Requirements

For optimum efficiency:

  • The guest OS must be installed in a minimal configuration. Only those components or features necessary for the target service or application to operate successfully should be installed.
  • The software installed inside the Parallels Virtual Appliance should not use the 16-bit programming mode as it may result in dramatic performance losses.

To create a minimal configuration of the guest OS, either:

  • Build the virtual appliance from scratch with minimal required configuration, including the OS kernel and libraries necessary for target applications, or
  • Install the guest OS in the standard way. Remove unused features, OS locale settings, documents, and unnecessary applications. Install the target application or service.

NOTE! You must provide an update feature for your virtual appliance with all of the necessary documentation. Activation of this feature must be optional, but updating itself may be configured to be performed automatically. Each update cycle should provide increases in stability, performance and security.

Interface Requirements

A Parallels Virtual Appliance must have a well documented and clearly understandable Administration Interface. The user must be able to use this interface to start, restart, shut down, and configure the virtual appliance.

Do not use GUI-based interfaces unless the virtual appliance’s design requires one as this interface consumes additional resources. You can use a text console to execute only a minimal set of necessary commands, such as start, restart, and shut down.

We recommend using both a text console inside the virtual appliance with basic functionality and a full-featured web-based Administration Interface. This interface should be ideally accessible by secure protocol, HTTPS, and the address must be displayed on the virtual appliance console when the booting process is complete:

Administration Interface is available at: https://<IP-address>:<port>/

It’s recommended that you support your Parallels Virtual Appliance and provide the necessary updates for it. However, if you do not plan to support your virtual appliance, you must provide full management capability and allow full access with administrator’s rights to the its operating system to enable the user to control and configure it.

Network Configuration Requirements

Use a DHCP server for initial network configuration. Enable the user to change the default network settings later through the virtual appliance’s Administration Interface.

Protect the virtual appliance by firewall for best security, and close any unused network ports or services.

You may use SNMP to monitor virtual appliance parameters by creating your own MIBs subtree.

Packaging Requirements

Pack the Parallels Virtual Appliance as a self-contained archive.

  • Archive all virtual appliance files into a single file.
  • Use zip format whenever possible.
  • If necessary, divide the archive file into several volumes for easier download.

The archive must contain:

  • The .pvs configuration file
  • Virtual disk(s) files
  • Parallels Virtual Appliance’s description document
  • All documentation that the end-user will need

To create the Parallels Virtual Appliance’s description document containing the complete information about the virtual appliance, use the template available here.