Снимок экрана 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.
Ави Кививи начал разработку KVM в середине 2006 года в Qumranet, технологической начинающей компании, которая был приобретен Red Hat в 2008 году.
KVM появился в октябре 2006 года и был объединен с основной веткой ядра Linux в версии ядра 2.6.20, выпущенной 5 февраля 2007 года.
KVM обслуживается Паоло Бонзини.
KVM обеспечивает абстракцию устройства, но не эмуляцию процессора. Он предоставляет интерфейс / dev / kvm, который затем может использовать хост пользовательского режима для:
В 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 ЦП |
частей KVM под различными лицензиями GNU: