仮想アプライアンス入門

 仮想マシンが世間を賑わしている。仮想マシンそのものは、メモリやディスク領域、プロセッサ、ネットワークカードといった各種リソースを記述したコンテナにすぎない。物理的なマシンと同じように、ソフトウェア(オペレーティングシステムやアプリケーション)によって動作する。仮想マシンにこうした実体のあるソフトウェアを組み合わせたものが仮想アプライアンスだ。Linuxディストリビューションや各種専用アプリケーションのなかには、仮想アプライアンスとして提供されているものがある。パッケージングが容易なこともあって、仮想アプライアンスは探すべき場所さえ知っていればいくらでも見つかる。

 アプリケーションのインストールと設定が事前に行われているアプライアンスの導入は、システムの準備、アプリケーションのインストール、アプライアンスとしての構成および設定を自前で行うよりもずっと簡単に済む。しかし、この扱いやすさの裏には難点もある。仮想アプライアンスにはアプリケーションをサポートするオペレーティングシステムもバンドルされるため、アプリケーション自体の何倍ものサイズになってしまうことだ。アプリケーション・アプライアンスが現れたばかりの頃は、わずか10MBのアプリケーションに700MBのディストリビューションが開発者によってバンドルされ、700MBを超えるアプライアンスが提供されていたものだ。

 現在、仮想アプライアンスはソフトウェア配布の実質的な手段になりつつあり、仮想アプライアンスベンダという新たな業種が生まれている。仮想アプライアンスベンダは、ソフトウェアベンダや仮想化ソフトウェア会社と共に、アプリケーションを動作させるディストリビューションのスリム化に力を注いでいる。たとえば、有名なバグトラッキングシステムBugzillaの場合、Mozillaの提供する2.4MBのtarballだけでなく、アプライアンスベンダJumpboxから150MBのアプライアンスをダウンロードすることもできる。数値上はアプリケーション単体の62.6倍のサイズだが、この150MBに含まれるオペレーティングシステムはBugzillaだけを実行するために余分なものをそぎ落として最適化されたものだ。

