Kernel-based 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 — приладом, призначеного для комутації одного комплекту приладів вводу-виводу (англ. keyboard video mouse — клавіатура, відео, миша) між кількома комп'ютерами.

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

Програмне забезпечення 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.

Посилання

  • Офіційний сайт
  • Wikibook QEMU & KVM
  • First benchmarks of KVM
  • "News, Blogs and Resources on the Linux (KVM) Kernel-Based Virtual Machine"
  • Available KVM-Implementation from Collax [Архівовано 9 березня 2012 у Wayback Machine.]
  • UnifiedSessionsManager – An OpenSource based Service and Sessions Manager for QEMU/KVM

Див. також

  • oVirt — система управління віртуалізацією
  • Lguest — мінімалістичний гіпервізор Linux
  • п
  • о
  • р
Апаратна
(гіпервізори)
Native
Hosted
Specialized
  • Basilisk II
  • Bochs
  • Cooperative Linux
  • DOSBox
  • DOSEMU
  • PCem
  • PikeOS
  • SheepShaver
  • SIMH
  • Windows on Windows
    • Virtual DOS machine
  • Win4Lin
Independent
Tools
В операційній
системі
контейнери ОС
  • FreeBSD jail
  • iCore Virtual Accounts
  • Linux-VServer
  • Linux Containers
  • OpenVZ
  • Solaris Containers
  • Virtuozzo
  • Workload Partitions
контейнери програм
віртуальне ядро
  • Rump kernel
  • User-mode Linux
  • vkernel
інше
оркестрація
Десктопа
  • Citrix Virtual Apps
  • Citrix Virtual Desktops
  • Remote Desktop Services
  • VMware Horizon
Аплікації
  • Ceedo
  • Citrix Virtual Apps
  • Dalvik
  • InstallFree
  • Microsoft App-V
  • Remote Desktop Services
  • Symantec Workspace Virtualization
  • Turbo
  • VMware ThinApp
  • ZeroVM
Мережі
інше