[rhelv6-list] qemu-img has no scsi support anymore?
Robin Price II
rprice at redhat.com
Tue Oct 18 18:52:36 UTC 2011
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 at 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 at x200 rhel_vm]$ tar xvf rhel.ova
rhel.ovf
rhel-disk1.vmdk
rhel.mf
[rprice at x200 rhel_vm]$ file rhel.mf
rhel.mf: ASCII text, with CRLF line terminators
[rprice at 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 at 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 at 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 at 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. ]-------+
More information about the rhelv6-list
mailing list