Oracle VM Blog: Converting Linux and Windows Physical and Virtual Machines to Oracle VM Virtual Machines
By Honglin Su on Apr 28, 2009
Oracle VM provides functionality to allow customers to easily convert and move Linux and Windows servers to run as guest virtual machines (VM) in Oracle VM Server Pools. We have the technical white paper: Converting Linux and Windows Physical and Virtual Machines to Oracle VM Virtual Machines, which describes the virtual machine conversion functions built into Oracle VM in Release 2.1.2, and how you can plan and execute the virtual machine conversions using Oracle VM.
Here I'd like to give a brief introduction about how P2V and V2V work and the basic requirements to get started. You can refer to the white paper for detailed instructions.
The P2V conversion utility allows administrators to perform an off-line conversion of any physical machine running supported versions of Windows or Linux to an Oracle VM hardware virtualized guest virtual machine. The P2V utility is integrated into the install program on the Oracle VM Server CD. It can be run in interactive mode prompting for necessary parameters, or in an automated fashion using a configuration file with syntax very similar to kickstart install files. This conversion will create a VM configuration file (vm.cfg) and allow you to make some modifications in terms of sizing the virtual hardware, and then replicate the physical image and transfer it over the network to the resource pool using Oracle VM Manager. The image on your physical server is not changed in any way. You use Oracle VM Manager to import the converted image as an Oracle VM virtual machine template or virtual machine image. The converted image is a hardware virtualized guest image.
In order to have a successful P2V conversion, please make sure that
* Operating system is among the supported guest operating systems;
* Physical server to be converted supports PAE;
* The target server running Oracle VM is HVM capable.
If you know the specific CPU model, you can find out if it supports HVM from Intel or AMD web site. You'll need modify the system BIOS setting to enable the HVM feature. By default, HVM is not enabled.
If your server runs Linux, you can check the /proc/cpuinfo file and look at the flags section for one of two values, vmx or svm.
* vmx - (Intel)
* svm - (AMD)
You use grep to quickly see if either value exists in the file by running the following command:
# egrep '(vmx|svm)' /proc/cpuinfo
For the V2V conversion function, Oracle VM Manager allows you to import virtual machines in the VMDK format. When you import VMware virtual machines, Oracle VM Manager converts them to Oracle VM virtual machines automatically. This is known as a virtual to virtual machine conversion or, "V2V". You can watch the flash demo: Converting VMware virtual machine images (vmdk) to Oracle VM virtual machines, which provides you step-by-step guide to perform V2V conversion for a Windows image as an example.
When importing a VMware virtual machine, make sure you have enough free disk space to convert the VMware virtual machine to an Oracle VM virtual machine. Oracle VM requires at least twice the disk space of the VMware virtual machine under /OVS/running_pool directory because it will copy the original VMDK image as well as create a new Oracle VM image. Once you converted .vmdk files to Oracle VM image (.img), you no longer need the original .vmdk files from Oracle VM perspective.
In addition, the Oracle VM servers that perform V2V conversion must be HVM capable, since the converted the VM image is hardware virtualized VM, so it requires the server to be HVM capable (Intel VT or AMD-V).
To import VMware VMDK images using Oracle VM Manager, follow the same process you would to import any other virtual machine image resource, generally from an external source (HTTP or FTP location), using the Import wizard. Or you can copy the VMDK image files manually into /OVS/running_pool directory. Oracle VM will automatically detect that the image is in the VMDK format and convert the image file to an Oracle VM format and deploy it to the specified Server Pool.
As a best practice, you should make sure that Oracle VM software is up to date. If you have subscribed to ULN, you can follow the instructions prepared by Roddy Rodstein to update your Oracle VM to the latest software release:
Oracle VM server agent plays a central role in performing V2V conversion. The latest agent software has integrated a number of bug fixes. You can verify the agent software version from the Dom0 of the VM server.
# rpm -qa ovs-agent
As of April 2009, the revision -70 is the latest build that we released to the ULN. You can get the latest agent software from http://oss.oracle.com/oraclevm/server/RPMS/. Once you upgrade the agent software, remember to restart the agent.
# service ovs-agent restart
Some customers may come across the blue screen issue when starting a converted Windows image. It may be related to HCL dealing with ACPI/APIC scenarios or device drivers (SCSI or IDE virtual disk in VMware). You can look at Ian Blenke's blog and see if the workaround is applicable for your situation.
In summary, Oracle VM provides you the integrated P2V and V2V capabilities so that you can quickly convert existing Linux or Windows physical servers or VMware virtual machines to Oracle VM virtual machines. You not only reduce license expenses, but also enjoy all the benefits such as lower TCO, higher efficiency, full software stack certification and world class support that Oracle VM brings to you. For additional resources about Oracle VM, please visit http://oracle.com/virtualization.
Sometimes you may come across the blue screen issue (Stop 0x0000007B error) when starting a converted Windows image the very first time. The main reason is that Windows memorizes which IDE/ATA controller it was installed on and fails to boot in case the controller changes. The solution here is to perform several modifications to the Windows registry. This should be done on the original system and all it does is to relax the IDE checks. Therefore the installation will continue to work on the original system after the modification. The easiest way is to use the MergeIDE utility, or refer to Microsoft support kb314082.
See Simon Thorpe's blog (7/16/2009): Migrating a VMWare Server 2 Windows 2003 guest to Oracle VM