Linux仮想化入門

 最近は多様なLinuxディストリビューションが利用可能になっているので、同時に複数のディストリビューションを試してみたいと思うことが多くなった。そのようなときには仮想化環境をインストールすれば、各々が専用のサンドボックスの中に完全に隔離された複数のオペレーティングシステムを一台のマシン上で実行することができるようになる。以下では、よく使われている仮想化環境である VMware VirtualBox QEMU の3つを使い始める方法を紹介する。

 仮想化環境では、ホストオペレーティングシステム上のシミュレートされた環境内で複数のゲスト仮想マシンを実行することができる。各ゲスト自身には、ホストの物理的なハードウェアのすべてを自由に使用することができるように見えている。

 仮想化は小型で低速なマシン上ではそれほど快適に使うことはできないが、最近のように32ビットまたは64ビットアーキテクチャの複数のCPUやギガバイト単位のRAMを搭載しているようなコンピュータでは非常に快適に利用することができる。以前、Pentium IIIと512MBのRAMを搭載したマシン上で仮想マシンを実行していたのだが、そのときの性能はそこそこではあったものの、決して快適というほどではなかった。その後4GBのRAMとデュアルコアCPUを搭載したマシンに変更したところ、実行速度や応答速度についてホストマシンとゲストマシンとで差がまったく感じられなくなった。

VMware

 VMwareを利用すれば、複数のx86(およびx86 64ビット)用オペレーティングシステムを一台のマシン上で実行することができる。VMwareによるとVMware WorkstationはWindows系のシステム上でもLinux系のシステム上でも実行でき、19種類のWindowsと26種類のLinuxをサポートしている。(なおVMware Fusionを使えばMac上でWindowsを実行することができる)。VMware Workstationはオープンソースソフトウェアではないが、1ヶ月間無料で試用することができる。その後はライセンスを購入する(オンラインで購入可能)か、無料版のVMware Playerを利用することができる。VMware Playerでは、既存の仮想マシンを利用することはできるが、仮想マシンを変更したり新たに作成したりすることはできない。

virtual1_vmware_thumb.png
VMware Workstation

 インストールは簡単だ。評価版の利用登録をしてからソフトウェアをダウンロードして、ルートユーザとして「rpm -Uvh VMware-workstation-入手したバージョン.rpm」を実行すれば、WorkstationとPlayerのどちらのプログラムもインストールされる。設定をするにはやはりルートユーザとして「vmware-config.pl」を実行すれば、質問がいくつか順に表示されて、最後に必要なモジュールが構築される。なおインストールされているヘッダファイルが実行中のカーネルと同じバージョンのものである必要があるが、一般的な目安としてはカーネルの再コンパイル翻訳記事)に必要なものがすべてインストールされていれば、問題なくVMwareをインストールすることができるだろう。

 新規の仮想マシンを作成するには、Workstationプログラムを起動して「Create a New Virtual Machine」(仮想マシンの新規作成)をクリックすれば、残りの設定を行うためのウィザードが表示される。このウィザードでは、インストールする予定のオペレーティングシステムの種類をWindows/Linux/Solaris/Novell/MS-DOSなどの中から選択して指定する必要がある。また、新規の仮想マシンに付ける名前、仮想マシン用のファイルを置く場所、仮想マシン用の仮想ディスクドライブの容量を指定する必要もある。なお仮想ディスクは実際にはホストマシン上のファイルだが、ゲストシステムからはそのシステム専用のデバイスのように見えている。最後に、必要とするネットワーク接続の種類を選択する必要がある。選択肢としては、仮想マシンが独立したマシンとしてネットワークに接続する場合の「bridged(ブリッジ)」、ホストマシンのIPアドレスを共有する場合の「NAT」、ホスト内の内部ネットワークに接続する場合の「host only(ホストのみ)」、ネットワークを使用しない場合の「no network(ネットワークなし)」がある。これが終われば、ゲストにしたいOSのインストールCDを挿入して仮想マシンを起動するだけで、通常のインストール手順を始めることができる。

 新しいシステムを初めて実行する際にはおそらく、仮想マシンの性能と管理を向上させるためのVMware Toolsパッケージもインストールしておくと役立つだろう。「VM」(仮想マシン)→「Install VMware Tools」(VMware Toolsのインストール)を実行すると、RPMパッケージの入った仮想CDがマウントされるので、クリックしてインストールすれば、グラフィックの応答速度を向上させたり、共有フォルダ(ゲストが使用可能なホスト上のディレクトリ)のサポートを追加したり、ホスト/ゲスト間で時刻の同期を取ったりするなどの機能を利用することができるようになる。

Wineなどその他の方法について
 Linux上で特定のWindows用プログラムを実行したいだけの場合には、Wine(Wine Is Not an Emulator)を試してみると良いかもしれない。最終的に得られるのは「Windows用のプログラムを実行することができる」という似たような結果ではあるが、Wineの場合は仮想ゲストオペレーティングシステムを提供するわけではない。そうではなくWineの場合、必要となる各Windows APIをLinux上で提供することによってWindows用のプログラムを普通に実行することができるようになっている。したがって例えば、Windows用プログラムが直接的にマシンのディスクに書き込むことになる。また、使えるようになるのは目的のプログラムだけで、完全なWindows環境が使えるようになるわけではない。非公式なアンケートの結果によると、Windowsアプリケーションを実行しているLinuxユーザの55%がWineやWineに関連する(ゲーム向けの)Cedegaや(オフィスプログラム向けの)CrossOverなどのプログラムを利用しているようだ。なおVMwareは2位で同ユーザの27%が利用していて、次ぐ3位のVirtualBoxが8%という結果になっている。

 完全なオペレーティングシステムをホストすることのできるその他の一般的な仮想化環境も試してみたいという場合には、 UML(User-Mode Linux) Xen OpenVZ KVM(Kernel-based Virtual Machine) なども検討してみると良いだろう。

