[運用]3大仮想化ソフトウェア機能比較 第3回 仮想化ソフトウェア選択の用途別ポイント 1.各仮想化ソフトウェアの特徴 日本アイ・ビー・エム株式会社Microsoft MVP for Virtualization - Virtual Machine(Jul 2007 - Jun 2009) 渡邉 源太 2009/09/10 |
第1回と第2回で仮想化の基本的な概念および用語の解説と、VMware ESX、Citrix XenServerおよびMicrosoft Hyper-Vのそれぞれのアーキテクチャと管理機能の解説を行った。今回は、あらためて各製品のアーキテクチャを比較した後、いくつかの利用シナリオを想定し、それに合わせた適切な仮想化製品の選択基準について解説していく。
仮想化ソフトウェアのアーキテクチャ比較
まず、それぞれの仮想化製品をアーキテクチャ的な観点から比較を行ってみよう。これまでに解説したVMware ESX、Citrix XenServer、Microsoft Hyper-Vのいずれもホスト・ベースではなく、ベアメタル型のハイパーバイザを方式として採用している。ただし、ゲストOSを稼働させる仕組みにはそれぞれの製品によって違いがある。
VMware ESXでは、ゲストOSに修正を加えることなくそのまま稼働させるために、完全仮想化の仕組みを全面的に採用している(VMwareは製品名称の大幅に変更しているが、ここでは製品名の混乱を避けるため基本的に従来の名称にて記載している)。完全仮想化は、ソフトウェアによるバイナリ・トランスレーションによって行われるため、64bitのゲストOSを稼働させるとき以外はIntel VT/AMD-Vなどのプロセッサの仮想化支援機能に依存しない。IntelとAMDどちらも、サーバ向けのプロセッサのほとんどが、仮想化支援機能をサポートしているが、中にはサポートしていないものもあるので、32bitのゲストOSを稼働させる際に仮想化支援機能が必須でない点はメリットとなるだろう。
それに対して、Citrix XenServerではLinuxのゲストOSに対して準仮想化の仕組みを取り入れることにより、より少ないオーバーヘッドでゲストOSを稼働させることを可能にしている。準仮想化に対応しないWindows OSなどのゲストOSを稼働させる場合は、プロセッサの仮想化支援機能を利用した完全仮想化によって動作する。
Microsoft Hyper-Vでは、プロセッサの仮想化支援機能が動作の前提となっており、Windows Server 2003/2008などのゲストOSは完全仮想化によって稼働する。ただし、ゲストOSに統合サービス・コンポーネントを導入することにより、一部において準仮想化の仕組みを取り入れている。また、LinuxのゲストOSを稼働させるためにXen対応の準仮想化カーネルを使用することもできる。
また、いずれの製品も複数サーバを集中管理する仕組みを持っているが、その方式には違いがある。例えば、VMware ESXではVMware VirtualCenter、Microsoft Hyper-VではSystem Center Virtual Machine Managerを集中管理用のサーバとして使用するため、専用のサーバが必要となる。一方、Citrix XenServerでは1台のXenServerがマスターとして動作することによって、XenCenterによる集中管理を行う際に専用のサーバを必要としないという特徴がある。
三者のアーキテクチャの違いを下表にまとめた。製品の基本的なアーキテクチャを理解することで、製品を導入する際のハードウェア面での前提条件が明確になる。また、仮想化技術を理解するうえでも役に立つだろう。
VMware ESX | Citrix XenServer | Microsoft Hyper-V | |
アーキテクチャ | ベアメタル型 ハイパーバイザ |
ベアメタル型 ハイパーバイザ |
ベアメタル型 ハイパーバイザ |
完全/準仮想化 | 完全仮想化 | 準仮想化/完全仮想化 | 準仮想化/完全仮想化 |
仮想化支援機能(Intel VT/AMD-V) | 64bitゲストのみ必須 | 必須 | 必須 |
管理コンソール | VMware Infrastructure Client | Citrix XenCenter | Hyper-Vマネージャ |
複数サーバの集中管理 | VMware VirtualCenter | Citrix XenCenter | System Center Virtual Machine Manager |
アーキテクチャの比較 |
小規模環境(テストや開発環境など)での利用
テストや開発環境などを中心とした小規模な環境で仮想化技術を使用したい場合、できるだけ費用を掛けずに要件を実現したいという場合が多くある。そのようなときは、それぞれの製品の無償版を利用することで、必要な費用を最小化することができる。
例えば、VMwareでは現在VMware ESXiが無償で利用できる。VMware ESXiはサーバに組み込まれて出荷されている「Embedded」や、VMwareのWebサイトから無償でダウンロード可能な「Installable」が使用できる。VMware ESXiはコンソールOSを持たないハイパーバイザのみの提供となっており、非常にフットプリントが小さいためUSBメモリなどに保存してそこから起動させることも可能である。ただし、VMware ESXiはVMware VirtualCenterによる集中管理やVMotionによるライブ・マイグレーションの機能などが利用できないため、これらの機能を利用するためには別途ライセンスを購入してアップグレードする必要がある。VMware ESXiではできることが限られるため、テスト・開発環境から始めて本番環境に展開するようなことが予測される場合や、テスト環境でも規模が大きくなるような場合は、あらかじめライセンスを追加する費用を考えておいた方がよいだろう。
Citrixでは、Citrix XenServerを2009年3月31日より無償化して提供しているため、これを利用することによって低コストで実用的な仮想環境が構築可能だ。Citrix XenServerにおいて無償で利用できる機能としては、XenCenterによる複数サーバの管理が可能であり、物理サーバが複数台にわたる仮想環境を構築することもできる。XenMotionによるライブ・マイグレーションの機能も利用できるため、テスト・開発環境に限らずそのまま本番環境での運用にも適用できる可能性がある。ただし、XenServer HAによる高可用性の機能を使用するためにはCitrix XenServerには含まれず有償版のCitrix Essentials for XenServerが必要になる。そのため、将来的に要件として高可用性が必要な場合はライセンスを購入することにより対応することが可能である。
Microsoft Hyper-Vでは、Windows Server 2008の一機能としてだけではなく、「Hyper-V Server 2008」が単体の製品として無償で提供されている。Hyper-V Server 2008では、Windows Server 2008のローカルのグラフィカル・ユーザー・インターフェイス(GUI)を持たず、Server Core+Hyper-Vの必要最低限の役割のみが搭載されている。Hyper-V Server 2008には利用可能なOSインスタンスが付属していないため、Windows Server 2003や2008などのサーバOSを使用するには別途OSのライセンスを用意する必要がある。Windows Server 2008のHyper-Vでは、仮想環境で使用できるWindows Server OSのインスタンスがStandard Editionでは1つ、Enterprise Editionでは4つ、またDatacenter Editionでは無制限に使用することができるため、環境によってはHyper-V Server 2008よりもWindows Server 2008を利用した方が低コストになる場合もある。ここで利用できるライセンスはWindows Server 2003/2008などのサーバOSのみとなっているため、Windows XPやWindows VistaのようなクライアントOSやSUSE Enterprise Linux、Red Hat Enterprise Linuxなど有償で提供されているLinuxディストリビューションを使用するときには別途ライセンスの購入が必要になる。いずれにしろ、Windows Server 2008のライセンスを所有していればすぐにHyper-Vの機能を有効にして使用することができるため、ほかの製品と比較しても使い始めるまでのハードルは低いといえるだろう。
以上のとおり、いずれの製品を使用した場合でも仮想化を利用した環境を構築することは実現できる。しかし製品によって、無償で使用できる機能には違いがあるため、その違いを把握しておくことが重要になる。下表は、無償で利用できる仮想化機能をそれぞれ比較したものである。
VMware ESXi | Citrix XenServer | Microsoft Hyper-V Server 2008 | |
最大物理プロセッサ数 | 32(コア) |
無制限 |
4(ソケット) |
最大仮想プロセッサ数 | 4 |
8 |
4 |
WindowsおよびLinuxゲストOSサポート | ○ |
○ |
○ |
複数サーバ管理 | × |
○ |
× |
P2VおよびV2V | ○ |
○ |
× |
共有ストレージ | × |
○ |
× |
テンプレート機能 | × |
○ |
× |
ライブ・マイグレーション | × |
○ |
× |
無償で利用できる仮想化機能の比較 |
INDEX | ||
[運用] 3大仮想化ソフトウェア機能比較 | ||
第3回 仮想化ソフトウェア選択の用途別ポイント | ||
1.各仮想化ソフトウェアの特徴 | ||
2.用途別の仮想化ソフトウェアの選び方 | ||
運用 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|