OVF is an open standard, specified by the Distributed Management Task Force (DMTF), for packaging and distributing a virtual appliance consisting of one or more virtual machines (VMs).
An OVF Package is composed of metadata and file elements that describe virtual machines, plus additional information that is important to the deployment and operation of the applications in the OVF package. Its file extension is .ovf.
An Open Virtual Appliance (OVA) is an OVF Package in a single file archive with the .ova extension.
Note that in a XenServer environment where Role-Based Access Control (RBAC) is implemented, only users with the RBAC role of Pool Admin can import and export OVF and OVA packages. See RBAC overview for more information about RBAC roles.
An OVF Package always includes a descriptor file (*.ovf) and may also include a number of other files.
|Descriptor||The descriptor specifies the virtual hardware requirements of the service and can also include other information such as descriptions of virtual disks, the service itself, and guest operating systems, a license agreement (EULA), instructions to start and stop VMs in the appliance, and instructions to install the service. The descriptor file extension is .ovf.|
|Manifest||The manifest is an SHA-1 digest of every file in the package, allowing the package contents to be verified by detecting any corruption. The manifest file extension is .mf.|
|Signature||The signature is the digest of the manifest signed with the public key from the X.509 certificate included in the package, and allows the package author to be verified. The signature file extension is .cert.|
|Virtual disks||OVF does not specify a disk image format. An OVF package includes files comprising virtual disks in the format defined by the virtualization product that exported the virtual disks. XenServer produces OVF packages with disk images in Dynamic VHD format; VMware products and Virtual Box produce OVF packages with virtual disks in Stream-Optimized VMDK format.|
An OVA package is a single archive file, in the Tape Archive (tar) format, containing the files that comprise an OVF Package.
Which format should I use?
OVF packages contain a series of uncompressed files that make it handier for users who may want to access individual disk images in the file, while OVA packages are just one large file. While you can compress this file, it doesn't have the flexibility of a series of files like OVF.
OVA is better for specific applications where it is beneficial to have just one file, making the package easier to handle, such as when creating packages for Web downloads. Exporting and importing OVA packages takes longer than OVF.
Using Operating System Fixup
Using OVF as a method of packaging does not guarantee cross-hypervisor compatibility of the virtual machines contained in the package. An OVF package created on one hypervisor might not automatically work on a different hypervisor. This happens for a variety of reasons including; different interpretations of the OVF specification, guest operating system devices, drivers, and implementations inherent to a hypervisor.
XenCenter includes an advanced hypervisor interoperability feature – Operating System Fixup which aims to ensure a basic level of interoperability for OVF packages that are imported to XenServer. It is necessary to run Operating System Fixup on imported VMs that were created on other hypervisors to ensure that they boot correctly on XenServer.
For more information about the Operating System Fixup feature, see About VM Import and Export .
More information about OVF
Refer to the following documents on the Citrix Knowledge Center website and the DMTF website for more information about OVF: