完整的 vSphere 新手在这里...
背景:
我有一台 12 核机器,上面有 24 个虚拟机。目前,所有处理能力均由这些虚拟机平均分配。
问题是:
无论其他机器上发生什么情况,我是否可以配置一个虚拟机,让其拥有两个 CPU 来处理?
我的研究:
我在 vSphere 中尝试了两件事......
我将一台虚拟机上的预留和限制设置为与两个核心相同。为了测试我的目标是否达到,我测量了当其他虚拟机没有运行任何操作和其他虚拟机正在运行 CPU 密集型操作时压缩文件所需的时间。我预计压缩文件所需的时间相同,因为此虚拟机在某些处理方面具有优先权。不幸的是,当其他虚拟机正在运行某些操作时压缩文件所需的时间比其他虚拟机没有运行任何操作时要长得多。
我尝试将超线程核心共享模式设置为内部,希望这意味着我的虚拟机至少会获得一个完整的核心。但这也没有用。
提前致谢!
答案1
您可以通过将份额设置得更高,使该机器的优先级高于其他机器。更多信息这里。
答案2
CPU 资源分配如下:1 个虚拟插槽 CPU = 1000 正常份额。
因此,当您提供 2 个 vCPU 时,您将拥有 2000 的份额,并且该 VM 在物理主机处理方面将比仅拥有 1000 份额的 VM 具有更高的优先级。
您可以通过编辑其设置并在资源选项卡中定义资源分配(低、正常、高甚至自定义)来欺骗任何虚拟机上的配置。
低将为您提供相当于 500 x nb vCPU 的份额。
正常情况下会给您相当于 1000 x nb vCPU 的份额。
High 将为您提供相当于 2000 x nb vCPU 的份额。
自定义将为您提供与您输入的金额相等的份额
最好避免为了这种目的设置 VM 限制。