每个核心/虚拟CPU可以在OpenStack中运行多less个虚拟机

我正在开发一个仿真工具来模拟VM环境中的虚拟机行为和迁移。

我使用DevStack在大学廉价的普通硬件电脑上部署了一个带有4个节点的OpenStack集群。 我记得我无法运行比实际vCPU更多的虚拟机。 我不确定这是DevStack的限制,还是因为我使用普通的PC硬件。

假设每个虚拟机只有一个CPU,我可以在一个带有两个芯片的CPU,每芯片8个核心(总共16个核心)和每个核心2个线程(总共32个线程)的主机上运行多less个虚拟机,就像[ 1]?

我认为可以运行32个虚拟机(每个虚拟机一个CPU)是合理的吗? 我可以多跑吗? 每个线程/核心可以运行多less个虚拟机?

[1]示例中使用的规格: http : //www.spec.org/power_ssj2008/results/res2012q4/power_ssj2008-20121031-00575.html

非常感谢。

OpenStack确实可以让你过量使用CPU资源 ,但是你可以过量使用的数量可以被本地configuration所限制。 默认情况下,比率为16:1,这意味着您可以在所有运行的VM上为每个物理CPU核心运行最多16个虚拟CPU核心。

由于大多数工作负载不是CPU密集型的,所以过度使用CPU通常是有意义的。 但是一些工作负载可能非常耗费CPU资源,对于那些可能需要限制过度使用的工作负载。 大学生经营的东西往往属于这一类… 🙂

如果过度使用比率更改为1:1,则根本无法过度使用CPU,并且将被限制为不会运行比物理CPU内核更多的vCPU。 这似乎是您的DevStack问题最有可能的解释。

另请注意,单个VM不能拥有比计算节点中的现有物理CPU更多的vCPU。 但是运行更多的虚拟机比物理CPU核心没有问题。