【问题标题】:How do you deploy VirtualSystemCollection enabled OVF/OVAs to ESXi?如何将启用 VirtualSystemCollection 的 OVF/OVA 部署到 ESXi?
【发布时间】:2014-05-21 21:12:46
【问题描述】:

在构建OVF 时,您可以为 VirtualSystemCollection 指定一个标签,该标签允许您让多个 VM 共享同一个 base 磁盘映像,但各个计算机所做的任何更改都是 Copy-写入每个特定 VM 的专用磁盘区域。

当您尝试以这种方式将图像设置部署到 EXSi 时,它会提示 Unsupported element 'VirtualSystemCollection'。看来您需要来自 VMWare 的商业 vCenter 或 vApp 服务器才能使用此功能。 (从目前为止我能摸到的)

有没有办法通过免费软件来做到这一点(像 ESXi 这样的免费软件或开源软件)

最终目标是我希望拥有一个用作基础的单个磁盘映像 - 并启动一组 VM,然后单独配置这些 VM,这样对于具有 500 兆磁盘的 VM,我只需要 ' 500M + (num_vms * delta_per_vm)' 而不是 '500M * num_vms'

【问题讨论】:

    标签: vmware esxi ova ovf


    【解决方案1】:

    连接到 vCenter 的 ESXi 应该support this via vApps,但由于您需要非商业解决方案,因此最接近的方法是使用 VirtualBox。

    开源的 VirtualBox 支持多连接,可以用不同的磁盘格式实现这一点,而且效果很好。它还具有特殊的 qcow、qemu 在写磁盘上复制的支持。基本上,您创建一个主磁盘并附加到多个 VM。 (节省大量磁盘空间。)

    它也可以使用 VirtualSystemCollection 从一个 OVA 文件中愉快地导入多个 VM,但不幸的是,它仍然需要手动干预来告诉 VirtualBox 在导入所有 VM 后磁盘是共享的。 (嗯,它首先打败了设备部署......)

    创建主磁盘后(或部署后),可以使用 GUI 或以下命令附加到多个 VM:

     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

    【讨论】:

      【解决方案2】:

      在 VMware 产品中,多层设备 (VirtualSystemCollection) 称为 vApp。在 vSphere 中,vApp 位于 vCenter 而不是 ESX 中。所以是的,您需要 vCenter 来导入 VirtualSystemCollection。

      如果您使用的是 Workstation,您还可以尝试免费的 vApprun 工具: https://labs.vmware.com/flings/vapprun

      【讨论】:

        【解决方案3】:

        这是我成功地将此类 OVF 映像导入我的免费 ESXi 服务器的方法。 在 OVF 文件中,一个 XML 元素 VirtualSystemCollection 定义了 vApp。 您可以手动编辑 OVF 文件并删除或注释此部分,如下所示。一旦使用 VMware OVF Tool 转换 OVF 映像,这将允许在没有 vCenter 的情况下将 VM 导入 ESXi。

           <!-- 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

        可以使用 VMWare OVF Tool 将 OVF 转换为 VMX。在命令行中它看起来简单如下:

        ovftool <path_to_source>/<myvm>.ovf <path_to_target>/<myvm>.vmx
        

        【讨论】:

        • 当然这意味着您没有在 vApp 中定义多个 VM。 OVF 文件的 &lt;VirtualSystemCollection&gt; 元素中的多个 &lt;VirtualSystem&gt; 元素。
        猜你喜欢
        • 1970-01-01
        • 2015-10-17
        • 1970-01-01
        • 2017-06-24
        • 1970-01-01
        • 2021-07-04
        • 2018-12-20
        • 2015-05-16
        • 2018-06-03
        相关资源
        最近更新 更多