Linuxを中心とした話題を投稿予定。 使用ディストリビューションであるFedoraが中心になると思われます。http://oedipa.wiki.fc2.com/にてTips Wikiを公開してます。
さぁ、いよいよXenでの仮想化技術が面白くなってきましたよ
割と最近、Xenと呼ばれるOSの仮想化技術が公表されました。仮想化技術というと分かりにくいですが、簡単に言えば1台のPCで同時に複数のOSを起動させようという技術です。VMwareなんかがそれにあたります(XenはVMwareとは仮想化の方法は違いますが)。
VMwareはご存知の方も多いと思いますが、WindowsないしLinux上でWindowsやLinuxを複数起動できるエミュレーションソフトです。企業などへの導入実績も豊富で、今までに長い間開発もされてきたツールであるため、完成度は非常に高いです。
しかし、VMwareはどうしてもパフォーマンスの低下が起きてしまい、さらには潤沢なスペックを必要としていました(ある程度スペックがないとまともに動かない。それでもVMwareは結構軽快に動作することは確か。今のエントリークラスのPCでもそれなりに動かせるくらいチューニングされている)。とはいえ、フリーで公開されている他の仮想化ツールとは雲泥の差でパフォーマンスは高いですけれども。
VMwareなどでは追加するOSに変更を加えなくてもよい分、パフォーマンスをコストとして支払っています。それに対し、追加するOSのカーネル(OSの核となる部分)に修正を加え、仮想化に特化したOSを走らせることでパフォーマンスの低下を劇的に抑えた仮想化ツールが公開されました。それが、Xenなのです。
Xenはオープンソースで公開されており、無料で手に入ります。追加するOSに修正を加える分、仮想OSのパフォーマンスは(実行する内容によっては)ネイティブと遜色ないところまで引き出せるといいます。
しかし、先にも書きましたように、カーネルに修正を加えるため、基本的にはオープンソースなカーネルでなければ簡単にはOSを追加できないことは分かっていただけると思います。なので、今まではXenを使って仮想化を行えるOSはLinuxのみ(BSDもできたっけ?)となっておりました。
ところで、実はPCのハードウェアベンダの流れというのは、この「仮想化」をどんどんプッシュする形になっています。なぜパフォーマンスが低下するにもかかわらず仮想化を推し進めるのか。そこにはちゃんと理由があります。
仮想的に用意したOSは現在走っているOS上で実行している1アプリケーションに過ぎません。よって、追加したOSはとある「ファイル」によって管理されることになります。
そこで、現在走っているメインのOSがメンテナンスなどにより停止しなくてはいけなくなったとします。普通ならそこでOSを止めてしまうわけですが、仮想OSならば、そのファイルを別のPCに渡してやることで次のOS先で仮想OSとして実行することも可能な訳です。
これは企業などでサーバにてさまざまなリソースを管理しているところにとっては重要なポイントとなります。サーバを停止するということはリソースへのアクセスができなくなるということ。その時間はできる限り短いほうがいい。そのため、メインのサーバとスレイブのサーバを用意することで回避することができるわけですが、複数台分の維持費は馬鹿になりません。
仮想化技術はこういった維持費をできるだけ抑えるための技術であるといえます。また、OSの開発などにもかなり役に立ちますね。
さて、じゃあハードウェアベンダが仮想化の波を作ってくれるとどう助かるのか。なんと、ImtelとAMDは次期CPUにてCPUレベルで仮想化をサポートすると打ち出したのです。これにより、現在のCPUではカーネルの修正が必要だったXenに対し、カーネルの修正が必要なくなることになる、というのです。
すると、追加するOSに変更もなく、パフォーマンスもあまり低下しないという仮想化ツールが生まれることになります。そして、カーネルに変更を加えなくてよいということは、プロプライエタリなOSを仮想OSとして実行することができるわけです。
そして、とうとうそれが実現したらしいのです!それがオープンソースの仮想ソフト「Xen」でWindowsが稼働の記事にて紹介されています。そう、かのWindowsがXenによって動作させることができたのです!!!
残念ながら現在出ているCPUではWindowsを仮想OSとして実行することはできませんが、将来のPCではそれも可能となるようです。
仮想化技術は企業以外にもプログラマにも恩恵を与えると思われます。プログラムを開発する際、自分の環境を壊したくなければ、サンドボックスとして仮想OSを構築し、そこで開発ないしテストを行って、必要なくなればそのOSを消してしまえばいいのですから。
Xenは登場してまだ日の浅いツールです。これからどんどんと開発が進んでいくことと思われます(今は32bitアーキテクチャのみなので、64bitに対応するのが当面の目標だったっけ)。現在リリースされているLinuxでは、FedoraCore4、SUSE Linux9.3がXenに対応したカーネルを同梱しています。
これから先、ますますXenから目が離せなくなりますねぇ。
[続きを読む...]
スポンサーサイト