我有shell脚本,用于在我的VMware ESXi主机上以编程方式配置虚拟机(VM)。我使用"govc“命令行接口(CLI),它提供一组命令来配置运行在ESXI上的VM(例如,打开、设置ram等)。
我现在正在尝试为我的一些虚拟机设置CPU关联(即VM #2应该使用CPU 9-16,而VM#1应该使用CPU 2-8)。但是,我无法找到任何命令以编程方式完成此操作,尽管我可以非常清楚地看到如何在ESXI基于web的GUI中执行此操作:
这里我引用了的 API作为命令,但是我仍然找不到任何东西。CPU关联应该设置为特定的VM,并且对于一个范围,应该有一个用逗号分隔或用连字符(-)分隔的CPU编号的参数,我想:
https://github.com/vmware/govmomi/blob/master/govc/USAGE.md
我如何用VMware ESXi和govc来解决这个问题?
发布于 2021-01-28 21:34:37
作为凯尔·鲁迪,它不能通过ESXi完成,但是可以通过在ESXi数据存储上为您各自的VM找到您的.VMX文件,然后简单地将这一行添加到您的.vmx
文件中。
sched.cpu.affinity = 1,2,3,4,5 // Values are separated by commas
通过选择VM并进入其设置,您可以再次检查ESXi,您将看到通过VMX文件设置的CPU计划的亲和范围。
当然,如果您有大量的CPU,您可以有一些脚本(Bash,等等)。使用for循环填充逗号分隔的CPU值。
发布于 2021-01-21 14:12:54
正如道格在你的问题中提到的那样,这不是在政府一级启用的配置。
或者,您也可以使用其他CLI,比如基于PowerCLI的PowerShell,并且有更多的覆盖区域,用于更深入的任务,例如,具有完全API覆盖率的govmomi。
https://stackoverflow.com/questions/65793123
复制相似问题