As stated in official MOS ( My Oracle Support ) document 249212.1 support for Oracle products on non-Oracle VM platforms follow exactly the same stance as support for VMware and, so, the only x86 virtualization software solution certified for any Oracle product is "Oracle VM".
Based on the fact that:
Oracle VM is totally free ( you have the option to buy Oracle-Support )
Certified is pretty different from supported ( OracleVM is certified, others could be supported )
With Oracle VM you may not require to reproduce your issue(s) on physical server
Oracle VM is the only x86 software solution that allows hard-partitioning ***
*** see details to these Oracle public links:
http://www.oracle.com/technetwork/server-storage/vm/ovm-hardpart-168217.pdf
http://www.oracle.com/us/corporate/pricing/partitioning-070609.pdf
people started asking to migrate from third party virtualization software (ex. RH KVM, VMWare) to Oracle VM.
Migrating RH KVM guest to Oracle VM.
OracleVM has a built-in P2V utility ( Official Documentation ) but in some cases we can't use it, due to :
network inaccessibility between hypervisors ( KVM and OVM )
network slowness between hypervisors (KVM and OVM)
size of the guest virtual-disks
Here you'll find a step-by-step guide to "manually" migrate a guest machine from KVM to OVM.
1. Verify source guest characteristics.
Using KVM web console you can verify characteristics of the guest you need to migrate, such as:
CPU Cores details
Defined Memory ( RAM )
Name of your guest
Guest operating system
Disks details ( number and size )
Network details ( number of NICs and network configuration )
2. Export your guest in OVF / OVA format.
The export from Redhat KVM ( kernel virtual machine ) will create a structured export of your guest:
[root@ovmserver1 mnt]# lltotal 12drwxrwx--- 5 36 36 4096 Oct 19 2012 b8296fca-13c4-4841-a50f-773b5139fcee
b8296fca-13c4-4841-a50f-773b5139fcee is the ID of the guest exported from RH-KVM
[root@ovmserver1 mnt]# cd b8296fca-13c4-4841-a50f-773b5139fcee/[root@ovmserver1 b8296fca-13c4-4841-a50f-773b5139fcee]# ls -ltrtotal 12drwxr-x--- 4 36 36 4096 Oct 19 2012 masterdrwxrwx--- 2 36 36 4096 Oct 29 2012 dom_mddrwxrwx--- 4 36 36 4096 Oct 31 2012 images
images contains your virtual-disks exported
[root@ovmserver1 b8296fca-13c4-4841-a50f-773b5139fcee]# cd images/[root@ovmserver1 images]# ls -ltratotal 16drwxrwx--- 5 36 36 4096 Oct 19 2012 ..drwxrwx--- 2 36 36 4096 Oct 31 2012 d4ef928d-6dc6-4743-b20d-568b424728a5drwxrwx--- 2 36 36 4096 Oct 31 2012 4b241ea0-43aa-4f3b-ab7d-2fc633b491a1drwxrwx--- 4 36 36 4096 Oct 31 2012 .[root@ovmserver1 images]# cd d4ef928d-6dc6-4743-b20d-568b424728a5/[root@ovmserver1 d4ef928d-6dc6-4743-b20d-568b424728a5]# ls -ltotal 5169092-rwxr----- 1 36 36 187904819200 Oct 31 2012 4c03b1cf-67cc-4af0-ad1e-529fd665dac1-rw-rw---- 1 36 36 341 Oct 31 2012 4c03b1cf-67cc-4af0-ad1e-529fd665dac1.meta[root@ovmserver1 d4ef928d-6dc6-4743-b20d-568b424728a5]# file 4c03b1cf-67cc-4af0-ad1e-529fd665dac14c03b1cf-67cc-4af0-ad1e-529fd665dac1: LVM2 (Linux Logical Volume Manager) , UUID: sZL1Ttpy0vNqykaPahEo3hK3lGhwspv
4c03b1cf-67cc-4af0-ad1e-529fd665dac1 is the first exported disk ( physical volume )
[root@ovmserver1 d4ef928d-6dc6-4743-b20d-568b424728a5]# cd ../4b241ea0-43aa-4f3b-ab7d-2fc633b491a1/[root@ovmserver1 4b241ea0-43aa-4f3b-ab7d-2fc633b491a1]# ls -ltotal 5568076-rwxr----- 1 36 36 107374182400 Oct 31 2012 9020f2e1-7b8a-4641-8f80-749768cc237a-rw-rw---- 1 36 36 341 Oct 31 2012 9020f2e1-7b8a-4641-8f80-749768cc237a.meta[root@ovmserver1 4b241ea0-43aa-4f3b-ab7d-2fc633b491a1]# file 9020f2e1-7b8a-4641-8f80-749768cc237a9020f2e1-7b8a-4641-8f80-749768cc237a: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 401562 sectors; partition 2: ID=0x82, starthead 0, startsector 401625, 65529135 sectors; startsector 63, 401562 sectors; partition 2: ID=0x82, starthead 0, startsector 401625, 65529135 sectors; partition 3: ID=0x83, starthead 254, startsector 65930760, 8385930 sectors; partition 4: ID=0x5, starthead 254, startsector 74316690, 135395820 sectors, code offset 0x48
9020f2e1-7b8a-4641-8f80-749768cc237a is the second exported disk, with partition 1 bootable
3. Prepare the new guest on Oracle VM.
By Ovm-Manager we can prepare the guest where we will move the exported virtual-disks; under the Tab "Servers and VMs":
click on and create your guest with parameters collected before (point 1):
- add NICs on different networks:
- add virtual-disks; in this case we add two disks of 1.0 GB each one; we will extend the virtual disk copying the source KVM virtual-disk ( see next steps )
- verify virtual-disks created ( under Repositories tab )
4. Verify OVM virtual-disks names.
[root@ovmserver1 VirtualMachines]# grep -r hyptest_rdbms *
0004fb0000060000a906b423f44da98e/vm.cfg:OVM_simple_name = 'hyptest_rdbms'
[root@ovmserver1 VirtualMachines]# cd 0004fb0000060000a906b423f44da98e
[root@ovmserver1 0004fb0000060000a906b423f44da98e]# more vm.cfgvif = ['mac=00:21:f6:0f:3f:85,bridge=0004fb001089128', 'mac=00:21:f6:0f:3f:8e,bridge=0004fb00101971d']
OVM_simple_name = 'hyptest_rdbms'
vnclisten = '127.0.0.1'
disk = ['file:/OVS/Repositories/0004fb00000300004f17b7368139eb41/
VirtualDisks/0004fb000012000097c1bfea9834b17d.img,xvda,w',
'file:/OVS/Repositories/0004fb00000300004f17b7368139eb41/VirtualDisks/
0004fb0000120000cde6a11c3cb1d0be.img,xvdb,w']
vncunused = '1'
uuid = '0004fb00-0006-0000-a906-b423f44da98e'
on_reboot = 'restart'
cpu_weight = 27500
memory = 32768
cpu_cap = 0
maxvcpus = 8
OVM_high_availability = True
maxmem = 32768
vnc = '1'
OVM_description = ''
on_poweroff = 'destroy'
on_crash = 'restart'
name = '0004fb0000060000a906b423f44da98e'
guest_os_type = 'linux'
builder = 'hvm'
vcpus = 8
keymap = 'en-us'
OVM_os_type = 'Oracle Linux 5'
OVM_cpu_compat_group = ''
OVM_domain_type = 'xen_hvm'
disk2 ovm ==> /OVS/Repositories/0004fb00000300004f17b7368139eb41/VirtualDisks/
0004fb0000120000cde6a11c3cb1d0be.img
disk1 ovm ==> /OVS/Repositories/0004fb00000300004f17b7368139eb41/VirtualDisks/
0004fb000012000097c1bfea9834b17d.img
Summarizing
disk1 --source ==> /mnt/b8296fca-13c4-4841-a50f-773b5139fcee/images/4b241ea0-43aa-4f3b-ab7d-2fc633b491a1/9020f2e1-7b8a-4641-8f80-749768cc237a
disk1 --dest ==> /OVS/Repositories/0004fb00000300004f17b7368139eb41/VirtualDisks/
0004fb000012000097c1bfea9834b17d.img
disk2 --source ==> /mnt/b8296fca-13c4-4841-a50f-773b5139fcee/images/d4ef928d-6dc6-4743-b20d-568b424728a5/4c03b1cf-67cc-4af0-ad1e-529fd665dac1
disk2 --dest ==> /OVS/Repositories/0004fb00000300004f17b7368139eb41/VirtualDisks/
0004fb0000120000cde6a11c3cb1d0be.img
5. Copy KVM exported virtual-disks to OVM virtual-disks.
Keeping your Oracle VM guest stopped you can copy KVM exported virtual-disks to OVM virtual-disks; what I did is only to locally mount the filesystem containing the exported virtual-disk ( by an usb device ) on my OVS; the copy automatically resize OVM virtual-disks ( previously created with a size of 1GB ) .
nohup cp /mnt/b8296fca-13c4-4841-a50f-773b5139fcee/images/4b241ea0-43aa-4f3b-ab7d-2fc633b491a1/9020f2e1-7b8a-4641-8f80-749768cc237a /OVS/Repositories/0004fb00000300004f17b7368139eb41/VirtualDisks/0004fb000012000097c1bfea9834b17d.img &
nohup cp /mnt/b8296fca-13c4-4841-a50f-773b5139fcee/images/d4ef928d-6dc6-4743-b20d-568b424728a5/4c03b1cf-67cc-4af0-ad1e-529fd665dac1 /OVS/Repositories/0004fb00000300004f17b7368139eb41/VirtualDisks/0004fb0000120000cde6a11c3cb1d0be.img &
7. When copy completed refresh repository to aknowledge the new-disks size.
7. After "refresh repository" is completed, start guest machine by Oracle VM manager.
After the first start of your guest:
- verify that you can see all disks and partitions
- verify that your guest is network reachable ( MAC Address of your NICs changed )
Eventually you can also evaluate to convert your guest to PVM ( Paravirtualized virtual Machine ) following official Oracle documentation.
Ciao
Simon COTER
ps: next-time I'd like to post an article reporting how to manually migrate Virtual-Iron guests to OracleVM.
Comments and corrections are welcome.