The Open Virtual Machine Format (OVF) describes a format for the packaging and distribution of virtual machines (VMs). It is touted as open, secure, and portable. OVF can be seen as a packaging format for software appliances. I see it as a self-contained software solution that allows for VMs to be moved from one hypervisor to another.
It is important to note that an OVF may contain a single VM or many VMs; this will depend on the application. The OVF format describes metadata about virtual machine images in XML format and supports the sharing of virtual machines between products and organizations. It promotes the use of virtual appliances, which can be seen as simply pre-configured virtual machines that package applications with the operating system they require. OVFs can be implemented using any operating system and installed on any virtualization platform that supports the OVF format.
VMware vCenter Converter Standalone can be used to convert a physical machine into a virtual machine. This is pretty cool, especially considering it’s free! Then you can use the VMware OVF Tool to convert the VM into OVF format. VMware OVF Tool is a command line utility that supports importing and exporting of OVF packages for several VMware platforms, including VMware Workstation, VMware Server 2.0, vSphere 4.0, and earlier versions of VMware ESX Server and VMware VirtualCenter. You can also use VMware vSphere Client to export OVF Templates and deploy VMs using OVF templates.
For this lab, I will demonstrate how I setup ESXi server so I can connect to it form anywhere on the Internet. I will skip over converting a physical machine into a virtual machine – simply download VMware vCenter Converter Standalone and the process is pretty straight-forward. I will go over converting the VM to OVF format (using both vSphere Client and VMware OVF Tool. My ESXi setup is described below:
1. Export an OVF Template using VMware vSphere Client
– Select the virtual machine from within vSphere Client and click File->Export->Export OVF Template
2. Deploy a VM using an OVF Template from within VMware vSphere Client
– Select the virtual machine from within vSphere Client and click File->Deloploy OVF Template
3. You can also use the VMware OVF Tool to import/export OVF packages
– Export an OVF package from VMware ESXi to local disk by using the following command at the command prompt (I’m using Windows in this case):
ovftool [options] [source locator] [target locator]
For obvious reasons, I have not included my ip, username, and password below; you will want to replace these fields with the respective values. Also, I am using Ubuntu and my VM is identified as “Ubuntu 9.04 Ser (32-bit)” which is what I named it, you will want to replace this with your relevant VM info.
ovftool vi://[username]:[password]@[ip]/”Ubuntu 9.04 Ser (32-bit)” file://c:\Temp\ubuntu.ovf