WIN1@Codename

Codename

サービス開発者から見たWindows Server 2008 R2 Service Pack 1

はじめに

第1回目は最新の話題、Windows Server 2008 R2 Service Pack 1 のお話です。 SP1の話題についてはネットで数多く見つけることができるはずなので、同じ内容を繰り返しても面白くありません。 そこで、せっかくこういった機会ですのでホスティングサービスを提供する視点からみたSP1のお話をしてみたいと思います。今年の2月17日に公開されたWindows 7およびWindows Server 2008 R2のSP1ではWindowsUpDateで追加されてきた修正パッチをまとめて適用するという意味で一番重要なものとなっています。 WindowsUpdate で適用し忘れているもや、適用失敗となっているものあるかと思いますので、この機会にきっちりとアップデートしておきましょう!

SP1の目玉の一つ、Dynamin Memoryについて

さて、ここからが本題です。 今回のSP1の目玉の一つ、Dynamin Memoryについてです。 Dynamic Memory はかなり話題になっているので興味を引かれている方も多くいるのではないでしょうか。 簡単に言えば、Hyper-Vの環境下で仮想マシンに必要なメモリを動的に割り当て、不要となったメモリはホストが回収するといったものです。 これまでのHyper-Vの仮想マシンの設定では、起動時に割り当てたメモリは起動してから、終了するまでずっと同じまま仮想マシンに割り当てられるものでした。 なので仮想マシン1台に1GBのメモリを割り当て、10台起動した場合はHyper-Vでは10GBのメモリが必要となります。 普通に考えれば「そりゃそうだろ」と当たり前のことですが、これはホスティングする立場からするととても嬉しい話なのです。サービス提供はもちろんお客様に満足していただくためにより良いサービス環境の提供を目指しています。 

ですが、お客様に喜んでいただきつつ、利益も出さねばなりませんから出来るだけコストを抑えなければいけません。 となると、一台のサーバーに限界ぎりぎりまで仮想マシンを搭載してのサービス提供という構成になります。 実際にHyper-Vのホストにはどれくらいのメモリが必要となるのでしょう。 

通常のOS稼動で必要とされているのは最低512MB、推奨は1GB以上の割り当てが必要となっています。 これとは別に、VM数に応じて仮想マシンワーカープロセス(vmwp.exe)が稼動することになるので、1つのvmwpでおおよそですが、3MBほど必要となります。このとき例えばサーバー自体に100GBのメモリが搭載されている場合、ホストに1GBのメモリを割り当てます。 仮想マシンに1GBのメモリを割り当ててサービス提供すると、ぎりぎり99台の仮想マシンを提供できる計算となります。(下図参照) 10台くらいの仮想マシンであればホストに1GBほど割り当てれば十分なのですが、これが99台となるとさすがにホストが1GBというのは心もとない数字となります。 例えばHyper-Vマネージャーで仮想マシンの状態を確認するだけでもすぐにメモリ不足となってしまいます。




以前であればこういった問題が起こらないようあらかじめホストには4GBくらいのメモリを割り当てておき、安定したサービス提供ができるようにしておくべきでしたが、その分利益が減ることになってしまいます。 お客様の満足度と同様、利益の最大化も達成しなければならない立場としては苦々しい思いでした。 ですがDynamic Memoryの登場により、仮想マシンで使用していないメモリを回収したものをホストも利用することが可能です。 搭載されている仮想マシンが多ければ多いほど、回収できるメモリも多くなるので、ホストの安定性が増すという嬉しい状態となります。 

品質を落とすことなくサーバーの安定性向上を期待出来るDynamic Memory

それならDynamic Memory を使えるのなら、仮想マシンに1GBを割り当てたとしても使わないメモリがあるのであれば、その分仮想マシンを増やすことができるのでは? それならいっそう利益を出すことができるのでは? と考える方もいると思います。 当然そういった構成もDynamic Memoryを使用すればできますね。 ですが、サーバー上に100GBのメモリがあり、仮想マシンのメモリ最大値を1GBとして、仮想マシンを何台搭載しますか? 120台の仮想マシンを搭載して、120台の仮想マシンが一斉に1GBのメモリを使い切らないという保証はどこのもありません。 仮想マシンがメモリを要求してもホスト上に割り当てるメモリがないのであれば、仮想マシンは上限の1GBまでメモリを使用することができず、足りないメモリはディスクキャッシュを使用することとなります。

これはパフォーマンスとしてみれば極端に悪くなるもので、お客様の満足とは程遠いものとなります。 120台の仮想マシンすべてが一度に1GBのメモリを使用するという状況は確率は低いかもしれませんが、サービスを提供する以上はまずしてはいけない構成といえます。 現在私が手がけているのはユーザー課金型の有料サービスです。 お客様の満足を最大限にすると共に、利益も最大限追求する必要があります。お客様に約束した以上、ごまかしを入れることなくきっちりとサービス環境を提供することが最大の使命です。 ということで、Dynamic Memory はホスティングサービスを提供する上では品質を落とすことなくサーバーの安定性向上と利益の最大化といった効果を期待することが出来るのです。

次回はDynamic Memoryの効果を実際に見てみましょう。

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://codename2010.blog11.fc2.com/tb.php/184-3e1072d2
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad