特集
» 2015年10月05日 10時00分 公開

IT導入完全ガイド:仮想化の歴史から学ぶ、アプリケーション仮想化が求められるワケ (1/3)

サーバにストレージ、ネットワークやデスクトップなどの仮想化の違いは何か。一般的な技術として広く普及してた仮想化技術の歴史を学ぶ。

[酒井洋和,てんとまる社]

 ホストコンピュータの時代に誕生した仮想化技術は、今では一般的な技術として広く普及していることはご存じの通り。仮想化技術はさまざまな領域で実装されているが、中でもアプリケーション仮想化はスマートデバイスがビジネスシーンで活躍する現在、有効なソリューションとして注目されている。今回は、数ある仮想化技術の仕組みや利用メリットをおさらいしながら、アプリケーション仮想化を理解するための基礎知識を紹介していく。

仮想化の歴史

 仮想化とは、CPUやメモリ、ディスク、OS、アプリケーションなどハードウェア内に閉じた物理的な構成を、論理的に統合、分離可能にする技術のことで、いわゆる「コンピュータが持っているリソースを抽象化」するものだ。

 その概念はコンピュータの黎明期である1960年代に既に登場しており、ユーザー間でコンピュータリソースを共有して利用できるタイムシェアリングの仕組みがその起源とされている。このタイムシェアリングの考え方によって高価なリソースを効率よく利用することが可能となった。

 その後、CPUの高性能化やメモリ価格の低下に伴ってPCサーバが台頭し、安価なハードウェアが多く乱立する分散環境での運用が中心になっていった。しかし、管理対象が増えることで運用負荷が増大し、かつハードウェアの高性能化でリソースを十分に使い切れない状況が顕在化。そこで、リソースの使用率を高めていくために、あらためて仮想化技術が注目されることになる。

 現在では、サーバ仮想化やストレージ仮想化、ネットワーク仮想化、デスクトップ仮想化など、さまざまな領域でリソースを柔軟に活用するための仮想化技術が進化を続けている。どの領域についても共通しているのが、基本的にはハードウェアとソフトウェアの結び付きをなくし、柔軟なリソース活用が可能となっている点だ。

 ここで、それぞれの領域における仮想化技術を簡単に振り返ってみよう。仮想化というキーワードは同一ながら、それぞれ利用している技術や考え方が異なっている。共通しているのはプロファイル情報やソフトウェアを物理環境とは分けて考えていくことができるという点だ。

サーバ仮想化

 仮想化技術として多くの企業で利用されているのがサーバ仮想化だろう。サーバ仮想化とは、物理的なサーバ上で複数のVM(Virtual Machine、仮想マシン)を稼働させることで、これまで使い切れていなかったリソースが効率よく利用できるようになる技術だ。

 具体的には、ハイパーバイザーと呼ばれる仮想化ソフトウェアをハードウェアとVMの間に介在させることで1つのサーバ上に複数の環境を稼働させることが可能になる。企業で活用されているハイパーバイザとしては、VMwareの「VMware vSphere Hypervisor」やシトリックスの「XenServer」、そしてマイクロソフトの「Microsoft Hyper-V」などがある。

 なお、前述した製品群は主に「ベアメタル型(ハイパーバイザー型)」と呼ばれているが、他にも、ハードウェアと仮想化ソフトウェアの間にホストOSが介在する「ホストOS型」が存在する。ホストOS型の場合はそのOS処理自体にリソースが割かれてしまうため全体のオーバーヘッドが大きくなる傾向にあり、現在はベアメタル型が主流となっている。

サーバ仮想化イメージ 図1 サーバ仮想化イメージ

ストレージ仮想化

 ストレージ仮想化は、ハードウェアの物理的な制約からストレージを解放する技術で、実際にはディスクやブロック、ファイル、ファイルシステム、テープそれぞれに関連した仮想化技術が存在しており、その範囲は多岐にわたっている。他にも、環境の異なる複数ストレージ装置を仮想的に1つのストレージとして使用できるようにした装置全体の仮想化技術もある。身近な例を挙げると、複数のディスクを1つのストレージとして扱うRAIDなどもストレージ仮想化として位置付けることが可能だ。

 ここでは深く掘り下げないが、複数のストレージをプール化して管理しながら、その合計容量を越えた形でサーバに仮想ディスクを割り当てる「シンプロビジョニング」技術や、ディスクに書き込まれる際のI/O処理を監視してデータごとの使用頻度を特定し、SSDやSATAディスク、SASディスクなど階層分けされた領域に動的に移動させるストレージ階層の仮想化技術などは注目の技術となっている。

ネットワーク仮想化

 ネットワーク仮想化は、ネットワーク機器が物理的に持っていたポートプロファイルなどを抽象化し、柔軟なネットワークリソースの再配置が可能になる技術だ。このネットワーク仮想化は、既存技術を拡張する方法とソフトウェアによって柔軟に制御するという2つのアプローチが中心となっている。

 前者は一般的に利用されているVLAN技術を拡張した技術であり、VMwareやCiscoが中心となって進める「VXLAN」やマイクロソフトが提唱する「NVGRE」などのプロトコルを利用し、VIDのフィールド拡張を行うことで柔軟にネットワークの拡張が可能になる。

 後者はソフトウェアでネットワークを制御するSDN(Software-Defined Network)と呼ばれる考え方で、注目されているのがネットワーク制御プロトコル「OpenFlow」だ。OpenFlowでは、OpenFlowコントローラーと呼ばれるコンポーネントを用いてOpenFlow対応のスイッチ制御を行うもので、異なるベンダー間でもソフトウェアで経路制御を柔軟に行うことが可能だ。

 ただし、ネットワーク仮想化はいまだ黎明(れいめい)期にあり広く普及しているものではない。それでも、ネットワーク機器を多数保有している通信事業者やデータセンター事業者は既に実装しているところも少なくない。

デスクトップ仮想化

 デスクトップ仮想化は、仮想化したクライアント環境をサーバ上に集約し、サーバ側で実行することが可能な技術だ。利用者はネットワーク経由でサーバ上にある仮想クライアントOSにアクセスし、キーボードやマウスの入力情報に応じてサーバ上で実行された結果の画面情報が転送される。

 つまり、サーバ上にあるデスクトップOSをクライアントに配信する技術になる。製品によっては一時的にクライアント側に環境を転送することでオフラインにも対応可能な仕組みもある。利用するクライアントごとにインスタンスがサーバ上に立ち上がるのが基本だが、中にはWindows ServerなどサーバOSのデスクトップ画面を利用者で共有して配信する仕組みもあるなど、用途によってさまざまな方式が選択可能だ。

 製品としては、シトリックスの「Citrix XenDesktop」やVMwareの「VMware Horizon View」、マイクロソフトの「Microsoft VDI」などがある。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

ホワイトペーパーや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。