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

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

GMO最新ネット業界レポートで新しくスタートしたソリューション編。執筆を担当するのは、マイクロソフト社の技術を活用してホスティングサービス、グループウェア、サーバー仮想化技術を使ったクラウドサービスなど、GMOインターネットのさまざまな事業の立ち上げにかかわり、高い評価を受けているGMOインターネット株式会社 事業本部 樋口 勝一。今回は『サービス開発者から見たWindows Server 2008 R2 Service Pack 1』と題し、ホスティングサービスを提供する視点からみたSP1を語る。

はじめに

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

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

さて、ここからが本題です。 今回のSP1の目玉の一つ、Dynamic 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の効果を実際に見てみましょう。

*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。

著書の紹介欄

Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!

できるPRO Windows Server 2016 Hyper-V

◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。

初めてのWindows Azure Pack本が発売

Windows Azure Pack プライベートクラウド構築ガイド

本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。

ブログの著者欄

樋口 勝一

GMOインターネットグループ株式会社

1999年6月GMOインターネットグループ株式会社に入社。Windows Serverをプラットフォームとしたサービス開発から運用・保守まで幅広く担当。講演登壇や出版、ネット記事連載などでマイクロソフト社と強い信頼関係を構築。「マイクロソフトMVPアワード」を15度受賞し、インターネットソリューションのスペシャリストとして活躍。

採用情報

関連記事

KEYWORD

TAG

もっとタグを見る

採用情報

SNS FOLLOW

GMOインターネットグループのSNSをフォローして最新情報をチェック