本文とサイドメニューへジャンプするためのナビゲーションスキップです。

スタートアップガイド

J-Net21 中小企業ビジネス支援サイト

  • J-Net21とは
  • スタートアップガイド
中小機構
  • メルマガ登録
  • RSS一覧
  • お問い合わせ

HOME > 製品・技術を開発する > デジ・ステーション

デジ・ステーション


5分でわかる最新キーワード解説
Xenってなんだ?!

日々進歩するIT技術は、ともすると取り残されてしまいそうな勢いで進化の速度を高めています。そこでキーマンズネット編集部がお届けするのが「5分でわかる最新キーワード解説」。このコーナーを読めば、最新IT事情がスラスラ読み解けるようになることうけあい。忙しいアナタもサラっと読めてタメになる、そんなコーナーを目指します。今回のテーマは「Xen(ゼン)」。そもそもはギリシャ語に由来する名前ですが、日本語の「禅」を連想させるため、日本ヒューレット・パッカードは、2005年10月に開催したXenの研究発表会の会場に、禅宗寺院である臨済宗建長寺派の大本山鎌倉建長寺を選ぶという粋な計らいをしたほどです。仮想化技術を使えば、1台のマシン上で複数の異なるOSを同時に実行させることができます!

Xenとは

Xen(ゼン)とはコンピュータの仮想化技術を実現するオープンソースソフトウェアのこと。こうした機能を持つソフトは通常「仮想マシンモニタ(VMM=Virtual Machine Monitor)」と呼ばれ、単一のコンピュータを複数のコンピュータであるかのように分割して使うためのものである。Xenを導入すると、1台のIAサーバ上で複数のOS(LinuxやWindows XPなど)を同時に実行することができるようになる。Xenは英国ケンブリッジ大学コンピュータ研究所で誕生したが、元々はXenoServer project(広域分散コンピューティング環境)の一部として、1CPU のx86サーバ用の高性能な仮想マシンモニタとして開発が始められた。その後、Xenを最初に手がけた開発者らにより、2005年初頭にXenSource社が設立され、現在は XenSource社が中心となって Xenオープンソースコミュニティが運営されている。XenSource社ではオープンソースである Xenプロジェクトの支援・運営だけでなく、Xenを中核とした企業向け商用パッケージの開発も手がけている。Xenはhttp://www.xensource.com/(英語サイト)から入手することが可能で、コンパイル済みのパッケージとして現在(2006年9月15日)Xen 3.0.2 が配布されている。パッチなどで最新版が必要な場合、Mercurial Repository(http://xenbits.xensource.com/)(英語サイト)からソースコードをダウンロードできるが、http://wiki.xensource.com/xenwiki/XenDownloads(英語サイト)からもスナップショット版(暫定版)をダウンロードできる。なお、Xenという名前は、客、外国人、見知らぬ人などを意味するギリシャ語のxenosから派生した接頭辞xenoに由来する。

【なぜ今、仮想化技術なのか】

Xenの特長を説明する前に、仮想化技術の必要性について触れておこう。仮想化技術の歴史は、IBMの汎用機までさかのぼることができる。もともと、仮想化は高価な汎用機のリソースを安全に効率よく利用するための機構として開発された。その後、CPU の高性能化やメモリ価格の低下にともない、汎用機に代わってPCサーバが台頭するようになったが、CPUの高性能化に対して実際のCPU使用率の低さが目立つようになってきた。
 一般に、PCサーバ1台あたりのCPU使用率は15〜25% 程度にとどまっていると言われているが、仮想化技術を利用することで、これを80%台まで高めることが可能だといわれている。また、サーバ需要が大幅に伸びていることでサーバ設置のためのコストが無視できなくなったことから、ソフトウェア、ハードウェアともに効率のよい運用が求められるようになってきている。例えば、ブレードサーバのような形で物理的な設置面積の小型化が進められているが、ブレードサーバに搭載されるCPUの高性能化にともない、CPU使用率の低下はさらに顕著なものとなってきている。
 さらに、サーバの省スペース化とともに消費電力が問題になってきたが、仮想化技術を用いることでサーバの台数そのものを抑えることができるので、仮想化技術は消費電力も含めたサーバ運用管理コストの削減という側面からもニーズが高まってきているのだ。

Xenの仕組み

