Как развернуть OVF/OVA с поддержкой VirtualSystemCollection на ESXi?

При создании OVF можно указать тег для VirtualSystemCollection, который позволяет использовать несколько виртуальных машин для совместного базовый образ диска, но любые изменения, вносимые отдельными машинами, копируются при записи в частную область диска для каждой конкретной ВМ.

Когда вы пытаетесь развернуть настроенные таким образом образы в EXSi, он жалуется на Неподдерживаемый элемент «VirtualSystemCollection». Похоже, вам нужны коммерческие серверы vCenter или vApp от VMWare, чтобы использовать эту функцию. (из того, что мне пока удалось нарыть)

Есть ли способ сделать это с помощью бесплатного программного обеспечения (бесплатного, такого как ESXi или с открытым исходным кодом)

Конечная цель состоит в том, что я хочу иметь образ одного диска, который используется в качестве базы, и создать кластер виртуальных машин, которые затем настраиваются индивидуально, так что для виртуальной машины с диском на 500 МБ мне нужно только «500M + ( num_vms * delta_per_vm)' вместо '500M * num_vms'


person synthesizerpatel    schedule 08.04.2014    source источник


Ответы (3)


ESXi, подключенный к vCenter, должен поддержите это через vApps, но, поскольку вам нужно некоммерческое решение, самое близкое — использовать VirtualBox.

VirtualBox с открытым исходным кодом имеет поддержку множественного подключения для достижения этой цели с различными форматами дисков, и это работает очень хорошо. Он также имеет специальную копию qcow, qemu для поддержки записи на диск. По сути, вы создаете главный диск и подключаетесь к нескольким виртуальным машинам. (Огромная экономия места на диске.)

Он также может успешно импортировать несколько виртуальных машин из одного файла OVA с помощью VirtualSystemCollection, но, к сожалению, по-прежнему требуется ручное вмешательство, чтобы сообщить VirtualBox, что диски являются общими после импорта всех виртуальных машин. (Ну, в первую очередь это побеждает развертывание устройства...)

После создания мастер-диска (или после развертывания) подключение к нескольким виртуальным машинам можно выполнить с помощью графического интерфейса или следующей команды:

 VBoxManage storageattach "vm-name" --storagectl "sata1" --port 0 --device 0 --type hdd --medium base.vdi --mtype multiattach

Для получения дополнительной информации см. http://www.electricmonk.nl/log/2011/09/24/multiple-virtualbox-vms-using-one-base-image-copy-on-write/ и http://virtbjorn.blogspot.com.tr/2012/12/virtualbox-multi-attach-disk.html

Если вы действительно хотите использовать VMWare ESXi, вы можете использовать дедупликацию данных для выполнения той же задачи на уровне блоков. (который обычно используется облачными хостинговыми компаниями). Вы можете увидеть показатели успешности дедупликации с помощью инструментов с открытым исходным кодом здесь: http://opendedup.org/deduprates

person Furkan Omay    schedule 17.04.2014

В продуктах VMware многоуровневое устройство (VirtualSystemCollection) называется vApp. В vSphere vApps находятся в vCenter, а не в ESX. Так что да, вам нужен vCenter для импорта VirtualSystemCollection.

Если вы используете Workstation, вы также можете попробовать бесплатный инструмент vApprun: https://labs.vmware.com/flings/vapprun

person Martin Amdisen    schedule 15.08.2014

Вот что я успешно сделал, чтобы такие образы OVF были импортированы на мой бесплатный сервер ESXi. В файле OVF элемент XML VirtualSystemCollection определяет vApp. Вы можете вручную отредактировать файл OVF и удалить или прокомментировать эту часть, как показано ниже. Это позволит импортировать виртуальную машину в ESXi без vCenter после преобразования образа OVF с помощью VMware OVF Tool.

   <!-- ovf:VirtualSystemCollection ovf:id="dummy-id">
        <ovf:Info>A collection of virtual machines</ovf:Info>
        <ovf:Name>dummy-name</ovf:Name>
        <ovf:StartupSection>
            <ovf:Info>VApp startup section</ovf:Info>
            <ovf:Item ovf:id="dummy-id" ovf:order="0" ovf:startAction="powerOn" ovf:startDelay="0" ovf:stopAction="powerOff" ovf:stopDelay="0"/>
        </ovf:StartupSection-->

Оставьте оставшуюся часть нетронутой и удалите следующую строку в конце.

</ovf:VirtualSystemCollection>

Также убедитесь, что у вас установлен последний клиент встроенного хоста ESXi, чтобы избежать других проблем, связанных с ошибками во время импорта. https://labs.vmware.com/flings/esxi-embedded-host-client

Преобразование OVF в VMX можно выполнить с помощью VMWare OVF Tool. В командной строке это выглядит просто так:

ovftool <path_to_source>/<myvm>.ovf <path_to_target>/<myvm>.vmx
person Martin Brousseau    schedule 24.11.2017
comment
Наверняка это означает, что у вас нет нескольких виртуальных машин, определенных в vApp. Несколько элементов <VirtualSystem> в элементе <VirtualSystemCollection> файла OVF. - person Martin Brousseau; 25.11.2017