仮想化ソフトウェアの比較


仮想化ソフトウェアVMware Player, VirtualBox, Virtual PCの比較を行ないます。個人用途サンドボックス環境選びに役立て下さい。

仮想化とは

仮想化 (virtualization) 」とは非常に定義が曖昧なバズワードで、「コンピュータリソースを抽象化する」など多数の定義が存在します。「サーバ仮想化」「デスクトップ仮想化」「ネットワーク仮想化」「Java仮想マシン」「論理ボリューム」など、前後の文脈によって意味は大きく変わります。

しかし、今日(2014年11月)では単に仮想化と言うと「OS仮想化」の意味で使う人が多いので、以下「仮想化」を「OS仮想化」の意味で使用します。

仮想化の種類

OSの仮想化の方法は、大きくわけてハイパーバイザー型とホストOS型に分類する事ができます。それぞれを図で表すと以下のようになります(画像はASCII.jp様より引用)。

virtualzation_hyper_container_001

仮想化の種類 – ホストOS型

ホストOS型仮想化とは、ホストOS上にアプリケーションとして仮想OSを動かす手法です。個人向けのVMware Player, VirtualBoxやKVMなどがこの方式に該当します。 通常のOSと同じように使用する事ができるので、ホストOS上でアプリケーションを動かしたり通常通りの監視ができたりするのがメリットです。

仮想化の種類 – ハイパーバイザー型

ハイパーバイザー型仮想化とは、仮想化専用OSの上で仮想OSを動作させる手法です。ESX, vSphere, Xenなどが該当します。ハイパーバイザー専用のOSなので、ハイパーバイザー型はホストOS型に比べてオーバーヘッドが少ないと言われます。

なお、私の個人的な体験ですが、ハイパーバイザー型は非常に運用しづらかったです。ESXのバージョンによって監視仕様の差が発生し、バージョン違いを吸収するのに相当苦戦した記憶があります。一方、KVMを運用していた頃は、非常に設定の標準化がしやすく苦戦した記憶はありません。

仮想化の種類 – コンテナ型

2014年、Google Container EngineがDockerをサポートした事をきっかけに、再ブームの到来を予感させる仮想化方式です。コンテナ型は、ホストOSとゲストOSが同一のkernelを使用するため、ホストOSよりもオーバーヘッドが少ない仮想化方式になります。非常に軽量なので、以下のようなメリットがあります。

  • 非常に簡単に複製ができる
  • 起動/停止が非常に早い

反面、OSレベルの仮想化ではないので、以下のようなデメリットがあります。

  • ゲストへのリソース割当が苦手 ( 1つのゲストOSの誤りによって、ホストOS全体が高負荷状態に)
  • 異なるバージョンのkernelを動かす事ができない

コンテナ型仮想化の例としては、Docker, Solarisコンテナ, FreeBSD jail等を挙げる事ができます。また、ホストOS型仮想化とコンテナ型仮想化を区別するかどうかは、人によって判断が分かれるところです。

仮想化の分類

仮想化製品は、個人向けと商用向けに分類する事もできます。VMware Player, VirtualBox, Virtual PCは、非常に学習コストが少なく、個人用途のサンドボックス環境に適しています。一方、ESX, vSphere, KVM, Xenなどは、学習コストは高いですが反面、商用に耐えうる高機能を備えています。

仮想化 まとめ

以上をまとめると、各製品の位置づけは以下のようになります。

virtualization_classify_001

このサイトでは、個人用途のサンドボックス環境に向いているVMware Player, VirtualBox, Virtual PCについて説明します。商用製品は、勤務先の守秘義務などに抵触しそうなので発言を控えさせて下さい。

仮想化ソフトウェアの比較

個人用仮想化製品として有名なのは、VMware Player, Oracle VirtualBox, Virtual PCの3つです。これらツールは、どれも一長一短でどのツールが優れているとは一概に言えません。私の場合は、用途に応じてこれらツールを使い分けれいます。

とは言っても、3つもツールを覚えるのは手間だし、最大公約数的な考え方で一番便利なツールを使いたいと思っている方も多いと思います。そのような方のために、各仮想化ソフトウェアの比較表を作成しました。○△×の根拠は後ほど説明します。

 VMware PlayerOracle VirtualBoxVirtual PC
Windows対応
Mac対応××
Linux対応×
多数派 SI業界××
多数派 WEB業界××
スナップショット××
クローン××
ネットワーク設定の容易さ×
XP mode××

