CTOになるまで続けるブログ

My daily personal tech notes

KVM とは何か

libvirt に続いて KVM についてもまとめる。

KVM の概要

「Kernel-based Virtual Machine」の略で、「けーぶいえむ」と読む。

完全仮想化を提供するためのソリューションとして知られている。 KVM はカーネルに組み込まれていることが特徴のひとつで、煩わしいカーネルコンパイルが不要な点で Xen より優れている。

ただし実際には、KVM は高速化のための CPU 処理の仕組みのみを提供するカーネルモジュールに過ぎない。 仮想化としての機能は QEMU が担当しており、QEMU/KVM という併記表現がより正確である。

VM の管理には、libvirt を利用する。 libvirt は、仮想化基盤との対話のためのライブラリおよびツール群である。 libvirt 自体は、特定の仮想化基盤に依存しないつくりになっているが、KVM にとっては libvirt は事実上択一な選択肢となっている。

KVM の要件

1つ目は、カーネルのバージョンが 2.6.20 以降であること。 KVM は比較的最近の機能であり、これ以前のカーネルには KVM の機能が含まれていないためである。

2つ目は CPU が仮想化機能に対応していること。 KVM の提供する高速な CPU 処理を利用するには、ハードウェアのサポートが必要となるためである。

出典

http://hp.vector.co.jp/authors/VA022911/tec/suse/kvm_virtmanager.htm http://www.fujitsu.com/downloads/JP/archive/imgjp/jmag/vol62-1/paper18.pdf