1台のサーバにXenを導入したときのシステム構成の様子を図1に示す。これを見て分かるように、Xenシステムは複数のレイヤから構成されていて、その中核となるのが「Xen Hypervisor」である。これは物理的なハードウェアとのやり取りを行うためのレイヤで、Para-virtualization = 疑似仮想化(準仮想化)と呼ばれる技術の中核をなす部分である。
 Xenの場合、ブート時に作成される最初の仮想マシンはDomain0と呼ばれ、他の仮想マシンの作成や仮想デバイスの管理を行う管理OSとなる。これは、代表的な仮想マシンモニタソフトのひとつであるVMwareの、ホストOSに相当するものといえる。Domain0の中では、xendと呼ばれるプロセスがシステムを管理するために稼働している。xend は仮想マシンを管理し、これらのコンソールへのアクセスを提供する役割を果たす。
 一方、ゲストOSは実際に仮想マシン上で動作するOSのことであり、DomainUと呼ばれる仮想環境上で動作する。Domain0/DomainUでは、それぞれ対応しているOS(カーネル)に違いがあるので注意が必要だ。なお、Xen 3.0ではIntel Virtualization Technologyなど(後述)を利用することによって DomainU 対応でないOSも(原理的には)利用できる。

図1 Xenシステムの構成

資料提供:アット・ワイエムシー

参考までに、Xenで仮想マシンを設定したときの仮想マシン一覧の例を図2に示す。これはXenのxm listコマンドを実行したときの出力結果サンプルである。管理OSのDomain0のほか、yvで始まる名前のゲストOSが4つ動作していることがわかる。また、各仮想マシンの動作状況を確認するためにxm top コマンドを実行した時の出力結果サンプルを図3に示す。こちらでは、各OSのCPU使用率などが一覧できる。

図3 2Dエキサイタ 図4 3Dエキサイタ

(クリックすると大きな画像が表示されます。)

■完全仮想化と疑似仮想化
 VMware をはじめとする従来の仮想化技術では、ハードウェアの動きも含めて仮想マシン全体の仮想化を行っている。このような仮想化技術は「完全仮想化」と呼ばれ、OSを仮想マシン用に変更する必要はない。一方、Xenのように仮想マシンの動作のためにOSの修正が必要な仮想化技術は「疑似仮想化(準仮想化)」と呼ばれている(図4)。擬似仮想化技術によるXenの場合、Xen Hypervisorが仮想マシンへのアクセスをすべて取りまとめ、一括してハードウェアとのやり取りを行う。このように、ハードウェアのエミュレーションを行わないためオーバヘッドが少なく、各仮想マシン間の独立性も高いことから、仮想化によるOSのパフォーマンス低下がなく、他の仮想マシンによる影響を受けにくいという優れた特長を持っている。
図4 完全仮想化と疑似仮想化の違い

資料提供:アット・ワイエムシー

Xenの活用法と今後の展開

【ホスティング・レンタルサーバでの活用】

Xenは管理ツールや運用のためのドキュメントがまだ不足していることから(2006年9月15日現在)、インターネットプロバイダのような小規模での利用が中心になるとみられているが、Xenを利用したサービスは既に始まっている。例えば、ホスティング・レンタルサーバ事業を展開しているアット・ワイエムシーでは、2006年7月からVPS(Virtual Private Server:root権限を保有できる自由度の高いレンタルサーバのこと)にXen3.0を採用した「YVマネージド」(サーバの管理運用を同社が主体となって行うタイプ)と、「YV-カスタム」(サーバの管理運用をユーザーが主体となって行うタイプ)の提供を開始した。これらのサービスには、15日間無料で利用できるトライアルサービスも提供されているので、気軽にXenを体験することができる。現在、このサービスで実行可能なOSはLinux kernel 2.6系のOSで、Red Hat Enterprise Linux 4互換のCentOS4が採用されていて、Domain0/DomainUともに同社で再構築している。管理ツールに関しては同社が独自開発したツールが使われている。

【今後の展開】

Xenはx86アーキテクチャ用の仮想化技術だが、主要CPUベンダであるインテルとAMDではともに自社CPU への対応のための技術協力を行っている。インテルの「Intel Virtualization Technology」、AMDの「Pacifica」は具体的な手法は異なるものの、いずれも仮想マシンモニタに必要な仮想マシンの切り替えをCPUが支援する技術である。今後、これらの技術を採用することにより、仮想マシンを高速に切り替えることが可能になり、OSを修正せずに稼働させることも容易になる。
 また、Xenの特徴の1つに「ライブ・マイグレーション」機能がある。これは実行中の仮想マシンを停止することなく別の仮想マシンへと移動させる技術のことだ。これを活用すれば、ハードウェアリソースの負荷分散を効率よく行えるようになり、必要に応じてリソースをステップアップするといったサービスも考えられる。今後、CPUベンダによる完全仮想化対応が進み、Xenの商用管理ツールの提供も始まれば、データセンタでの運用や自社サーバのリプレイスといった幅広い用途での活用が期待できる。

取材協力 :株式会社アット・ワイエムシー

掲載日:2009年4月 1日

キーマンズネット

出典元:株式会社リクルート キーマンズネット 2006年9月20日掲載分

検索

このページの先頭へ