Виртуальная машина на основе ядра

редактировать
Модуль виртуализации в Ядро Linux
KVM
Kvmbanner- logo2 1.png
Снимок экрана QEMU / KVM, на котором запущены гостевые системы NetBSD, OpenSolaris и Kubuntu на хосте Arch Linux. Снимок экрана QEMU / KVM под управлением NetBSD, OpenSolaris и Kubuntu гостевых систем на хосте Arch Linux.
Оригинальный автор (ы) Qumranet
Разработчик (и) Linux Kernel commun ity
Репозиторий Отредактируйте это в Викиданных
Написано наC
Операционная система Unix-подобная
Платформа ARM, IA-64, PowerPC, S / 390, x86, x86-64
Тип гипервизор
Лицензия GNU GPL или LGPL
Веб-сайтwww.linux-kvm.org

Виртуальная машина на основе ядра (KVM ) - это модуль виртуализации в Linux. ядро, которое позволяет ядру функционировать как гипервизор. Он был объединен с основной веткой ядра Linux в версии ядра 2.6.20, выпущенной 5 февраля 2007 г. KVM требует процессора с расширениями аппаратной виртуализации, такими как Intel VT или AMD-V. KVM также был перенесен на другие операционные системы, такие как FreeBSD и illumos, в виде загружаемых модулей ядра.

KVM изначально разрабатывался для процессоров x86, но с тех пор был перенесен на S / 390, PowerPC, IA-64 и ARM.

KVM обеспечивает аппаратную виртуализацию для широкого спектра гостевых операционных систем, включая Linux, BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, Операционная система AROS Research и macOS. Кроме того, Android 2.2, GNU / Hurd (Debian K16), Minix 3.1.2a, Solaris 10 U3 и Darwin 8.0. 1, вместе с другими операционными системами и некоторыми более новыми версиями перечисленных, известно, что они работают с определенными ограничениями.

Кроме того, KVM обеспечивает поддержку паравиртуализации для Linux, OpenBSD, FreeBSD, NetBSD, Plan 9 и гостевые системы Windows, использующие VirtIO API. Сюда входят паравиртуальная карта Ethernet, контроллер дискового ввода-вывода, драйвер балуна и графический интерфейс VGA с использованием SPICE или Драйверы VMware.

Содержание

  • 1 История
  • 2 Внутреннее устройство
  • 3 Функции
  • 4 Эмулируемое оборудование
  • 5 Графические инструменты управления
  • 6 Лицензирование
  • 7 См. Также
  • 8 Ссылки
  • 9 Библиография
  • 10 Внешние ссылки

История

Ави Кививи начал разработку KVM в середине 2006 года в Qumranet, технологической начинающей компании, которая был приобретен Red Hat в 2008 году.

KVM появился в октябре 2006 года и был объединен с основной веткой ядра Linux в версии ядра 2.6.20, выпущенной 5 февраля 2007 года.

KVM обслуживается Паоло Бонзини.

Внутреннее устройство

Общий обзор среды виртуализации KVM / QEMU

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

  • настройки адресного пространства гостевой виртуальной машины. Хост также должен предоставить образ микропрограммы (обычно это настраиваемый BIOS при эмуляции ПК), который гость может использовать для загрузки в свою основную ОС.
  • Подавать имитацию ввода-вывода гостя.
  • Карта гостевое видео отображается обратно на системный хост.

В Linux, QEMU версии 0.10.1 и новее является одним из таких хостов пользовательского пространства. QEMU использует KVM, когда он доступен, для виртуализации гостей на скоростях, близких к родным, но в остальном возвращается к программной эмуляции.

Внутри KVM использует SeaBIOS как реализацию с открытым исходным кодом 16-битной x86 BIOS.

Функции

KVM поддерживает, динамическое управление памятью и Live Migration с февраля 2007 г. Влияние интенсивной записи в память на рабочую нагрузку в процессе миграции

Эмулируемое оборудование

КлассУстройство
Видеокарта Cirrus CLGD 5446 Карта PCI VGA, фиктивная карта VGA с расширениями Bochs VESA или VirtIO
PCI i440FX или Q35
Устройство ввода PS / 2 и USB Мышь / клавиатура
Звуковая карта Sound Blaster 16, ENSONIQ AudioPCI ES1370, Gravis Ultrasound GF1, Совместимость с CS4231A, Intel HD Audio
Ethernet Сетевая карта AMD Am79C970A (Am7990 ), E1000 (Intel 82540EM, 82573L, 82544GC), NE2000, Realtek RTL8139 и VirtIO
Устройство хранения IDE, SATA, SCSI, SAS, USB, NVMe и VirtIO
Watchdog timer Intel 6300ESB или IB700
RAM от 50 МБ до 32 ТБ
ЦП 1 - 160 ЦП

Инструменты графического управления

libvirt поддерживает KVM
  • Kimchi - веб-инструмент управления виртуализацией для KVM
  • Virtual Machine Manager - поддерживает создание, редактирование, запуск и остановку виртуальных машин на основе KVM, а также динамическую или холодную миграцию виртуальных машин между хостами.
  • Proxmox Virtual Environment - пакет управления виртуализацией с открытым исходным кодом, включая KVM и LXC. Он имеет инсталлятор с нуля, графический интерфейс удаленного управления через Интернет, кластерный стек высокой доступности, унифицированное хранилище, гибкую сеть и дополнительную коммерческую поддержку.
  • OpenQRM - платформа управления для управления разнородными инфраструктурами центров обработки данных.
  • GNOME Boxes - интерфейс Gnome для управления гостями libvirt в Linux.
  • oVirt - инструмент управления виртуализацией с открытым исходным кодом для KVM, построенный на основе libvirt

Лицензирование

частей KVM под различными лицензиями GNU:

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

См. Также

  • Портал бесплатного программного обеспечения и программного обеспечения с открытым исходным кодом
  • icon Портал Linux

Ссылки

Библиография

Внешние ссылки

Последняя правка сделана 2021-05-25 04:29:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте