web-dev-qa-db-ja.com

OpenStackで実行できるコア/ VCPUあたりのVMの数

クラウド環境でのVMの動作と移行をモデル化するために、シミュレーションツールに取り組んでいます。

私は、DevStackを使用して、大学の安価な通常のハードウェアPCに4ノードの小さなOpenStackクラスターをデプロイしました。実際に使用可能なvCPUよりも多くのVMを実行できなかったことを覚えています。これがDevStackの制限なのか、それとも通常のPCハードウェアを使用していたのかはわかりません。

各VMにCPUが1つしかない場合、2チップ、チップあたり8コア(合計16コア)、コアあたり2ハードウェアスレッド(合計16コア)のCPUを搭載したホストで実行できるVMの数。 [1]?の仕様のように合計32のハードウェアスレッド)。

32個のVM(VMごとに1個のCPU)を実行できると考えるのは合理的でしょうか?もっと走ってもいいですか?ハードウェアスレッド/コアごとにいくつのVMを実行できますか?

[1]例で使用されている仕様: http://www.spec.org/power_ssj2008/results/res2012q4/power_ssj2008-20121031-00575.html

どうもありがとう。

2
Albert Vonpupp

OpenStackでは確かに CPUリソースのオーバーコミット が可能ですが、オーバーコミットできる量は ローカル構成 によって制限される可能性があります。デフォルトでは、比率は16:1です。つまり、実行中のすべてのVMの物理CPUコアごとに最大16の仮想CPUコアを実行できます。

ほとんどのワークロードはCPUにあまり負荷をかけないため、通常、CPUをオーバーコミットすることは理にかなっています。ただし、一部のワークロードはCPUを非常に集中的に使用する可能性があるため、オーバーコミットを制限したい場合があります。大学生が運営するものは、しばしばこのカテゴリーに分類されます... :)

オーバーコミット率が1:1に変更された場合、CPUをオーバーコミットすることはまったくできず、物理CPUコアよりも多くのvCPUを実行するように制限されます。これは、DevStackの問題の最も可能性の高い説明のようです。

また、単一のVMは、計算ノードに存在する物理CPUよりも多くのvCPUを持つことはできません。ただし、物理CPUコアよりも多くのVMを実行しても問題はありません。

3
Michael Hampton