VirtualBox

virtual2_virtualbox_thumb.png
VirtualBox

 VirtualBoxはinnotek社(今年2月にSunが買収)の仮想化プログラムで、VMware製品に似た機能がある。Linux、Mac OS X、Windows、Solaris上で使用可能で、ゲストシステムとしてはそれらの各オペレーティングシステムに加えてFreeBSDとOpenBSDもサポートしている。最新版は1.5.6で、現在「来たるべき新メジャーバージョン」の開発の最中のようだ。

 VirtualBoxは当初はプロプライエタリのライセンス(個人/家庭での利用についてのみ無料)の下で利用可能になっていたのだが、2007年1月にVirtualBox OSE(Open Source Edition)がGPL(GNU一般公衆利用許諾契約書)の下でリリースされた。またVirtualBox OSEと並んで、オープンソースではないが無料で利用できるバージョンもあって、VirtualBox PUEL(Personal Use and Evaluation License)の下でバイナリ形式のみで利用することができる。このPUELバージョンは個人/学術/評価目的の利用については無料だが、それ以外の目的での利用のためには商用ライセンスを購入する必要がある。なお、クローズドソースのバージョンに含まれているエンタープライズ向け機能の一部がOSEバージョンには含まれていない。

 今回はOSEバージョンをopenSUSEのレポジトリから直接インストールした。できるだけ新しい版を利用したいと思っているとしても通常は、まずは多少古い版でも自動インストールをした方が必要な依存関係もすべてインストールされて後々のアップデートも単純にすることができるので楽だ。自動インストールをした場合でもユーザがコマンドラインで作業をいくらか行う必要がやはりあって、VirtualBoxの利用を許可する全ユーザをvboxusersグループに追加する必要がある。また(ルートとして)「/etc/init.d/vboxdrv setup」を実行して必要なサービスをすべて設定する必要もある。

 VMwareの場合と同様に、新規の仮想マシンの作成はウィザードを使用して行う。ウィザードでは、ゲストの名前、オペレーティングシステムの種類、ゲストが使用するように割り当てたいRAMの容量、使用するディスクイメージ(必要なら作成することもできる)を指定する。その後、ディストリビューションのインストールCDを挿入して仮想マシンを起動すると、インストール画面が表示されて、最後に新しいオペレーティングシステムが利用可能になる。

 VirtualBoxでは、VirtualBox Linux Additionsを使用すればさらに便利になる。「Devices」(デバイス)→「Install Guest Additions」(ゲスト用追加機能のインストール)を選択すれば、適切なパッケージがダウンロードされてマウント済みのCDとして表示されるので、「VboxLinuxAdditions.run」を実行すればインストールが完了する。

QEMU

virtual3_qemu_thumb.png
QEMU

 QEMUは仮想化プログラムでもありエミュレータでもある。QEMUを使えば、特定のCPU向けに書かれたプログラムやオペレーティングシステムをそれとは異なるホストCPU上で実行することができる。x86互換プロセッサ上で仮想化を行う場合には、アクセラレータ(KQEMU)もインストールすればさらに性能を向上させることもできる。GPLの下でリリースされているが、LGPLやBSDライセンスの下にある部分もある。なおQEUMは、Linux、Windows、Mac OS X、Solaris上で実行することができる。もっとも簡単に利用するには手元の標準的なパッケージマネージャを使用すれば良いだろう。その際には忘れずにKQEMUも含めるようにしよう。

 QEMUを実行するには通常は一連のシェルコマンドが必要になるが、Pythonで書かれた、VirtualBoxやVMwareのものに似たグラフィカルなインタフェースの Qemulator をインストールすればより簡単に行うことができる。Qemulatorのインストールは簡単で、パッケージをダウンロードして展開して「setup.py」を実行すれば良い。インストール作業(主にパスについてのいくつかの質問に答える必要がある)が完了したら、「qemulator」を実行すれば仮想マシンを作成したり起動したりすることができるようになる。

 新規マシンの作成に必要な作業は、VMwareかVirtualBoxを試したことがあれば似ていると感じるだろう。ただし独特な点として、仮想マシンを削除する際には(Qemulatorにはその機能がないので)ユーザが手動で仮想ハードディスクを削除しなければならないという点がある。仮想マシンを実行するには、右上にある緑色のプレイボタンをクリックする。なお、グラフィックス/サウンドの速度向上のための特別なパッケージやツールはないので、マルチメディア関連のアプリケーションを実行した場合には低速に感じるかもしれない。

まとめ

 仮想化を最大限に活用することを考えると、おそらくVMwareがもっともパワフルなプログラムだが、ライセンス的に利用制限がある。その一方でQEMUは完全にフリーだが、他の2つのプログラムと比較すると明らかに低速だ。VirtualBoxは、ライセンス内容と性能とを合わせて考えるとVMwareに勝るとも劣らないという、ちょうど中間的な存在だと言えるだろう。

Federico Kerekiはウルグアイのシステムエンジニア。20年に渡るシステム開発、コンサルティング、大学講師の経験がある。

Linux.com 原文