クラウド環境での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
どうもありがとう。
OpenStackでは確かに CPUリソースのオーバーコミット が可能ですが、オーバーコミットできる量は ローカル構成 によって制限される可能性があります。デフォルトでは、比率は16:1です。つまり、実行中のすべてのVMの物理CPUコアごとに最大16の仮想CPUコアを実行できます。
ほとんどのワークロードはCPUにあまり負荷をかけないため、通常、CPUをオーバーコミットすることは理にかなっています。ただし、一部のワークロードはCPUを非常に集中的に使用する可能性があるため、オーバーコミットを制限したい場合があります。大学生が運営するものは、しばしばこのカテゴリーに分類されます... :)
オーバーコミット率が1:1に変更された場合、CPUをオーバーコミットすることはまったくできず、物理CPUコアよりも多くのvCPUを実行するように制限されます。これは、DevStackの問題の最も可能性の高い説明のようです。
また、単一のVMは、計算ノードに存在する物理CPUよりも多くのvCPUを持つことはできません。ただし、物理CPUコアよりも多くのVMを実行しても問題はありません。