KVM: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
орфография $
Нет описания правки
Метка: редактор вики-текста 2017
 
(не показаны 3 промежуточные версии 2 участников)
Строка 19: Строка 19:
'''KVM''' ('''Kernel-based Virtual Machine''') — программное решение, обеспечивающее [[виртуализация|виртуализацию]] в среде [[Linux]] на [[аппаратное обеспечение|платформе]] [[x86]], которая поддерживает [[Аппаратная виртуализация|аппаратную виртуализацию]] на базе [[Intel]] [[VT]] (Virtualization Technology) либо [[AMD]] SVM (Secure Virtual Machine).
'''KVM''' ('''Kernel-based Virtual Machine''') — программное решение, обеспечивающее [[виртуализация|виртуализацию]] в среде [[Linux]] на [[аппаратное обеспечение|платформе]] [[x86]], которая поддерживает [[Аппаратная виртуализация|аппаратную виртуализацию]] на базе [[Intel]] [[VT]] (Virtualization Technology) либо [[AMD]] SVM (Secure Virtual Machine).


Программное обеспечение KVM состоит из [[загружаемый модуль ядра|загружаемого модуля ядра]] (называемого <tt>kvm.ko</tt>), предоставляющего базовый сервис виртуализации, процессорно-специфического загружаемого модуля <tt>kvm-amd.ko</tt> либо <tt>kvm-intel.ko</tt>, и компонентов пользовательского режима (модифицированного [[QEMU]]). Все компоненты программного обеспечения KVM [[Открытое программное обеспечение|открыты]]. Компонент ядра, необходимый для работы KVM, включён в основную ветку [[Linux (ядро)|ядра Linux]] начиная с версии 2.6.20 (февраль 2007 года)<ref>{{cite web|url=http://kerneltrap.org/node/7670|title=Linux: 2.6.20 Kernel Released|publisher=KernelTrap|archiveurl=https://www.webcitation.org/65d4Sg5CD?url=http://kerneltrap.org/node/7670|archivedate=2012-02-21|deadurl=yes}}</ref>. KVM был также портирован на [[FreeBSD]] как модуль ядра<ref>{{cite web|url=http://www.freebsd.org/news/status/report-2007-07-2007-10.html#Porting-Linux-KVM-to-FreeBSD|title=FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD|archiveurl=https://www.webcitation.org/65d4V75nZ?url=http://www.freebsd.org/news/status/report-2007-07-2007-10.html#Porting-Linux-KVM-to-FreeBSD|archivedate=2012-02-21|deadurl=yes}}</ref>. Ведётся работа по включению модификаций, необходимых для работы с KVM, в основную ветку QEMU.
[[Программное обеспечение]] KVM состоит из [[загружаемый модуль ядра|загружаемого модуля ядра]] (называемого <tt>kvm.ko</tt>), предоставляющего базовый сервис виртуализации, процессорно-специфического загружаемого модуля <tt>kvm-amd.ko</tt> либо <tt>kvm-intel.ko</tt>, и компонентов пользовательского режима (модифицированного [[QEMU]]). Все компоненты [[Программное обеспечение|программного обеспечения]] KVM [[Открытое программное обеспечение|открыты]]. Компонент ядра, необходимый для работы KVM, включён в основную ветку [[Linux (ядро)|ядра Linux]] начиная с версии 2.6.20 (февраль 2007 года)<ref>{{cite web|url=http://kerneltrap.org/node/7670|title=Linux: 2.6.20 Kernel Released|publisher=KernelTrap|archiveurl=https://www.webcitation.org/65d4Sg5CD?url=http://kerneltrap.org/node/7670|archivedate=2012-02-21|deadurl=yes}}</ref>. KVM был также портирован на [[FreeBSD]] как модуль ядра<ref>{{cite web|url=http://www.freebsd.org/news/status/report-2007-07-2007-10.html#Porting-Linux-KVM-to-FreeBSD|title=FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD|archiveurl=https://www.webcitation.org/65d4V75nZ?url=http://www.freebsd.org/news/status/report-2007-07-2007-10.html#Porting-Linux-KVM-to-FreeBSD|archivedate=2012-02-21|deadurl=yes}}</ref>. Ведётся работа по включению модификаций, необходимых для работы с KVM, в основную ветку QEMU.


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


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


Программное обеспечение KVM было создано, разрабатывается и поддерживается фирмой [[Qumranet]], которая была куплена [[Red Hat]] за $107 млн 4 сентября 2008 года.<ref>{{Cite web
Программное обеспечение KVM было создано, разрабатывается и поддерживается фирмой [[Qumranet]], которая была куплена [[Red Hat]] за $107 млн 4 сентября 2008 года.<ref>{{Cite web
|url = http://www.opennet.ru/opennews/art.shtml?num=17725
|url = http://www.opennet.ru/opennews/art.shtml?num=17725
|title = Red Hat приобрела компанию Qumranet, разрабатывающую систему виртуализации KVM
|title = Red Hat приобрела компанию Qumranet, разрабатывающую систему виртуализации KVM
Строка 57: Строка 57:


== Текущие разработки ==
== Текущие разработки ==
KVM использует [[QEMU]] в качестве фронтенда и для эмуляции некоторых устройств<ref>http://www.cs.hs-rm.de/~linn/fachsem0910/hirt/KVM.pdf {{Wayback|url=http://www.cs.hs-rm.de/~linn/fachsem0910/hirt/KVM.pdf |date=20151223152855 }} "To provide hardware like hard disks, cd drives or network cards to the VMs, KVM
KVM использует [[QEMU]] в качестве [[фронтенд]]а и для эмуляции некоторых устройств<ref>http://www.cs.hs-rm.de/~linn/fachsem0910/hirt/KVM.pdf {{Wayback|url=http://www.cs.hs-rm.de/~linn/fachsem0910/hirt/KVM.pdf |date=20151223152855 }} «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"</ref>. Ведётся работа по оптимизации использования возможностей аппаратной виртуализации, заложенных в современных процессорах Intel и AMD. Производительность KVM сравнивалась с производительностью [[Xen]], работающего в режиме аппаратной виртуализации (не [[Паравиртуализация|паравиртуализации]]), и при определённых видах нагрузок KVM показывал лучшую производительность (но не в большинстве случаев)<ref>[http://www.phoronix.com/scan.php?page=article&item=623&num=3 Phoronix Linux KVM Virtualization Performance<!-- Заголовок добавлен ботом -->] {{Wayback|url=http://www.phoronix.com/scan.php?page=article&item=623&num=3 |date=20091109022919 }}, 8 January 2007</ref>.
uses a highly modified QEMU .. KVM uses QEMU as such a backend which handles I/O operations directly»</ref>. Ведётся работа по оптимизации использования возможностей аппаратной виртуализации, заложенных в современных [[Список микропроцессоров Intel|процессорах Intel]] и [[Список микропроцессоров AMD|AMD]]. Производительность KVM сравнивалась с производительностью [[Xen]], работающего в режиме аппаратной виртуализации (не [[Паравиртуализация|паравиртуализации]]), и при определённых видах нагрузок KVM показывал лучшую производительность (но не в большинстве случаев)<ref>[http://www.phoronix.com/scan.php?page=article&item=623&num=3 Phoronix Linux KVM Virtualization Performance<!-- Заголовок добавлен ботом -->] {{Wayback|url=http://www.phoronix.com/scan.php?page=article&item=623&num=3 |date=20091109022919 }}, 8 January 2007</ref>.


== См. также ==
== См. также ==

Текущая версия от 14:11, 8 февраля 2024

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

Программное обеспечение 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 Архивная копия от 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