KVM

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

Kernel-based Virtual Machine
Логотип программы Kernel-based Virtual Machine
Скриншот программы Kernel-based Virtual Machine
Тип виртуализация
Разработчики Open Virtualization Alliance (OVA), изначально (Qumranet, затем Red Hat)
Написана на Си
Операционная система Linux
Последняя версия 1.2.0 (5 сентября 2012)
Репозиторий git.kernel.org/pub/scm/v…
Лицензия GNU General Public License и GNU Lesser General Public License
Сайт linux-kvm.org
Логотип Викисклада Медиафайлы на Викискладе

Программное обеспечение KVM состоит из загружаемого модуля ядра (называемого kvm.ko), предоставляющего базовый сервис виртуализации, процессорно-специфического загружаемого модуля kvm-amd.ko либо kvm-intel.ko, и компонентов пользовательского режима (модифицированного QEMU). Все компоненты программного обеспечения KVM открыты. Компонент ядра, необходимый для работы KVM, включён в основную ветку ядра Linux начиная с версии 2.6.20 (февраль 2007 года)[1]. KVM был также портирован на FreeBSD как модуль ядра[2]. Ведётся работа по включению модификаций, необходимых для работы с KVM, в основную ветку QEMU.

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

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

Программное обеспечение KVM было создано, разрабатывается и поддерживается фирмой Qumranet, которая была куплена Red Hat за $107 млн 4 сентября 2008 года.[3]. После сделки KVM (наряду с системой управления виртуализацией oVirt) вошла в состав платформы виртуализации RHEV[en].

Лицензия править

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

Системные требования править

KVM требует наличия x86-совместимого процессора с поддержкой одной из технологий аппаратной виртуализации — Intel VT либо AMD SVM. На данный момент[уточнить] KVM в состоянии запускать в качестве гостевых операционных систем 32-битные и 64-битные системы на базе ядра Linux, Windows и другие системы[уточнить][4].

Графические утилиты управления править

 
Kernel-based Virtual Machine и libvirt.
  • Virtual Machine Manager: создание, редактирование, запуск и остановка виртуальных машин, основанных на KVM
  • ConVirt: создание, редактирование, запуск и остановка виртуальных машин, основанных на KVM, как горячую, так и холодную миграцию с других VM хостов.
  • Proxmox Virtual Environment. Свободная виртуализация, основанная на KVM и OpenVZ — установка на урезанный дистрибутив Linux, управление через GUI и возможность получения коммерческой поддержки
  • AQEMU: создание, редактирование, запуск, остановка, сохранение мгновенных снимков виртуальных машин, основанных на KVM и QEMU. Программа создана русскоязычным разработчиком с использованием Qt4, позволяет задать все параметры для KVM/QEMU. Хостится на SourceForge.
  • GKVM: для рабочей среды GNOME. Создание, редактирование, запуск, остановка, сохранение мгновенных снимков виртуальных машин KVM. Хостится на SourceForge.
  • QtEmu: графическая оболочка для QEMU и KVM, написана на Qt4. Интерфейс на десяти языках. Хостится на SourceForge.

Текущие разработки править

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

См. также править

Примечания править

  1. Linux: 2.6.20 Kernel Released. KernelTrap. Архивировано из оригинала 21 февраля 2012 года.
  2. FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD. Архивировано из оригинала 21 февраля 2012 года.
  3. blkdog. Red Hat приобрела компанию Qumranet, разрабатывающую систему виртуализации KVM. Maxim Chirkov (4 сентября 2008). Дата обращения: 5 сентября 2008. Архивировано из оригинала 22 декабря 2011 года.
  4. Main Page — KVM Архивировано 10 июля 2007 года.
  5. http://www.cs.hs-rm.de/~linn/fachsem0910/hirt/KVM.pdf Архивная копия от 23 декабря 2015 на Wayback Machine «To provide hardware like hard disks, cd drives or network cards to the VMs, KVM uses a highly modified QEMU .. KVM uses QEMU as such a backend which handles I/O operations directly»
  6. Phoronix Linux KVM Virtualization Performance Архивная копия от 9 ноября 2009 на Wayback Machine, 8 January 2007

Ссылки править