KVM

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

Kernel-based Virtual Machine
Тип виртуализация
Разработчик Open Virtualization Alliance (OVA), изначально (Qumranet, затем Red Hat)
Написана на Си
Операционная система Linux
Последняя версия 1.2.0 (5 сентября 2012)
Лицензия 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.

Лицензия

  • 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 "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, 8 January 2007

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.