Kernel-based Virtual Machine

提供: miniwiki
移動先:案内検索

Kernel-based Virtual Machine (KVM) は、Linuxカーネル仮想化基盤。Linuxカーネル 2.6.20 以降に標準搭載されている。

概要

Intel VTまたはAMD-Vを使ったネイティブ仮想化をサポートしている。またLinuxおよびWindowsをゲストOSとして、準仮想化を限定的にサポートしている。これには準仮想ネットワークドライバ[1]、ゲストOSの仮想記憶管理の動作を変更するバルーンドライバ[2]、Linuxゲスト向けのCPU最適化などが含まれる。KVMは今のところローダブル・カーネル・モジュールとして実装されている。

他のアーキテクチャへの移植としては、s390[3]PowerPC[4]IA-64[5]がある。2007年2月、KVMの最初のバージョンが Linux 2.6.20 に含まれる形となった[6]。また、FreeBSDにもローダブル・カーネル・モジュールとして移植されている[7]

KVM上で動作するゲストOSは幅広く、各種Linux、BSD、SolarisWindowsHaikuReactOSAROS Research Operating System などが動作する[8]。また、パッチを当てれば macOS が動作する[9]

KVM自体はAPICなど一部を除いて周辺装置のエミュレーションをしない。/dev/kvm インタフェースを使うユーザープログラムがゲストのアドレス空間を設定し、周辺装置のエミュレーションを提供し、ゲストのI/OをホストのI/Oにマッピングする。この機能を担うプログラムとしては、QEMU(0.10.0 以降)がある。

KVMの各部品は、以下のように様々なGNUライセンスでライセンスされている[10]

  • KVM カーネルモジュール: GPL v2
  • KVM ユーザモジュール: LGPL v2
  • QEMU 仮想CPUコアライブラリ (libqemu.a) と QEMU PCシステムエミュレータ: LGPL
  • Linux ユーザモードQEMUエミュレータ: GPL
  • BIOSファイル (bios.bin, vgabios.bin, vgabios-cirrus.bin): LGPL v2 あるいはそれ以降

KVMの保守は Avi Kivity が行っており、Qumranet(KVMを使った企業向けソリューションを提供する会社)が援助している[11]。Qumranetは、現在はレッドハットの子会社となっている[12]

グラフィカルな管理ツール

  • Virtual Machine Manager(libvirt) - KVMベースの仮想機械の生成、編集、起動、停止をサポート
  • ConVirt - KVMベースの仮想機械の生成、編集、起動、停止をサポート。また、ドラッグ・アンド・ドロップによってVMを移動させることができる。
  • Proxmox Virtual Environment - フリーな仮想化ソフトウェア。KVMとOpenVZを同梱。管理用GUIを含み、オプションで有償サポートがある。
  • Karesansui

エミュレート対象ハードウェア

前述のように周辺装置のエミュレーションのほとんどはQEMUにより提供される。そのため 利用可能な周辺装置のバリエーションはQEMUのものと同じになる。

クラス デバイス
ビデオカード VGA[13],Red Hat QXL,Cirrus Logic,Simulated VMware SVGA(バグがあります),VirtIO GPU
サウンドカード Sound Blaster 16[14],Intel HD Audio,AC97
イーサネット ネットワークカード AMD Am79C970A (and Am7990?)[15], E1000 (Intel 82540EM, 82573L, 82544GC) [16], NE2000[17], Realtek 8139[18],VirtIO-NET

脚注・出典

  1. Gmane - Mail To News And Back Again 2007年4月12日
  2. 3.2 Ballooning
  3. Gmane - Mail To News And Back Again 2007年4月26日
  4. KVM PowerPC support
  5. KVM Status
  6. Linux: 2.6.20 Kernel Released”. KernelTrap. 2012年7月23日時点のオリジナルよりアーカイブ。. 2009閲覧.
  7. FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD”. . 2009閲覧.
  8. KVM wiki: Guest support status”. . 2007閲覧.
  9. Virtualizing an x86 Mac OS X”. . 2009閲覧.
  10. Ubuntu 7.04 /usr/share/doc/kvm/copyright からのライセンス情報
  11. Interview: Avi Kivity on KernelTrap
  12. Red Hat press release on Qumranet purchase 2008年9月
  13. kvm-85/qemu/hw/vga.c
  14. kvm-85/qemu/hw/sb16.c
  15. kvm-85/qemu/hw/pcnet.c
  16. kvm-85/qemu/hw/e1000.c
  17. kvm-85/qemu/hw/ne2000.c
  18. kvm-85/qemu/hw/rtl8139.c

関連項目

外部リンク

テンプレート:仮想化