3

Как преобразовать образ виртуального устройства в формате RAW (in) напрямую в формат OVF/OVA ?

Существует инструмент под названием ovftools, который позволяет преобразовывать из .ovf/.ova/.vmx в .ovf/.ova/.vmx . но он не поддерживает RAW диск в качестве входного формата.

Virtual Box также имеет VBoxManage, позволяющий вам конвертировать из VDI|VMDK|VHD|RAW в VDI|VMDK|VHD|RAW но ничего о формате OVF/OVA .

Я использую Ubuntu/Debian GNU/Linux.

2 ответа2

0

Одна вещь , которую я хочу сказать , прежде чем я продолжу в случае путаницы в том , что RAW VMDK VHD VDI все файлы * виртуальные) жесткий диск, где , как OVF OVA - это файлы настроек виртуальной машины. Файл OVF поставляется с отдельным виртуальным жестким диском (который может быть в формате VMDK или одним из нескольких других), где в качестве файла OVA содержится все в одной виртуальной машине.

(* - Большинство виртуально!)

Лично я раньше не видел загрузку виртуальной машины с RAW-диска. Если вы можете преобразовать RAW в VMDK с помощью VBoxManage я бы порекомендовал использовать VMWare Player or Workstation (наверняка) или Virtual Box (не уверен!) создать новую виртуальную машину и выбрать только что преобразованный файл VMDK .

Опять же, я не уверен, что Virtual Box использует в качестве файла настроек по умолчанию, но я знаю, что VMWare Workstation использует VMX , поэтому у вас не должно возникнуть проблем с использованием ovftools поскольку у вас будет новая виртуальная машина с правильным жестким диском.

После осмотра, единственный инструмент, который я смог найти, это Live View, который может конвертировать файл Raw в VMDK.

0

Файлы .ova являются просто tar-файлом Posix:

$ file foo.ova
foo.ova:            POSIX tar archive

Если вы распакуете его, вы найдете один .ovf (XML), описывающий виртуальную машину , один текстовый файл с контрольными суммами (SHA-1) и один или несколько файлов .vmdk :

$ file *                                                                                                                                                                        
foo-disk1.vmdk:                        VMware4 disk image                                                                                                                                                          
foo-disk2.vmdk:                        VMware4 disk image                                                                                                                                                          
foo-disk3.vmdk:                        VMware4 disk image                                                                                                                                                          
foo-disk4.vmdk:                        VMware4 disk image                                                                                                                                                          
foo-disk5.vmdk:                        VMware4 disk image                                                                                                                                                          
foo.ova:                               POSIX tar archive                                                                                                                                                           
foo.mf:                                ASCII text                                                                                                                                                                  
foo.ovf:                               XML 1.0 document, ASCII text, with very long lines

Таким образом, для конвертации RAW в .ova вам нужно будет конвертировать ваши необработанные файлы в формат .vmdk , записать правильный файл .ovf , создать файл .mf и скопировать все в файл .ova . Обратите внимание, что последний не включает сжатие. Строки в файле .mf выглядят так:

SHA1(foo.ovf)= e33370daa74544dc30841e1c527628e5c8610c54

Его легко получить из sha1sum , но формат другой:

$ sha1sum 'foo.ovf'
e33370daa74544dc30841e1c527628e5c8610c54  foo.ovf

Так:

$ sha1sum *.ovf *.vmdk | awk 'BEGIN { FIELDWIDTHS = "40 2 1024" } { print "SHA1(" $3 ")= " $1 }'
SHA1(HyperFile 3.3.0.ovf)= e33370daa74544dc30841e1c527628e5c8610c54
SHA1(HyperFile_3.3.0-disk1.vmdk)= a60c58d00010bdc715d96e89e34fd45f48a58b4c
SHA1(HyperFile_3.3.0-disk2.vmdk)= 92250a09ef4b924c51c64b37ba6dc7049eb24cc2
SHA1(HyperFile_3.3.0-disk3.vmdk)= aff779bf46c859506606fd8925f79ffb9a86d955
SHA1(HyperFile_3.3.0-disk4.vmdk)= 64dd05f7e5d73929234393c109b2d92d69dedc8e
SHA1(HyperFile_3.3.0-disk5.vmdk)= 157e9f9f6adeabcc41f228cd7b53fc0ef4da43f9

Я позволю вам прочитать о формате OVF здесь: https://www.dmtf.org/standards/ovf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .