Я попытался преобразовать образ VMDK, найденный в файле OVA, в формат QCOW2 с помощью qemu-img команда, но не удалось с сообщением об ошибке qemu-img: ошибка при чтении сектора 131072: недопустимый аргумент
user@ubuntu:/tmp$ wget ftp://ftp.sanger.ac.uk/pub/databases/Pfam/vm/PfamWeb_20120124.ova
user@ubuntu:/tmp$ tar xfv PfamWeb_20120124.ova
PfamWeb_20120124_2.ovf
PfamWeb_20120124_2.mf
PfamWeb_20120124_2-disk1.vmdk
user@ubuntu:/tmp$ qemu-img convert -O qcow2 PfamWeb_20120124_2-disk1.vmdk PfamWeb_20120124_2.qcow2
qemu-img: error while reading sector 131072: Invalid argument
user@ubuntu:/tmp$ qemu-img --version | grep "qemu-img version"
qemu-img version 1.0, Copyright (c) 2004-2008 Fabrice Bellard
user@ubuntu:/tmp$ dpkg-query -f='${Version}\n' --show qemu-utils
1.0+noroms-0ubuntu14.1
user@ubuntu:/tmp$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l
Как мне избежать ошибки?
А ошибка связанные с этим были исправлены в кему версия 1.2.0. Ubuntu 12.04 имеет более старую версию qemu, но если вы устанавливаете qemu-img из исходного кода
user@ubuntu:/tmp$ sudo apt-get install libglib2.0-dev
user@ubuntu:/tmp$ wget http://wiki.qemu.org/download/qemu-1.2.0.tar.bz2
user@ubuntu:/tmp$ tar xfj qemu-1.2.0.tar.bz2
user@ubuntu:/tmp$ cd qemu-1.2.0
user@ubuntu:/tmp/qemu-1.2.0$ ./configure && make qemu-img
конвертация проходит без ошибок
user@ubuntu:/tmp/qemu-1.2.0$ cd /tmp
user@ubuntu:/tmp$ /tmp/qemu-1.2.0/qemu-img convert -O qcow2 PfamWeb_20120124_2-disk1.vmdk PfamWeb_20120124_2.qcow2
user@ubuntu:/tmp$
Даже после компиляции qemu из исходников (из распространяемого пакета или из git) у меня все еще была эта проблема (хотя и с немного другой ошибкой; он жаловался 'image' uses a vmdk feature which is not supported by this qemu version: VMDK version 3
). Это не был OVA, созданный в 1871 году при свечах; на самом деле это GitHub Enterprise. Итак, почему это не поддерживается ни в одной из версий QEMU, которые я смог найти, все еще сбивает с толку, и я хотел бы получить дополнительную информацию, если она у кого-то есть.
Во всяком случае, решение, которое я нашел, заключалось в том, чтобы получить Citrix XenConvert из http://www.citrix.com/downloads/xenserver/tools/conversion.html . Удивительно, но в новых версиях отсутствует поддержка простых преобразований формата, но 2.3.1 позволила мне изменить VMDK (извлеченный из OVA с помощью простого «tar -xf») на VHD, после чего qemu-img мог взять его оттуда. Возможно, VMWare Converter также справился с этой задачей; это в http://www.vmware.com/go/getconverter .