gpt4 book ai didi

python - 使用 pyvmomi 模块从 .vmx 和 .vmdk 文件创建虚拟机

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:10 27 4
gpt4 key购买 nike

我一直在尝试使用 pyvmomi 模块在 Python 中使用来自 ESX 主机的现有虚拟机的 .vmx 和 .vmdk 文件来创建新虚拟机。我是 pyvmomi 的新手,并且没有太多可用于 pyvmomi 的在线帮助。我已经检查了 github( https://github.com/vmware/pyvmomi-community-samples/tree/298bf74446f3fcc5743d6435763ff6dc16ab4cbc/samples )中的示例代码,但没有找到相关内容。请给我指点。

最佳答案

假设 Virtualachine 名称是:1001-web1.myhost.com

那么您要放置的主机系统是:host1.myesxhost.com

主机有一个名为:Local1的数据存储

主机位于名为:Prod的文件夹中

您需要将文件从 VM 获取到 Local1 数据存储中。我会让你弄清楚那部分。它们需要放入名为:1001-web1.myhost.com

的文件夹中

接下来,您需要在 list 中找到文件夹 Prod 和主机系统 host1.myesxhost.com,以便获得它们的 ManagedObjectRef。您可以使用 searchIndex.FindByDnsName 查找主机,并使用 searchIndex.FindByInventoryPath 查找文件夹(或其他一些方法..)

找到文件夹Prod后,您可以使用RegisterVM_Task注册虚拟机。

si = connect.SmartConnect(xxx)
host = si.content.searchIndex.FindByDnsName(None,"host1.myesxhost.com", False)
folder = si.content.searchIndex.FindByInventoryPath(xxx)
task = folder.RegisterVM_Task(path="[Local1] 1001-web1.myhost.com/1001-web1.myhost.com.vmx", name="new vm name", asTemplate=False, pool=None, host=host)

从这里您应该能够监视任务的进程,一旦任务成功完成,task.info.result 将包含新虚拟机的更多信息。

这是伪代码,因此语法可能不正确,但这是您必须遵循的过程。

关于python - 使用 pyvmomi 模块从 .vmx 和 .vmdk 文件创建虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29213289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com