Kernel-based Virtual Machine

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
KVM
Kvmbanner-logo2 1.png
Kvm running various guests.pngЕкран QEMU/KVM із запущеним NetBSD, OpenSolaris та Kubuntu на хості Arch Linux
Розробник(и) Open Virtualization Alliance (OVA)
Стабільний випуск 1.2.0 (5 вересня 2012; 691 день тому)
Написано на C
Операційна система Unix-like
Тип платформа віртуалізації
Ліцензія GNU General Public License чи GNU Lesser General Public License
Сайт www.linux-kvm.org
(неофіційний)

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.
  • Virtual Machine 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.

Виноски[ред.ред. код]

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

Дивись також[ред.ред. код]