次世代デスクトップ転送技術、SPICE入門Inside Linux KVM(1)(1/2 ページ)

この連載では、オープンソースの仮想化ソフトウェア、Linux KVM(Kernel-based Virtual Machine)とそれを支える技術の最新開発動向を紹介していきます。(編集部)

» 2010年06月29日 00時00分 公開
[平初レッドハット株式会社]

はじめに

 この連載では、オープンソースの仮想化ソフトウェア、Linux KVM(Kernel-based Virtual Machine)とそれを支える技術の最新開発動向を紹介していきます。KVMは、完全仮想化機能をカーネルに付け加える仮想化ソフトで、Linuxカーネルに標準で含まれることから、いま開発者の注目を浴びています。

 Linux KVMのメリットは、ハイパーバイザを持たず、Linux自体をホストOSとするため、ほかのハイパーバイザに比べて性能的に優位なことです。一方で、まだ課題もあります。

 いまもLinux KVMの開発はがんがん続いており、KVMとゲストOSの通信に使われるプロトコルの拡張や運用管理ツールの拡充などが進んでいます。まずは、次期バージョンに含まれる予定の画面転送プロトコル、SPICEについて紹介します。その後の回で、libvirtの開発状況なども紹介していく予定です。

仮想化技術でデスクトップが、いま、熱い

 サーバの性能の向上と仮想化技術、ネットブックやスマートフォンの普及により、ユーザーは、どこにいても同じコンピュータリソースにアクセスできるようになりました。そして、仮想化環境上に構築したデスクトップ環境にリモートから接続するという仮想デスクトップ環境(VDI)という考え方が認知され始めています。

 そう、いま、仮想化技術で一番熱い分野がデスクトップです。

 仮想デスクトップを使い、例えば街角のカフェや出張先のホテルなどから、ネットワーク経由で仮想デスクトップのインフラにアクセスできれば、いつも使っているデスクトップ環境、いつも使っているアプリケーションを面倒なインストール作業を行うことなく利用できます。

 ハイスペックで大型液晶が付いたノートパソコンを持ち歩くのが大好きだ! という方には仮想デスクトップ環境は不要でしょうが、仮想デスクトップを利用すると、手元にない計算性能をネットブックなどから利用することができます。

 筆者の日ごろの環境は12コアOpteron搭載のマシンですが、私は仮想デスクトップを利用することにより、その処理性能を場所を問わず利用しています。もし物理的なマシンを買い換えた場合でも、仮想マシンのディスクイメージをコピーするだけで乗り換えられます。かっこいいネットブックが欲しくなったときには、接続クライアントを入れるだけで仮想デスクトップ環境につなぐことができるのです。

 しかし仮想デスクトップ環境にはネットブックなどと違って、物理的なディスプレイは付いていません。では、どのようにアクセスするのでしょうか? そこには何らかのプロトコルが必要です。

 リモートのコンピュータにアクセスするプロトコルとしては、コマンドラインベースであれば、古くはTelnet、SSHなどがありました。グラフィカルインターフェイス向けには、VNCやMS RDP、Citrix ICAなど、商用・非商用含めさまざまな種類があります。これらのプロトコルを使ってリモートの仮想化環境にログインすることで、仮想デスクトップを利用できます。

リモートアクセス 図1 リモートアクセスプロトコルの役割

画面転送プロトコル、SPICEとは

 リモートのコンピュータにアクセスして、手元にあるように利用するだけならば、前述のTelnetやSSHなどでも必要十分な用途を満たすことができます。ですが、これからの画面転送プロトコルには、画面の転送以外に、キーボードやマウス、音声、USBなど、周辺機器も含めて透過的に利用できることが求められてきます。リッチになる一方のアプリケーションへの対応も視野に入れなくてはなりません。

 そこで登場してきたのが、SPICEというプロトコルです。Qumranet(現Red Hat)が提唱した画面転送プロトコルで、2009年12月にオープンソースとして公開されました(関連記事)。

関連記事
SPICE 公式サイト
http://www.spice-space.org/

SPICEの特徴

 SPICEの特徴には次のようなものがあります。

  • オープンソースの画面転送プロトコルである
  • クライアントから遠隔のホスト(OSではない)に接続できる
  • 仮想マシンのゲストOSのネットワーク帯域を使わない
  • LANでもWANでも同じように快適な環境を提供できる
  • CPUとGPUの処理の一部をクライアント側にオフロードできる
  • 高画質なビデオ転送と高音質な双方向音声転送ができる

 ポイントは、インテリジェントなプロトコルがオープンソースで提供されることにより、利便性が格段に向上するという点です。特に、高画質のビデオ転送機能は素晴らしい性能を発揮します。ローカルネットワークであればフルHD画質の映像をコマ落ちなく表示できますし、FOMA、イー・モバイルなどの3Gデータ通信サービスを使った場合でも、YouTube程度の映像なら問題なく楽しむことができます。

SPICE vs VNC

 現在、QEMUで仮想的な画面を提供するバックエンドにはVNCが使われていますが、このVNCとSPICEは、どのような点が異なるのでしょうか。違いをまとめてみました。

  SPICE VNC
BIOS画面の表示 可能 可能
フルカラー表示 可能 可能
解像度の変更 可能 可能
マルチモニタ マルチモニタ対応(4画面まで可能) 1画面のみ
画像転送 図形/画像転送 画像転送
動画再生支援 動画のアクセラレーションが可能 なし
音声転送 双方向の音声転送が可能 なし
マウスカーソル サーバ側/クライアント側制御 サーバ側制御
USB転送 ネットワーク経由でUSB転送可能 なし
暗号化 SSLによる通信の暗号化が可能 なし
表1 SPICEとVNCの比較

 こうして見るとお分かりのとおり、SPICEはマルチモニタに対応しているため、例えば証券会社のディーラー向けのシンクライアントに最適です。双方向の音声転送もできるので、VoIPなどのアプリケーションも特殊な仕組みなしで対応できます。また、動画再生支援機能は、Flashなどのリッチコンテンツを使ったeラーニングコンテンツを快適に動かすために効果を発揮します。

 こうした意味で、SPICEはまさに次世代の仮想デスクトップ転送プロトコルといえるでしょう。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。