- ベストアンサー
物理サーバへ導入可能な仮想マシンの最大数
- 1台の物理サーバには、32スレッド分つまり32台分の仮想マシンを構築可能か?
- ホストの処理に余力を残すため、どの程度メモリ、CPUに余裕を持たせればよいのか?
- 質問者は大学の研究で、1台の物理サーバにRHEL6を入れて、30台前後のRHEL6の仮想マシンを導入したいと考えている。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
仮想化に関しては、オーバーコミットができることが一つの大きなメリットであることを頭に入れておいた方がよろしいかと思います。 すべてのVMが常にCPUを使いきっている状態というのであれば別ですが、CPUは使用可能コア数より多くの割り当てがされている場合がほとんどだと思います。 メモリに関してもそうですが、当然構築時にはある程度の設計思想を持つのは必須ではあります。 でも実際にはリソースを監視しながらそれぞれの要求に最適な値を探って行きながらの運用は覚悟した方が良いでしょう。 ご質問の内容はマニュアルやネットを探せば答えは得られるはずですが、いずれにしてもすべての状況における「正解」は自分で探すしかありません。 。。。という前置きで、 >(1)CPUがハイパースレッディングに対応しているので、仮想マシン一台あたりに仮想CPUを一つ割り振れば、32スレッド分つまり32台分の仮想マシンを1台の物理サーバに構築可能ということか? まあそうです。 でも極端な話、8コアだってご要望の構築は可能ですし、もしかしたらそれで必要十分な場合もありえます。 >(2)ホストの処理に余力を残すため。メモリ容量、CPUの限界まで仮想マシンを導入しないほうがよいのか?その場合、どの程度メモリ、CPUに余裕を持たせればよいのか? ハイパーバイザが使用するメモリ量の目安はマニュアルに書かれていると思います。 VMへのメモリ割り当ての方法にもよりますが、コミットさせたいのなら割当メモリ合計+ハイパーバイザー分+αがないとVMが起動できません。 従いまして、設計思想によるので一概に回答はできません。 参考までに、うちの会社の商用(共用)環境では、サービスの内容によりますがCPUは100%~140%で多くはオーバーコミットしております。 メモリはいずれもオーバーコミット無しです。
その他の回答 (3)
- vaidurya
- ベストアンサー率45% (2714/5983)
予算計上の前に、実験すべきなんじゃないですか? 別に、高価なRHELを買わなくても、予備実験段階では CentOSやScientific Linuxで構築して 仮想マシン一台あたりのメモリー消費状況を確認した上で それを徐々に増やして推算すれば、32GBでなんとかなるのか? それとも128GBくらい必要なのかもわかるでしょう。 結局、Linux系OSで軽量なGUI環境であれば 起動時のメモリー消費が256MBを切るのは普通です。 サーバーや科学技術計算なら、OS自体はGUI無しで より小さなメモリーで済むでしょう。 ですが、その上で動くソフトが、OSの何倍ものメモリーを消費するのはよくあることです。 学生の自作ソフトであれば、ソフトの効率化が為されていないために 1GBで動くシステムを、2GB浪費して動くように作ることもあるでしょう。 ですから、実際のメモリー消費は、実践と経過観測によってのみ判断できます。
- wormhole
- ベストアンサー率28% (1626/5665)
>(1)cpuについて、とりあえず動くと言う形ではなく、cpu競合が起こらないようにするという観点ならスレッド分の仮想cpuを割り当てると言う考え方は正しいでしょうか? ハイパーバイザによるとしかいいようがないかと。 >(2)メモリについて、できるだけ余裕があれば良いのはわかるのですが、スワップが起きないようにするためにどれぐらい容量があればといった考え方を御教授していただきたいです。 基本的な考え方は#1の(1)に書いていますけど? 詳細を知りたいのでしたら #2 の方の書かれているようにマニュアルを参照してみてください。
- wormhole
- ベストアンサー率28% (1626/5665)
(1) ホストマシンのCPU数/仮想マシンのCPU数=仮想マシンの最大数 なんて事はないです。 実用的かどうかは別として、仮想マシンのCPU数×仮想マシン数がホストマシンのCPU数より大きくても動きますから。 問題になるとすればメモリの方でホストマシンが32GBで、メモリが1GBの仮想マシンを32台分という事だとメモリが足りてませんのでスワップしまくりになりますよ? メモリが1GBの仮想マシンを動かすのにはホストマシン側は1GB+α必要ですし、ホストOSが動くためのメモリも必要なんですから。 (2)具体的数値を出せたりはしませんがメモリは余裕があった方がいいです。
補足
回答ありがとうございます。 (1)cpuについて、とりあえず動くと言う形ではなく、cpu競合が起こらないようにするという観点ならスレッド分の仮想cpuを割り当てると言う考え方は正しいでしょうか? (2)メモリについて、できるだけ余裕があれば良いのはわかるのですが、スワップが起きないようにするためにどれぐらい容量があればといった考え方を御教授していただきたいです。