クライアントの仮想化とは?
個人用PCなど、ユーザーが直接使うクライアントマシンの仮想化には、単純にWindowsなどのクライアントOSの上で仮想化ソフトウェアを動作させるという方法がある。これはアプリケーションの検証など、複数の環境を同時に利用できるという点ではメリットはあるが、システム管理面やコストといった点でのメリットはほとんどなく、通常のPC利用と変わらないレベルである。一方、サーバと組み合わせたクライアントの仮想化には、システム管理面などでメリットがある。さらに「シンクライアント」を利用することで、クライアントマシンなどの管理が簡単になる。
このシンクライアントだが、かつては単純なハードウェアを利用するため、低コスト化が見込めるといったこともいわれていた。しかし最近では、HDDなどを持たず故障時には単純に交換するだけで済むというハードウェア管理の容易さや、クライアント側にデータが保存されないという特性からセキュリティ面で注目されている。
シンクライアント側のOSはすべての機能を持つ必要がない。つまり、ユーザーインターフェイスの制御などに機能を絞った、簡易的なクライアントマシン(=シンクライアント)を利用できるようになる。これにより実行環境がサーバ側に集約されるため、システム管理が集中して行なえる。
このとき、サーバ側の実行方法には、
- OSのマルチユーザー機能を利用する方法
- 仮想化環境でクライアントOSを実行する「VDI(Virtual Desktop Infrastructure)」
とがある(図1)。前者にはWindows Server 2003付属のターミナルサービスや、シトリックス・システムズのXenApp(旧MetaFrame Presentation Server)などがあり、VDIにはWindows Server 2008 R2搭載のHyper-V 2.0やシトリックスのXenDesktopなどがある。
サーバ側のマルチユーザー機能を利用する場合、ユーザーは同一のサーバOSとその上で動作するアプリケーションを利用することになる。これは「アプリケーション仮想化」と呼ばれることもある。
Windowsのようにサーバ側とクライアント側に同一のアーキテクチャを利用しているのであれば、既存のクライアントアプリケーションをサーバ側へ持っていくことは困難ではない。ただし、たとえばクライアントとサーバでWindowsのリリースタイミングが違う、クライアント用アプリケーションはマルチユーザー利用に対応していない、といった問題が出ることがある。しかし、動作しているOSは1つだけであり、効率的な実行が可能で、多くのユーザーを同時にサポートできるというメリットがある。
これに対して、仮想化ソフトウェアを利用する場合、クライアントごとに別々のOSを起動できる。実行されるアプリケーションも、通常のクライアントPCと同じ環境で動作する。その一方で、仮想化ソフトウェアや複数のOSが同時に動作することになるため、マルチユーザー方式と比較すると実行効率が落ちてしまう。
ただし、最近ではマルチコアプロセッサやブレードサーバなどが登場し、設置面積などに比べて従来よりも大きなプロセッサパワーがサーバで利用可能になった。こうしたことから効率の悪さはあまり問題ではなくなってきた。
(次ページ、「リモートディスプレイの実現方法」に続く)
この連載の記事
-
第7回
ソフトウェア・仮想化
ネットワーク機器で用いられる仮想化技術 -
第6回
ソフトウェア・仮想化
サーバだけじゃない!ストレージ仮想化の重要性 -
第4回
ソフトウェア・仮想化
パーティショニングによる仮想化とは? -
第3回
ソフトウェア・仮想化
実行効率の高いハイパーバイザ型の仮想化ソフト -
第2回
ソフトウェア・仮想化
ホストOS型とハイパーバイザ型の違いを知る -
第1回
ソフトウェア・仮想化
さまざまな仮想化技術の基本を理解する -
ソフトウェア・仮想化
すっきりわかった仮想化技術<目次> - この連載の一覧へ