Kernel-based Virtual Machine (KVM) — програмне рішення, що забезпечує віртуалізацію в середовищі Linux на платформі x86 , яка підтримує апаратну віртуалізацію на базі Intel VT (Virtualization Technology) або AMD SVM (Secure Virtual Machine).

KVM
Екран QEMU/KVM із запущеним NetBSD, OpenSolaris та Kubuntu на хості Arch Linux
Тип платформа віртуалізації
Розробник Open Virtualization Alliance (OVA)
Стабільний випуск 1.2.0 (5 вересня 2012; 11 років тому (2012-09-05))
Версії 1.2
Операційна система Unix-like
Мова програмування C
Ліцензія GNU General Public License чи GNU Lesser General Public License
Репозиторій git.kernel.org/pub/scm/virt/kvm/kvm.git
Вебсайт www.linux-kvm.org
(неофіційний)

Програмне забезпечення KVM було створено фірмою Qumranet, яка була куплена RedHat за 107 мільйонів доларів 4 вересня 2008 року.[1] Компонент ядра, необхідний для роботи KVM, включений в основну гілку Linux починаючи з версії 2.6.20 (лютий 2007).[2]

На KVM заснована Red Hat Enterprise Virtualization (RHEV), промислова платформа для організації управління інфраструктурою віртуалізації від компанії Red Hat.

Системні вимоги ред.

KVM вимагає наявності x86-сумісного процесора з підтримкою однієї з технологій апаратної віртуалізації - Intel VT або AMD SVM. KVM в змозі запускати як гостьові ОС GNU/Linux (32-бітові та 64-бітові), Windows (32-бітові та 64-бітові) та інші системи. [4]

Програмне забезпечення KVM складається з завантажувального модуля ядра (званого kvm.ko), що надає базовий сервіс віртуалізації, процесорно-специфічного завантажувального модуля kvm-amd.ko або kvm-intel.ko, і компонентів для режиму користувача (модифікованого QEMU). Всі компоненти KVM є програмним забезпеченням з відкритим сирцевим кодом.

Сам по собі KVM не виконує емуляції. Замість цього програма, що працює в просторі користувача, використовує інтерфейс /dev/kvm для налаштування адресного простору гостя віртуальної машини, через нього ж емулює пристрої вводу-виводу і відеоадаптер.

KVM дозволяє віртуальним машинам використовувати немодифіковані образи дисків QEMU, VMware та інших, що містять операційні системи. Кожна віртуальна машина має своє власне віртуальне апаратне забезпечення: мережеві карти, диск, відеокарту тощо.

KVM був також портований на FreeBSD як модуль ядра..[3]

Графічні утиліти управління ред.

 
Kernel-based Virtual Machine і libvirt.
  • virt-manager: створення, редагування, запуск і зупинка віртуальних машин, заснованих на KVM
  • virsh: Інтерфейс командного рядка
  • ConVirt: створення, редагування, запуск і зупинка віртуальних машин, заснованих на KVM, як гарячу, так і холодну міграцію з інших VM хостів.
  • Proxmox Virtual Environment. Вільна віртуалізація, заснована на KVM і OpenVZ — установка на урізаний дистрибутив Linux, управління через GUI і можливість отримання комерційної підтримки

Ліцензія ред.

  • KVM модуль ядра: GPLv2
  • KVM модуль користувацького оточення: LGPL v2
  • QEMU бібліотека віртуального процесора (libqemu.a) і емулятор системи QEMU PC: LGPL
  • Емулятор режиму користувача Linux QEMU: GPL
  • Файли BIOS (bios.bin, vgabios.bin і vgabios-cirrus.bin): LGPL v2 або пізніша

Поточні розробки ред.

KVM використовує модифікований QEMU як фронтенд. Ведеться робота з оптимізації використання можливостей апаратної віртуалізації, закладених в сучасних процесорах Intel і AMD. Продуктивність KVM порівнювалася з продуктивністю Xen, що працює в режимі апаратної віртуалізації (Не паравіртуалізації), і за певних видах навантажень KVM показував кращу продуктивність (але не в більшості випадків). [5]

Ведеться робота з включення модифікацій, необхідних для роботи з KVM, в основну гілку QEMU.

Виноски ред.

  1. blkdog (4 вересня 2008). Red Hat приобрела компанию Qumranet, разрабатывающую систему виртуализации KVM. Maxim Chirkov. Архів оригіналу за 21 лютого 2012. Процитовано 5 вересня 2008.
  2. Linux: 2.6.20 Kernel Released. KernelTrap. Архів оригіналу за 21 лютого 2012. Процитовано 13 червня 2013.
  3. FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD. Архів оригіналу за 21-02-2012. Процитовано 13-06-2013.

Посилання ред.

Див. також ред.