さまざまな仮想アプライアンス

 TrixBox、DimDim、Ubuntuなど、いくつかのソフトウェアベンダは、一般的なtarballのダウンロードだけでなく、すぐに使えるアプライアンスの形でも自社ソフトウェアを配布している。特定のアプリケーションやディストリビューションを扱った仮想アプライアンスを探すなら、まずはその開発側をあたってみるといい。

 また、定評のあるアプリケーションやディストリビューションの仮想アプライアンスを集めたWebサイトも少なくない。仮想アプライアンスを探す場所としてよく知られているのがVMwareの仮想化マーケットプレイスだ。多数の仮想アプライアンスの名前が並び、それらを無料でダウンロードできる。ただし、プロプライエタリなアプリケーションがバンドルされたアプライアンスや、VMwareによってエンタープライズ用途と認められたものは有料である。VMwareのマーケットプレイスに並んでいるすべてのアプライアンスはVMwareの仮想化テクノロジを利用して動作するため、実行には無償で提供されているVMware Playerが必要になる。

 VMwareは非常に普及度の高い仮想化ソフトウェアなので、個人によるWebサイトでも、特定の種類または系列のディストリビューションをベースにして普通に構築された仮想アプライアンスを提供しているところがいくつかある。VMwhereにはGentooやSlackwareのアプライアンス、ThoughtPoliceにはCentOSやDebian、Fedora、Ubuntu、それにFreeBSDのアプライアンス、JcinacioにはUbuntuに特化したアプライアンス、そしてVMachinesにはデスクトップ、サーバ、およびファイアウォール/セキュリティ用途の各種ディストリビューションのアプライアンスがそれぞれ用意されている。

 VMwareの普及度は確かに高いが、仮想化ソフトウェアはそれだけではない。XenVirtualBox、それにQEMUにもフリーの仮想アプライアンスが存在する。

 Xenはオープンソースの仮想マシンモニタ(ハイパーバイザ)としてよく知られている。Jailtime.orgというサイトに行くと、Xen上で動作するように変更が加えられた多くのLinuxディストリビューションが見つかる。Debian、CentOS、Fedora、Gentoo、Slackware、Ubuntuといった定番ディストリビューションの32ビット版のほか、そのうちいくつかについては64ビット版も用意されている。

 もう1つ、よく知られた仮想化ソフトウェアとしてVirtualBoxがある。こちらは、開発元のInnotekが最近Sunに買収されている。VirtualBoxにはクライアントの機能が制限されたオープンソース版が存在するが、フル機能のクライアントもすべて無料でダウンロードできる。VirtualBox用のアプライアンスを実行するには、これらのうち1つが必要になる。

 各種LinuxディストリビューションのVirtualBoxアプライアンスを提供しているサイトはいくつかある。HelpdeskLiveには、定番ディストリビューション(FedoraやUbuntuなど)のアプライアンスのほか、Cinelerraを搭載したUbuntu StudioやGCC付きのGNOME CentOS 5など、いくらか手が加えられたディストリビューションのアプライアンスも存在する。またveeDee-Eyesには、アルファ版やベータ版も含めてあらゆる種類のディストリビューションの修正版やデフォルト版のアプライアンスが用意されている。さらにSourceForge.netのVirtualBox Imagesプロジェクトでも、多数のディストリビューションのアプライアンスが見つかる。

 VMware、VirtualBox、Xenといった仮想化ソフトウェアの登場前から存在していたのが、オープンソースのプロセッサエミュレータQEMUだ。アクセラレータコンポーネントのKQEMUと共に、その名は純粋なフリーおよびオープンソースの仮想化ソフトウェアを利用したいという人々の間に広まっている。QEMUを使ってLinuxおよびBSD系のディストリビューションを試したいなら、FreeOsZooを参照することだ。このサイトは、すぐに使える新旧さまざまなフル機能版ライブディストリビューションのアプライアンスを70種類近く提供している。こうしたアプライアンスの実行にはQEMUが必要だが、こちらは使っているディストリビューションのソフトウェアリポジトリから入手すればいいだろう。

 学校や職場でMicrosoft Windowsを使っているけれどもLinuxを利用したいという人は、Windowsホスト向けに最適化された、Bagvappの仮想化Linuxディストリビューションを検討するといい。このサイトには、Fedora、Ubuntu、Debian、Slackware、openSUSE、Mandriva、CentOS、Pardus、Vector Linux、Xubuntuなど、大小さまざまなLinuxディストリビューションをベースに構築された仮想アプライアンスが何十種類とある。Bagvappのアプライアンスはどれも無償で提供されており、VMware Player上でのみ動作する。

 MacユーザであればParallelsのサイトが利用できる。同社の仮想化ソフトウェア用の各種Linuxディストリビューション、開発スイート、サーバ、通信ソフトウェアなど、多数のアプライアンスがそろっている。しかし、この仮想化ソフトウェアはプロプライエタリな商用ソフトウェアである。ただし、Linux用のParallels Workstationには試用版が用意されている。

 こうして見ると、アプリケーション特有のアプライアンスはVMware用以外にはあまり存在せず、仮想化ソフトウェアを問わず利用可能なものもなかなか見当たらない。しかし、さまざまな仮想化ソフトウェア上で動作する仮想アプライアンスを提供するアプライアンスベンダが2つある。その1つがVirtual Appliancesであり、Tomcat、LAMP(Linux-Apache-MySQL-PHP)、LAPP(Linux-Apache-PostegreSQL-PHP)、Cactiといったよく使われている開発環境を利用してソフトウェアの構築や実行を行う効率化された4つのスタックを無償で提供している。これらはUbuntuのJeOS(Just enough Operating System)ベースで構築されており、VMware、Xen、Virtual Iron、MicrosoftのVirtual PCで使える。

 もう1つが、オープンソースのコンテンツ管理システムを導入するための優れた方法として実際に人気が高まっているJumpboxだ。JumpboxのWebサイトには、WordPress、Joomla!、Bugzilla、Mantis、Drupal、Alfresco、SugarCRM、OTRS、Redmineをはじめ、ほとんどあらゆる種類のオープンソースソフトウェアをベースにした仮想アプライアンス群が存在する。何よりもすばらしいのは、VMware、Parallels、Microsoft Virtual PC/Server、Virtual Iron、Xenといったさまざまな仮想化プラットフォームで同じJumpboxアプライアンスが動作すること、そして無料でダウンロードできることだ。

