プロが教えるわが家の防犯対策術!

大学での研究のため、1台の物理サーバにRHEL6を入れて、その環境の上にさらにRHEL6の仮想マシンを30台前後導入しようとしています。

導入予定の物理マシンのCPU、メモリ容量は以下のとおりです。
CPU:Xeon E5-2670(2.60GHz、8コア・16スレッド、2プロセッサー)
メモリ:32GB

確認させていただきたいのは以下の2点です。

(1)CPUがハイパースレッディングに対応しているので、仮想マシン一台あたりに仮想CPUを一つ割り振れば、32スレッド分つまり32台分の仮想マシンを1台の物理サーバに構築可能ということか?
(メモリ容量はRHEL6推奨の1GB割り当てる予定。それぞれのマシンではマルチタスクを処理したりといった予定はありません。基本的な処理のみで十分な見込みです。)

(2)ホストの処理に余力を残すため。メモリ容量、CPUの限界まで仮想マシンを導入しないほうがよいのか?その場合、どの程度メモリ、CPUに余裕を持たせればよいのか?
(ホストには特に処理をさせる予定はありません。)

以上、2点について確認させてください。
よろしくお願いします。

A 回答 (4件)

仮想化に関しては、オーバーコミットができることが一つの大きなメリットであることを頭に入れておいた方がよろしいかと思います。


すべてのVMが常にCPUを使いきっている状態というのであれば別ですが、CPUは使用可能コア数より多くの割り当てがされている場合がほとんどだと思います。

メモリに関してもそうですが、当然構築時にはある程度の設計思想を持つのは必須ではあります。
でも実際にはリソースを監視しながらそれぞれの要求に最適な値を探って行きながらの運用は覚悟した方が良いでしょう。
ご質問の内容はマニュアルやネットを探せば答えは得られるはずですが、いずれにしてもすべての状況における「正解」は自分で探すしかありません。


。。。という前置きで、

>(1)CPUがハイパースレッディングに対応しているので、仮想マシン一台あたりに仮想CPUを一つ割り振れば、32スレッド分つまり32台分の仮想マシンを1台の物理サーバに構築可能ということか?

まあそうです。
でも極端な話、8コアだってご要望の構築は可能ですし、もしかしたらそれで必要十分な場合もありえます。


>(2)ホストの処理に余力を残すため。メモリ容量、CPUの限界まで仮想マシンを導入しないほうがよいのか?その場合、どの程度メモリ、CPUに余裕を持たせればよいのか?

ハイパーバイザが使用するメモリ量の目安はマニュアルに書かれていると思います。
VMへのメモリ割り当ての方法にもよりますが、コミットさせたいのなら割当メモリ合計+ハイパーバイザー分+αがないとVMが起動できません。
従いまして、設計思想によるので一概に回答はできません。


参考までに、うちの会社の商用(共用)環境では、サービスの内容によりますがCPUは100%~140%で多くはオーバーコミットしております。
メモリはいずれもオーバーコミット無しです。
    • good
    • 0

予算計上の前に、実験すべきなんじゃないですか?



別に、高価なRHELを買わなくても、予備実験段階では
CentOSやScientific Linuxで構築して
仮想マシン一台あたりのメモリー消費状況を確認した上で
それを徐々に増やして推算すれば、32GBでなんとかなるのか?
それとも128GBくらい必要なのかもわかるでしょう。

結局、Linux系OSで軽量なGUI環境であれば
起動時のメモリー消費が256MBを切るのは普通です。

サーバーや科学技術計算なら、OS自体はGUI無しで
より小さなメモリーで済むでしょう。

ですが、その上で動くソフトが、OSの何倍ものメモリーを消費するのはよくあることです。
学生の自作ソフトであれば、ソフトの効率化が為されていないために
1GBで動くシステムを、2GB浪費して動くように作ることもあるでしょう。

ですから、実際のメモリー消費は、実践と経過観測によってのみ判断できます。
    • good
    • 0

>(1)cpuについて、とりあえず動くと言う形ではなく、cpu競合が起こらないようにするという観点ならスレッド分の仮想cpuを割り当てると言う考え方は正しいでしょうか?



ハイパーバイザによるとしかいいようがないかと。

>(2)メモリについて、できるだけ余裕があれば良いのはわかるのですが、スワップが起きないようにするためにどれぐらい容量があればといった考え方を御教授していただきたいです。

基本的な考え方は#1の(1)に書いていますけど?
詳細を知りたいのでしたら #2 の方の書かれているようにマニュアルを参照してみてください。
    • good
    • 0

(1) ホストマシンのCPU数/仮想マシンのCPU数=仮想マシンの最大数 なんて事はないです。


実用的かどうかは別として、仮想マシンのCPU数×仮想マシン数がホストマシンのCPU数より大きくても動きますから。
問題になるとすればメモリの方でホストマシンが32GBで、メモリが1GBの仮想マシンを32台分という事だとメモリが足りてませんのでスワップしまくりになりますよ?
メモリが1GBの仮想マシンを動かすのにはホストマシン側は1GB+α必要ですし、ホストOSが動くためのメモリも必要なんですから。

(2)具体的数値を出せたりはしませんがメモリは余裕があった方がいいです。

この回答への補足

回答ありがとうございます。

(1)cpuについて、とりあえず動くと言う形ではなく、cpu競合が起こらないようにするという観点ならスレッド分の仮想cpuを割り当てると言う考え方は正しいでしょうか?

(2)メモリについて、できるだけ余裕があれば良いのはわかるのですが、スワップが起きないようにするためにどれぐらい容量があればといった考え方を御教授していただきたいです。

補足日時:2014/04/17 08:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!