[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [rhelv6-list] qemu-img has no scsi support anymore?



On 10/18/2011 11:32 AM, Rainer Traut wrote:
Hi,

I'm trying to conevrt an old Vmware Server 2.0 vm with W2k Server to kvm.
I converted from vmdk to raw, changed controller to scsi and hit this:
https://bugzilla.redhat.com/show_bug.cgi?id=621933

What are my options with this vm?
Do I have to reinstall vmware server somewhere to change the disc
controller in the vm?
Is this even possible to change in w2k boot device driver?

Thx
Rainer

_______________________________________________
rhelv6-list mailing list
rhelv6-list redhat com
https://www.redhat.com/mailman/listinfo/rhelv6-list

Rainer,

Hope this helps.

http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization/chap-Virtualization-Virtualization_limitations.html#sect-Virtualization-Virtualization_limitations-KVM_limitations

Virtualized SCSI devices
    SCSI emulation is not supported with KVM in Red Hat Enterprise Linux.
Virtualized IDE devices
KVM is limited to a maximum of four virtualized (emulated) IDE devices per guest.

Will this be supported in the future? Not sure. SCSI emulation, at the moment, is not looking to be supported and is very buggy upstream as well.

However, I don't think qemu-img can convert any vmdk image to a KVM image. I ran into something very similar recently. I had to use the 'vmware-vdiskmanager' tool provided from VMware.

The <vm_name>-flat.vmdk files store the content of the virtual machines actual hard disk drives. Earlier versions of ESX used the extension .dsk for the virtual disk files. The <vm_name>.vmdk files are the disk descriptor files. This file contains all the information about the associated flat file. The files tell you the CID of the file, the parent CID of the file, and the type and size of the file amongst other things.

You can get this tool from:
http://communities.vmware.com/community/vmtn/developer/forums/vddk

Example:

[rprice x200 rhel_vm]$ tar xvf rhel.ova
rhel.ovf
rhel-disk1.vmdk
rhel.mf
[rprice x200 rhel_vm]$ file rhel.mf
rhel.mf: ASCII text, with CRLF line terminators
[rprice x200 rhel_vm]$ vmware-vdiskmanager -r rhel-disk1.vmdk -t 2 raw.vmdk
Creating disk 'raw.vmdk'
  Convert: 100% done.
Virtual disk conversion successful.
[rprice x200 rhel_vm]$ qemu-img info raw-flat.vmdk
image: raw-flat.vmdk
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 8.0G

As you can see, there is no way for qemu-img to convert a VMWare image that is the original .vmdk. You have to convert that to a file that is compatible with qemu-img.

Flat files are used by VMware if you create a virtual disk (vmdk) with the “Allocate all disk space now” option (you have this option when creating disks for use with VMware).

From there, I did do:

$ qemu-img convert -O qcow2 raw-flat.vmdk new.qemu

[rprice x200 rhel_vm]$ sudo /usr/libexec/qemu-kvm new.qemu
Using CPU model "cpu64-rhel6"
VNC server running on `::1:5900'

I loaded tigervnc and connected to 'localhost:5900' and was able to boot the guest just fine.

I am not sure how to change the disc controller in the VM. Maybe you can add the "new.qemu" to your 'virt-manager' and change the details from there.

In any case, I hope some of this information helps you reach your end goal. If any one else has any experience with this, please let us know, I'd love to hear other solutions to this.

Also, if you have VMWare ESX guests that need to convert over to KVM, look into 'virt-v2v'

http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Virtualization_for_Desktops/2.2/html/Administration_Guide/virt-v2v-scripts.html

"On successful completion, virt-v2v will create a new libvirt domain for the converted guest with the same name as the original guest. It can be started as usual using libvirt tools, for example virt-manager or qemu-kvm.

Please note:
During post-conversion tasks, virt-v2v cannot currently reconfigure a guest’s network configuration. If the converted guest is not connected to the same subnet as the source, its network configuration may have to be updated.

As well as configuring libvirt appropriately, virt-v2v will make certain changes to a guest to enable it support running under a KVM host either with or without virtio driver. These changes are guest OS specific."

Example:

# virt-v2v -ic esx://esx.example.com/ -o libvirt -os <storage_pool_name> --network default new-vm-name

To know what your storage_pool_name is, use:

# virsh pool-list --all

Name                 State      Autostart
-----------------------------------------
default              active     yes


Good luck.

~rp


--
+-----------------------------[ robin redhat com ]----+
| Robin Price II - RHCE,RHCVA                         |
| Technical Account Manager                           |
| Red Hat, Inc.                                       |
| w: +1 (919) 754 4412                                |
| c: +1 (252) 474 3525                                |
|                                                     |
+---------[ Dissenters will inevitably abhor. ]-------+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]