Virtualization

每個核心/vcpu 可以在 OpenStack 中執行多少個虛擬機

  • July 27, 2014

我正在開發一個模擬工具來模擬雲環境中的虛擬機行為和遷移。

我在大學裡使用 DevStack 在廉價的普通硬體 PC 上部署了一個帶有 4 個節點的小型 OpenStack 集群。我記得我不能執行比實際可用的 vCPU 更多的虛擬機。我不確定這是 DevStack 限制還是因為我使用的是正常 PC 硬體。

假設每個 VM 只有一個 CPU,我可以在具有 2 個晶片、每個晶片 8 個核心(總共 16 個核心)和每個核心 2 個硬體執行緒(總共 32 個硬體執行緒)的 CPU 上執行多少個 VM,如規範

$$ 1 $$?. 認為我可以執行 32 個虛擬機(每個虛擬機一個 CPU)是否合理?我能跑多一點嗎?每個硬體執行緒/核心可以執行多少個虛擬機?

$$ 1 $$範例中使用的規格:http ://www.spec.org/power_ssj2008/results/res2012q4/power_ssj2008-20121031-00575.html 非常感謝。

OpenStack 確實允許您過度使用 CPU 資源,但是您可以過度使用的數量可能會受到本地配置的限制。預設情況下,比率為 16:1,這意味著您可以在所有正在執行的 VM 中為每個物理 CPU 核心執行最多 16 個虛擬 CPU 核心。

由於大多數工作負載不是 CPU 密集型的,因此過度使用 CPU 通常是有意義的。但是某些工作負載可能會佔用大量 CPU,對於那些您可能希望限製過度使用的工作負載。大學生經營的東西往往屬於這一類… :)

如果過度使用比率更改為 1:1,那麼您將根本無法過度使用 CPU,並且將被限制為執行的 vCPU 數量不超過物理 CPU 核心。這似乎是您的 DevStack 問題最可能的解釋。

另請注意,單個 VM 的 vCPU 不能多於計算節點中現有的物理 CPU。但是執行比物理 CPU 核心更多的 VM 是沒有問題的。

引用自:https://serverfault.com/questions/615818