我最近将 HP 服务器从一个使用的 CPU 插槽(4 核 + HT = 8 核)升级到 2 个使用的 CPU 插槽(16 核)。
但是,我只能为虚拟机分配 8 个核心。当设置为 16 时,在“新建虚拟机向导”中默认会恢复为 8 个,而当从现有虚拟机更改时,会显示红色警告:“VCPU 数量超过物理 CPU 可能会导致虚拟机性能下降”。单击“确定”仍会默认为 8 个核心,而不是 16 个。
但是我的 xenhost(dom0)确实分配了 16 个 CPU,并且实际上可以识别它们。
我想知道为什么我无法向一台机器添加超过 8 个 vCPU。
在进行服务器升级之前,我能够分配 8 个 vCPU,因此它与 HT 无关。
答案1
XenServer 支持在客户机中使用超过 8 个虚拟 CPU,但是 XenCenter GUI 界面对其硬性限制为 8。如果要为客户机使用超过 8 个 VCPU,则必须通过“xe”命令行进行操作:
xe vm-param-set uuid=your_vms_uuid VCPUs-at-startup=16
xe vm-param-set uuid=your_vms_uuid VCPUs-max=16
要找到“your_vms_uuid”,您可以使用:
xe vm-list name-label=VMname
其中“VMname”是您在 XenCenter 中分配的人性化名称。
现在,我已经告诉你分配超过 8 个的秘诀,我必须警告你你可能不想这样做。更多 vCPU 并不一定意味着更高的性能,尤其是当此 XenServer 实例上运行多个 VM 时。还要注意,HT CPU 并不等于完整的额外 CPU。
我能想到的唯一一种情况是,如果您对应用程序进行 1:1 虚拟化,并且该应用程序已被证明能够很好地扩展到您尝试使用的 CPU 数量,那么您会希望将所有物理 CPU 移交给单个客户机。否则,您只会在虚拟机管理程序中造成额外的 CPU 调度开销。