仮想化ソフトウェアのお勧め

IT業界の最大多数派であるWindows PCかつSI勤務という事ならば、VMware Playerがお勧めです。操作も簡単ですし、多数派なので情報入手も容易です。

Mac, LinuxデスクトップでWEB業界勤務ならば、Virtual Boxの一択です。そもそも、VMware, VirtualPCはMac, Linuxをサポートしません。

恐らく、判断に迷うのは「WEB業界勤務かつWindowsデスクトップ」の方であると思います。ネットワーク設定が容易なVMware Playerを使用するか、高機能で多数派であるVirtualBoxを使うかは非常に悩ましいと思います。

以上の内容をまとめると、以下のような表になります。

 SI業界WEB業界
WindowsVMware適宜判断
Mac LinuxVirtualBoxVirtualBox

仮想化ソフトウェア 対応OS

Windows, Mac, Linuxの3種OSに対応しているのは、Oracle VIrtualBoxのみです。

仮想化ソフトウェア 多数派

多数派に合わせる事によって情報収集が容易になります。 多数派ならばブログを見て沢山の情報を入手できますが、少数派ならばマニュアルやソースコードから情報を収集せざるを得ません。また、多数派ならば先人の方がバグを枯らしてくれているはずなので、バグによるトラブルを回避できる可能性が高くなります。

SIer的な使い方ならばVMware Playerが多数派です。一方、WEB業界の使い方ならば、VIrtualBoxが多数派です。

比較的新しいソフトウェアの検証ならば、Vagrant + VirtualBoxを使用した検証環境構築事例を紹介したブログが多数転がっています (ただし「動けば良い」レベルの記事が殆どですので、本番導入は慎重に行って下さい) 。手っ取り早く新技術の動作確認がしたいならば、VirtualBoxはお勧めです。

仮想化ソフトウェア スナップショット クローン機能

Oracle VirtualBoxはスナップショットやクローンなどの便利な機能を備えています。 VMware, Virtual PCに関しては、有償の上位製品(例 : VMware Workstationなど)ならばスナップショット操作が行なえますが、無償版はスナップショットができません。

無償でスナップショットが使えるのはOracle VirtualBoxだけです。

仮想化ソフトウェア ネットワーク設定の容易さ

VMware Playerはネットワーク設定が非常に容易です。一方、VirtualBoxはポートフォワーディングなどの面倒臭い設定を行なわないと、ホスト/ゲスト間の通信ができません。また、VirtualBoxはネットワークドライバやブリッジングなどでトラブルが発生しやすく、ネットワークが苦手な人にはお勧めできません。

仮想化ソフトウェア XP Mode

Microsoft Virtual PCはXP modeと呼ばれるWindows XPの打鍵環境を提供してくれます。私は、このXP modeの用途のためだけに、Microsoft Virtual PCを使用しています。

なお、かなり面倒臭いですが、XP modeをVMware PlayerやVirtualBoxで使用する事もできます。アンチ マイクロソフトな方は挑戦してみるのも良いと思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. syauichi より:

    Satoさん

    VMware Player 最新でもLinux対応していますね。情報ありがとうございます。

    「VMware Player Linux」で検索すると、最新版が3.1.1になっているように見えたので、てっきりLinuxは切り捨てられたかと思いました。

    ばっちり最新版7.0.0もLinux対応していますね。32bitは切り捨てられましたが・・・。

  2. Yasuyuki SAITO より:

    VMware Player は,かなり前からLinux に対応しています.

    • syauichi より:

      Satoさん

      コメントありがとうございます。VMware PlayerのLinux対応の書き方は、非常に迷いました。私自身Linuxに対応している事は知っていましたが、ここ最近Linux版 VMware Playerの更新が止まっているので、乱暴な言い方ですが「Linux非対応」と表記しています。

      私もUbuntuでVMware Player使った事がありますが、意外と快適に動きました。

      「仮想化ソフトウェア 対応OS」の章では「VMware Player Linux版も存在する」旨を記述していましたが、書き方が悪く説明が埋もれてしまったのかと思います。最近、ガチで日本語説明能力伸ばしたいと思っていますので、Satoさんのコメントを真剣に受け止め、説明の仕方を見直します。

      ○×表でVMware PlayerのLinux対応欄を×と書いたのが誤解を招く原因かもしれないですね。×から△に変更しておきます。コメントありがとうございました。