仮想化技術のメリットとデメリット

2011年2月1日(火)
宮原 徹(みやはら とおる)

仮想化技術のメリットとデメリットを検討する

前述した6つの物差しを使って、仮想化技術を導入するメリットとデメリットを検討してみよう。ここで想定しているシステムは、バックエンドにデータベースを置いたWebアプリケーションが、複数存在するシステムである。負荷はそれほど高くないため、従来の物理サーバーではCPUなどのリソースを十分に活用しきれていない。ハードウエア・リプレースのタイミングで仮想化環境に移行させたい、と考えている。

比較検討の対象としては、(1)従来通り、物理サーバーを多数並べるパターン、(2)仮想化されたサーバーを並べるパターン(プラットフォームとしてラックマウント型サーバーを使用)、(3)仮想化されたサーバーを並べるパターン(プラットフォームとしてブレード・サーバーを使用)、の3通りを比較する。

図1: 物理・仮想化 比較一覧表

図1: 物理・仮想化 比較一覧表

導入コスト

個々のサーバーに物理サーバーを利用する導入方法は、CPUやメモリーといったハードウエア・リソースを使い切ることができないため、その分の投資コストが活用できないことがデメリットになる。いくつかの調査では、リソース利用率はおおむね20~30%程度にとどまると言われており、3分の2近くのリソースは遊んでいて、ただ電気を食っているだけということになる。仮想化することで、このようなリソース・コストの無駄を大きく削減できる。

最近では、ブレード・サーバーが進化して集約率が高くなったため、同じ程度のシステムを構成する場合、物理サーバーの選択として、ブレード・サーバーで組んだ方が安くなることが多い。台数が少ない場合にはブレードのメリットを出しにくいが、ある程度台数がまとまるのであれば、ブレード・サーバーを導入する方が、全体としてのメリットが高くなる。

ランニング・コスト

昨今では、外部向けのサーバーだけでなく、内部のサーバーもデータ・センターに設置し、VPNなどで接続するようになってきた。このため、設置用のラックを借りるコストや電気代がかさむようになった。小規模ならばともかく、中規模以上になると、ちょっとした違いの積み重ねでラックが1本、2本と増えていってしまう。設置スペースをできるだけ減らそうとしたら、仮想化環境が有利である。

実は、最近のサーバー・ハードウエアは、驚くほど消費電力が低くなってきている。このように、電気容量が少なくて済むことや電気代が安く抑えられる点も、考慮しておきたい。

管理コスト

サーバーの管理作業を時間軸で捉えると、驚くほど待ち時間が長いことが分かる。OSのインストール、パッチ適用、バックアップなど、システムの肥大化に合わせて、これらの作業にかかる時間は長くなる一方だ。また、システムが複雑化することによるタスクの増大など、目に見えないかたちで管理コストは上がり続けている。

このような状況に対して有効な手段は、管理の標準化だ。単純化といっても良い。できるだけ例外的な作業を少なくして、集中的に作業を行う。また、さまざまなルーチン・ワークを自動化することも重要だ。これらの標準化や自動化にとって、物理サーバーは制約が多く、向いていない。各マシンを論理的な存在として扱うことができる仮想化環境は、標準化や自動化に適した環境である。

拡張性

物理サーバーに備わっている拡張性は「必要になったらマシンを増やす」という方法だけだが、設置スペースや供給電力の問題、あるいは調達にかかる時間(通常1カ月はかかる)などを考えると、拡張性に制約が多い。仮想化の場合、リソースに余裕があれば、簡単に仮想マシンを増やしていくことができるので、拡張性の点で大きなメリットがある。

ハードウエアのリソースが不足した場合に増設が行いやすいブレード・サーバーは、システムが拡張を続けていくことが見込める場合に便利だろう。

耐障害性

システム障害のうちでも、特にハードウエア障害は、システムの継続性に大きな影響を与える。例えば、物理サーバーに電源が入らなくなると、ハード・ディスクの中にあるデータを読み出すことは困難となる。このような問題を解決するために、クラスタリングによるフェール・オーバー冗長化構成やFT(フォールト・トレラント)マシンの採用などが行われてきた。ただし、これらの対応は重要なシステムに限られていた。これらの対策をシステムすべてに対して適用することは、物理サーバーをベースにしたシステムでは困難だった。

仮想化環境では、システム全体が冗長化構成となる。ハードウエア障害が起こった物理マシンの上で動作していた仮想マシンは、ライブ・マイグレーション機能によって、システムをシャット・ダウンさせることなく別のマシンに移動させることができる。フェール・オーバーで再起動させることも可能である。こうした、システムの動作継続性を高める仕組みの恩恵を、特別な設定なしで享受できる。

図2: 仮想化環境でのHA動作

図2: 仮想化環境でのHA動作

ブレード・サーバーは、集約度が高い反面、電源や冷却ファン、ネットワーク・スイッチなどを共用する仕組みになっているため、どうしても単一障害点(SPOF)ができやすい。それぞれのパーツは、冗長化されてはいるが、きょう体として1つにまとまっているため、きょう体そのものの障害がSPOFとなり、これを排除することができない。ラックマウント型のマシンを利用して仮想化環境を構築するメリットの1つとして、障害点を極小化できるという点があることを挙げておきたい。

性能

性能は、仮想化環境における課題の1つである。CPUやメモリーなどは十分に高速であるため、仮想化環境においても大きな性能劣化は見られない。一方、I/Oは、相対的に性能が低いリソースであるため、仮想化することによって性能が劣化してしまうと、仮想化しない場合との比較において、性能劣化が激しいように見える。純粋に性能だけを追求するのであれば、仮想化は向いていないだろう。

著者
宮原 徹(みやはら とおる)
日本仮想化技術株式会社 代表取締役社長兼CEO

日本オラクルでLinux版Oracleのマーケティングに従事後、2001年に(株)びぎねっとを設立し、Linuxをはじめとするオープンソースの普及活動を積極的に行い、IPA「2008年度 OSS貢献者賞」を受賞。2006年に日本仮想化技術(株)を設立し、仮想化技術に関する情報発信とコンサルティングを行う。現在は主にエンタープライズ分野におけるプライベートクラウド構築や自動化、CI/CDなどの活用について調査・研究を行っている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています