「Kernel-based Virtual Machine(KVM)」基本情報
概要
Kernel-based Virtual Machine(KVM)(カーネルベースド バーチャルマシン)とは、Linuxカーネルに搭載されているハイパーバイザ型仮想化機能です。Linux内に仮想マシンを作成し、Linux/Windowsなどの複数のゲストOSを起動できます。
基本説明
KVMを使用することで、1台のLinux内に仮想マシンを作成し、LinuxやWindowsなどの複数のOSについて、修正を加えずにそのまま動作させることができます。
KVMは、ハイパーバイザ(完全仮想化)型に分類される仮想化機能です。「BIOSも含めたハードウェアすべて」を仮想化します。
CPU/メモリを仮想化する「KVM」と、入出力関連を仮想化する「QEMU」の機能により、完全仮想化を実現します。
主な特徴
動作要件
動作要件① Linuxカーネルバージョン
Linuxカーネルバージョン「2.6.20」以降が必要です。
動作要件② CPUの仮想化機能対応
KVMの動作のためにハードウェアのサポートが必要となるため、仮想マシンのホストのプロセッサ(CPU)が仮想化機能に対応している必要があります。
Intelプロセッサでは「VT-x」、AMDプロセッサでは「AMD-V」という機能が対応しています。
Linuxカーネル標準搭載
KVMのカーネルコンポーネントは、メインラインのLinuxに含まれています。
同様の仮想化機能「Xen」は外部ハイパーバイザーで、マシンの制御を引き受け、ゲスト間でリソースを分割します。
KVMはLinuxの一部であるため、通常のLinuxスケジューラとメモリ管理を使用できます。そのため、KVMは、「Xen」よりも小型軽量で、シンプルに動作できるメリットがあります。
入出力I/O仮想化機能「QEMU」
KVMは、複数のOSを動作させるために、CPU/メモリなどを仮想化する機能を提供します。
「QEMU」はゲストOSの入出力I/O(ディスク/ネットワークなど)を仮想化します。「QEMU」にもCPU仮想化機能はありますが、KVMはこの機能を使用せずにCPUの仮想化を実現しています。
「KVMはCPUを仮想化」「QEMUはI/Oを仮想化」の分担でマシンを仮想化しています。
サポートゲストOS
KVM+QEMUでの仮想化は、多くのゲストOSに対応しています。
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Xen」など。
オフィシャルサイト
オフィシャルサイト
→KVM(Kernel-based Virtual Machine)
ライセンス情報
Kernel-based Virtual Machineのライセンスは「GNU General Public License」です。
詳細について、こちらを参照ください。
→KVM(Kernel-based Virtual Machine) →FAQ →What is the difference between KVM and VMware?
ダウンロード
→KVM(Kernel-based Virtual Machine) →Downloads
参考元サイト
- KVM(Kernel-based Virtual Machine)
- Arch Linux →KVM
- Qiita →KVMの仕組み
- IT pro →Linuxキーワード →KVM Kernel-based Virtual Machine
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。