【问题标题】:Set CPU affinity for specific VM on VMware ESXI using govc CLI使用 govc CLI 在 VMware ESXI 上为特定 VM 设置 CPU 关联
【发布时间】:2021-04-23 20:22:15
【问题描述】:

我有 shell 脚本,可用于在我的 VMware ESXi 主机上以编程方式配置我的虚拟机 (VM)。我使用“govc”命令行界面 (CLI),它提供了一套命令来配置在我的 ESXI 上运行的虚拟机(即开机、设置内存等...)

我现在正在尝试为我的一些虚拟机设置 CPU 亲和性(即 VM #2 应该使用 CPU 9-16,而 VM#1 应该使用 CPU 2-8)。 但是,我无法找到任何 govc 命令以编程方式执行此操作,但我可以非常清楚地看到如何在 ESXI 基于 Web 的 GUI 中执行此操作:

我在这里参考了 govc API 的命令,但同样,我找不到任何东西。应该为特定的 VM 设置 CPU 亲和性,并且应该有一个由逗号分隔的 CPU 编号参数或用连字符 (-) 分隔的范围,我想:

govc usage

如何解决 VMware ESXi 和 govc 的这个问题?

【问题讨论】:

    标签: vmware esxi affinity govmomi


    【解决方案1】:

    作为Kyle Ruddy stated,它无法通过 govc 完成,但可以通过在 ESXi 数据存储上找到您的相应虚拟机的 .VMX 文件并将此行添加到您的 .vmx 文件中来完成。

    sched.cpu.affinity = 1,2,3,4,5 // Values are separated by commas
    

    您可以通过选择虚拟机并进入其设置来仔细检查您的 ESXi,您将看到您通过 VMX 文件设置的 CPU 调度关联范围

    当然,如果你有很多 CPU,你可以让一些带有 for 循环的脚本(Bash 等)填充逗号分隔的 CPU 值。

    【讨论】:

      【解决方案2】:

      正如 Doug 在 your issue 中提到的那样,这不是在 govc 级别启用的配置。

      或者,您可以使用其他 CLI,例如基于 PowerShell 的 PowerCLI,具有更多的覆盖区域,可用于此类更深入的任务,或者使用完全 API 覆盖的 govmomi SDK。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-06
        • 2019-10-01
        • 2019-07-30
        • 1970-01-01
        • 1970-01-01
        • 2014-01-07
        • 2021-05-07
        • 1970-01-01
        相关资源
        最近更新 更多