特集
» 2007年09月20日 05時00分 公開

仮想化技術のボトルネックはどこにある?仮想化の達人

仮想化の導入を失敗させないための想定問答集。今回は、仮想化技術のボトルネックとして注意すべきポイントを紹介する。

[西尾泰三,ITmedia]

このコンテンツは、オンライン・ムック「仮想化の達人」のコンテンツです。関連する記事はこちらでご覧になれます。


質問

当社は全国に数十カ所の営業所を持っています。現在、それぞれの営業所内で稼働しているサーバのうち、ファイルサーバ、メールサーバ、グループウェアサーバについて、1カ所に集約したIT基盤を構築し、そこで集中管理することを検討しています。仮想化技術を用いて1台の物理サーバ上に仮想サーバとして稼働させることを考えていますが、注意すべきポイントなどがあれば教えてください。


回答

 まず最初に申し上げておきたいのは、「仮想化したい」ということを目的としてしまうと、本来の目的を見失ってしまうことがあるので、その点は常に意識してください。

 ご質問のケースですと、運用管理の効率化を図る(もちろんその延長線上にはコスト削減もあるかと思いますが)ために、地方にある営業所のサーバを統合することが主目的であると思います。もちろん、仮想化によってこれらのサーバを統合することは可能でしょう。ただし、それによって運用管理が複雑になったり、エンドユーザーの立場で言えば、システムが快適に使えなくなるリスクも生じます。こうした事情も踏まえた上で、プロジェクトを進められることをお勧めします。場合によっては、地方の営業所に存在するサーバを仮想化技術を用いて各営業所で統合するステップを間に挟んだり、統合化と仮想化を順番に採用するなど、段階的な導入なども検討してください。

 さて、質問にあるようなプロジェクトを進めるとして、ポイントとして挙げておきたいのは、ボトルネックについてです。仮想化技術を採用する場合にボトルネックとなる部分は幾つか挙げることができます。例えば、「仮想マシンモニタ」のボトルネックです。仮想サーバが物理サーバのリソースを利用する際、その管理や制御は仮想マシンモニタが行いますが、この仮想マシンモニタの負荷が性能のオーバーヘッドになり得ます。さらに、「Virtual Server 2005 R2」のようにホストOSを必要とする仮想サーバ製品と、「VMware ESX Server」のように必要としない製品のように、実装方法が異なればそのオーバーヘッドも変わってきます。

 とは言え、最新のCPUを搭載するハードウェア上で旧来のシステムを仮想化して稼働させるといったケースでは、CPUの処理能力が向上していることを考えれば、それほど深刻ではありません。むしろ、現時点で仮想化技術を採用しようとする場合に特に注意が必要なのは、処理負荷の高いメモリとI/Oの部分です。

 それぞれの物理サーバでシステムを稼働させている場合は、あまり意識されないかもしれませんが、同じ系統のリソースを消費する仮想サーバを同一の物理サーバ上で複数稼働させる場合は、リソースの競合が発生しやすくなるため、結果として性能が著しく低下する場合があります。グループウェアサーバのように、出社直後など一定の時間帯に急激にトランザクションが集中するようなサーバと、ディスクI/Oが比較的頻繁に発生することになるメールサーバなどを仮想化し、同一の物理サーバ上で稼働させると、ディスクI/Oがボトルネックを発生させるケースがあります。また、ファイルサーバも扱うデータによっては、1回のI/Oで大きなデータを転送する必要がありますので、こうしたサーバを1台の物理サーバにまとめてしまうのは避けた方がよいでしょう。

 メモリについても同様のことがいえます。1台の物理サーバ上でメモリを大量に使用するアプリケーションが稼働する仮想サーバが幾つも稼働していると、当然ながら物理メモリが不足し、ディスクスワップによるI/O処理の遅延が発生することがあります。

 ご質問のケースでは、むしろネットワークがボトルネックになりやすいかもしれません。それまでは各営業所に存在してたサーバを1カ所に集約するということは、各営業所からはネットワーク経由でアクセスすることになります。その場合、WANの帯域が十分に確保できないのであれば、応答性能が悪くなり、エンドユーザーのパフォーマンスは低下することになります。

 いずれにせよ、物理サーバ上で複数の仮想サーバを同時に稼働させる場合は、同じリソースを大量に消費する仮想サーバがほかに存在していないかどうか、存在しているとすれば、それを別の物理サーバに逃がすなど、組み合わせを考慮してください。

 これらは本来、サーバのサイジングをしっかりと行うことで防ぐことができるたぐいのものですが、仮想化技術の導入ではまだ十分にサイジングの手法が確立しているとは言い難い状況です。このため、まずは社内で現状の運用状況や稼働のピークなど、十分に精査しておくことをお勧めします。

I/Oのオーバーヘッドも改善傾向に

 今回紹介したように、仮想化におけるI/Oのオーバーヘッドは、常に注意して考えておく必要があります。ただし、こうしたI/O処理の仮想化についても、ハードウェアレベルで進んでいます。

 例えばIntelとAMDは、それぞれ「Intel VT-d」「AMD IOMMU」といったほぼ同種のI/O仮想化技術を提供する準備を進めています。両社の技術は細かな点で違いはありますが、基本的には、仮想メモリ空間と物理メモリ空間のマッピング情報を処理するものです。これにより、仮想化ソフトウェアが介在することなしにI/O処理が行えるようになるため、I/Oに対する処理の高速化が期待されています。

関連キーワード

サーバ | 仮想化 | 運用管理 | Intel対AMD | AMD | CPU | Intel | VMware


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