アプライアンスの変換

 これまでに紹介したアプライアンスから好きな仮想化ソフトウェア用のものを1つダウンロードして、ネットワークソフトウェアの構築やテスト、あるいはネットワークサービスの運用に使っているとしよう。ここで、別の仮想化ソフトウェアへの切り替えが必要になった場合はどうすればいいのだろうか。新たな仮想化ソフトウェアでも同じアプライアンスが使えるかもしれない。だが、それまでの設定やカスタマイズした内容はどうだろうか。

 仮想アプライアンスの移行は厄介な作業だ。事実、ある仮想化プラットフォーム上で開発または導入されたアプライアンスを別のプラットフォームに移行させるための便利なツールが用意されている仮想化ソフトウェアはVMwareだけである。VMware Converterというフリーのツールを使えば、Windowsベースの物理的なマシンを仮想マシンに変換できるだけでなく、Microsoft Virtual ServerやMicrosoft Virtual PC、Symantec Backup Exec System Recovery、Norton Ghost 10、Noton Save & Restoreといった他社のソフトウェアで作成された仮想マシン全体の移行も可能になる。

 また、正式な変換ツールは存在しないが、コマンドラインのテクニックとQEMUの利用によって、VMwareおよびQEMUのアプライアンスをVirtualBox用に変換したり、VMwareのアプライアンスをXen用に変換したりParallels用に変換したりできる。

 2、3のアプライアンスの変換を試せば、そうした処理が何の保障もない、苦痛に満ちたものであることがわかるだろう。しかし、状況は改善されつつある。Dell、Hewlett-Packard、IBM、Microsoft、VMware、XenSourceによって共同で設立されたDistributed Management Task Force(DMTF)が、Open Virtual Machine Format(OVF)最終仕様の公開に向けて活動している。OVFで特にすばらしいのは、この仕様に従って作られたアプライアンスはOVFをサポートするすべての仮想化ソフトウェアで動作するようになる、という点だ。すでにVMwareは、OVF準拠のアプライアンスをインポートするためのOVFツールを開発している。だが今のところ、ダウンロード可能なOVFアプライアンスは見当たらない。また、VMwareのツール以外には、既存のアプライアンスをOVFに(またはその逆方向に)エクスポートするツールを提供しようという仮想化ソフトウェアベンダの話も聞かない。

まとめ

 仮想化アプライアンスを実行してみたくなったら、ほぼどんなオープンソースアプリケーションについてもLinuxおよびBSD系ディストリビューションで使える仮想アプライアンスがいくつか見つかるはずだ。アプライアンスのバリエーションや数は、その実行に用いる仮想化ソフトウェアによって異なる。仮想化ソフトウェアとしてはVMwareが最も普及しているが、VirtualBoxやXenもすぐ後ろを追っている。大きく差をつけられているように見える4番手のQEMUだが、主としてこちらはプロセッサエミュレーションの能力を重視する人々の間で普及している。

 また、特定の仮想化ソフトウェアに頼ることなく、さまざまな仮想化プラットフォームで動作するアプライアンスをプラットフォーム別の、またはどのプラットフォームでも共通して使えるリリースとして提供している開発元もいくらか存在する。

 プラットフォームを切り替えるための仮想アプライアンスの変換は、まだ先行き不透明な領域だ。とはいえ、一部の仮想化ソフトウェアベンダは、ベンダに依存しないアプライアンスの開発に役立つオープン仕様の完成に向けて取り組みを進めている。そうした活動が実を結ぶまでは、使っている仮想化ソフトウェア用のアプライアンスを探し求めてインターネットをさまようことになるだろう。では、あなたにぴったりのアプライアンスが見つかることを祈っている。

Linux.com 原文