KVMとXenの主な違いは、KVMがLinuxカーネルの仮想化モジュールでハイパーバイザーに似た働きをするのに対し、Xenは同じコンピュータのハードウェア上で複数のOSを同時に実行できるタイプ1のハイパーバイザーである点です。
仮想化とは、ネットワークリソース、デバイス、オペレーティングシステムを仮想的に作成する方法論です。
リソースを効率的に共有することができ、コストを大幅に削減することができます。
そのため、ほとんどの企業で仮想化が利用されています。
さらに、仮想マシンは、仮想化の実装を支援します。
ハイパーバイザーは、仮想マシンを作成し管理するソフトウェア、ファームウェア、またはハードウェアです。
さらに、ハイパーバイザーには、タイプ1ハイパーバイザーとタイプ2ハイパーバイザーの2種類があります。
タイプ1はハードウェア上で直接実行され、タイプ2は通常のコンピュータプログラムのようにオペレーティングシステム上で実行される。
KVMとは
KVMとは、Kernel-based Virtual Machineの略で、カーネルをハイパーバイザーとして動作させるものです。
カーネルをハイパーバイザーとして動作させることができます。
さらに、Intel VT や AMD-V のようなハードウェア仮想化拡張を持つプロセッサが必要です。
KVMは当初、x86プロセッサ向けに設計されました。
その後、ARM、PowerPCなどのプロセッサに移植された。
FreeBSDやillumosなどのオペレーティングシステムは、ローダブルカーネルモジュールとしてKVMを含んでいます。
また、KVMはLinux、Solaris、Windows、Haiku、OS Xなど多くのゲストOSにハードウェア支援型の仮想化を提供している。
さらに、Android 2.2、Darwin 8.-.1などでは、いくつかの制限付きで動作することができます。
KimchiはKVMのWebベースの仮想化管理ツールです。
仮想マシンマネージャーは、KVMベースの仮想マシンを作成、編集、起動、停止することができます。
OpenQRM は、様々なデータセンターのインフラを管理・制御することができます。
GNOME Boxes – Linux で libvirt ゲストを処理するための Gnome インターフェースです。
oVirt は KVM 用のオープンソース仮想化管理ツールです。
Proxmox Virtual Environment は、KVM と LXC を搭載したオープンソースの仮想化管理パッケージです。
Xenとは
Xen または Xen Project は、タイプ 1 のハイパーバイザーです。
同じコンピュータのハードウェア上で複数のコンピュータのオペレーティングシステムを同時に実行できるようにするためのサービスを提供します。
また、Xenプロジェクトの最初の開発者はケンブリッジ大学であった。
しかし、現在の開発者は、Linux FoundationとIntelです。
さらに重要なことは、Xenプロジェクトのコミュニティは、Xenプロジェクトをフリーかつオープンソースソフトウェアとして維持していることです。
さらに、このプロジェクトは現在、IA-32 x86-6およびARMの命令セットで利用可能です。
KVMとXenの違い
定義
KVMはLinuxカーネルの仮想化モジュールで、カーネルをハイパーバイザーとして機能させるものであり、Xenは同じコンピュータハードウェア上で複数のコンピュータOSを同時に実行するためのサービスを提供するタイプ1のハイパーバイザーです。
したがって、これがKVMとXenの主な違いです。
開発者
KVM は Open Virtualization Alliance (OVA) が開発し、Xen は Linux Foundation と Intel が開発しました。
この点もKVMとXenの違いです。
結論
簡単に説明すると、KVMとXenはC言語で書かれた2つのハイパーバイザーです。
KVMとXenの主な違いは、KVMがLinuxカーネルの仮想化モジュールでハイパーバイザーに似た働きをするのに対し、Xenは同じコンピュータ・ハードウェア上で複数のOSを同時に実行できるタイプ1のハイパーバイザーであることです。