Как развернуть OVF / OVA с поддержкой VirtualSystemCollection в ESXi?
При создании OVF вы можете указать тег для VirtualSystemCollection, который позволяет нескольким виртуальным машинам совместно использовать один и тот же образ базового диска, но любые изменения, которые вносят отдельные машины, являются копированием при записи в область частного диска для каждой конкретной виртуальной машины.,
Когда вы пытаетесь развернуть образы, настроенные таким образом, в EXSi, он жалуется на неподдерживаемый элемент "VirtualSystemCollection". Может показаться, что вам нужны коммерческие серверы vCenter или vApp от VMWare, чтобы использовать эту функцию. (Из того, что я смог до сих пор грок)
Есть ли способ сделать это через бесплатное программное обеспечение (бесплатно, как ESXi или с открытым исходным кодом)
Конечная цель состоит в том, чтобы я хотел иметь один образ диска, который используется в качестве основы, и создать кластер виртуальных машин, которые затем настраиваются индивидуально, так что для виртуальной машины с диском объемом 500 мегабайт мне нужно только 500M + (num_vms * delta_per_vm)'вместо'500M * num_vms'
3 ответа
ESXi, подключенный к vCenter, должен поддерживать это через vApps, но, так как вы хотели некоммерческое решение, самое близкое - использовать VirtualBox.
VirtualBox с открытым исходным кодом имеет поддержку нескольких подключений для достижения этого с различными форматами дисков, и он работает очень хорошо. Он также имеет специальную поддержку qcow, qemu copy для записи на диск. По сути, вы создаете мастер-диск и подключаетесь к нескольким виртуальным машинам. (Огромная экономия дискового пространства.)
Он также может успешно импортировать несколько виртуальных машин из одного файла 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
Вот что я успешно сделал, чтобы такие 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 Embedded Host Client, чтобы избежать других проблем, связанных с ошибками во время импорта. 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
В продуктах VMware многоуровневое устройство (VirtualSystemCollection) называется vApp. В vSphere vApps живут в vCenter, а не в ESX. Так что да, вам нужен vCenter для импорта VirtualSystemCollection.
Если вы используете рабочую станцию, вы также можете попробовать бесплатный инструмент vApprun: https://labs.vmware.com/flings/vapprun