Виртуальная машина на основе ядра - Kernel-based Virtual Machine
Было предложено, чтобы информация об аппаратной эмуляции, предоставляемой QEMU, была расколоть в другую статью под названием QEMU. (Обсуждать) (Ноябрь 2020 г.) |
Оригинальный автор (ы) | Кумранет |
---|---|
Разработчики) | В Ядро Linux сообщество |
Репозиторий | |
Написано в | C |
Операционная система | Unix-подобный |
Платформа | РУКА, IA-64, PowerPC, S / 390, x86, x86-64 |
Тип | Гипервизор |
Лицензия | GNU GPL или же LGPL |
Интернет сайт | www |
Виртуальная машина на основе ядра (KVM) это виртуализация модуль в Ядро Linux что позволяет ядро функционировать как гипервизор. Он был объединен с Linux Основная линия ядра в версии ядра 2.6.20, выпущенная 5 февраля 2007 года.[1] KVM требует процессора с аппаратная виртуализация расширения, такие как Intel VT или же AMD-V.[2] KVM также был перенесен на другие операционные системы, такие как FreeBSD[3] и иллюзия[4] в виде загружаемых модулей ядра.
KVM изначально был разработан для x86 процессоров, но с тех пор портирован к S / 390,[5] PowerPC,[6] IA-64, и РУКА.[7]
KVM обеспечивает виртуализация с аппаратной поддержкой для широкого спектра гостевых операционных систем, включая Linux, BSD, Солярис, Windows, Хайку, ReactOS, План 9, Операционная система AROS Research и macOS.[8][9] Кроме того, Android 2.2, GNU / Hurd[10] (Debian К16), Minix 3.1.2a, Solaris 10 U3 и Дарвин Известно, что 8.0.1 вместе с другими операционными системами и некоторыми более новыми версиями перечисленных выше работает с определенными ограничениями.[11]
Кроме того, KVM предоставляет паравиртуализация поддержка Linux, OpenBSD,[12] FreeBSD,[13] NetBSD,[14] План 9[15] и гости Windows, использующие VirtIO API.[16] Это включает паравиртуальный Карта Ethernet, дисковый контроллер ввода-вывода,[17] водитель воздушного шара, а VGA графический интерфейс с использованием СПЕЦИЯ или же VMware драйверы.
История
Ави Кививи начал разработку KVM в середине 2006 г. Кумранет, технология стартап компания[18] что было приобретено Красная шляпа в 2008.[19]
KVM появился в октябре 2006 г.[20] и был объединен с основной веткой ядра Linux в версии ядра 2.6.20, выпущенной 5 февраля 2007 года.[1]
KVM поддерживается Паоло Бонзини.[21]
Внутренности
KVM обеспечивает абстракцию устройства, но не эмуляцию процессора. Он раскрывает / dev / kvm интерфейс, который хост пользовательского режима может затем использовать для:
- Настройте адресное пространство гостевой виртуальной машины. Хост также должен предоставить образ микропрограммы (обычно это настраиваемый BIOS при эмуляции ПК), который гость может использовать для загрузки в свою основную ОС.
- Подача имитации ввода-вывода гостя.
- Сопоставьте отображение видео гостя с хостом системы.
В Linux QEMU версии 0.10.1 и выше является одним из таких узлов пользовательского пространства. QEMU использует KVM, когда он доступен, для виртуализации гостей на скоростях, близких к родным, но в остальном возвращается к программной эмуляции.
Внутри KVM использует SeaBIOS как реализация с открытым исходным кодом 16-битного x86 BIOS.[23]
Функции
KVM поддерживает виртуальные ЦП с возможностью горячей замены,[24] динамическое управление памятью,[25] и Живая миграция с февраля 2007 г.[26][27] влияние рабочей нагрузки на интенсивную запись в память в процессе миграции[28]
Эмулируемое оборудование
Эта секция дубликаты объем других разделов, конкретно, QEMU # x86. (Ноябрь 2020) |
Учебный класс | Устройство |
---|---|
Видеокарта | Карта Cirrus CLGD 5446 PCI VGA, фиктивная карта VGA с Bochs VESA расширения[29] или VirtIO[30] |
PCI | i440FX или же Q35[29] |
Устройство ввода | PS / 2 и USB Мышь / Клавиатура[29] |
Звуковая карта | Sound Blaster 16, ENSONIQ AudioPCI ES1370, Гравис УЗИ GF1, Совместимость с CS4231A, Intel HD Audio[29] |
Ethernet Сетевая карта | AMD Am79C970A (Am7990 ), E1000 (Intel 82540EM, 82573L, 82544GC), NE2000, Realtek RTL8139 и VirtIO |
Устройство хранения | IDE, SATA, SCSI, SAS, USB, NVMe и VirtIO |
Сторожевой таймер | Intel 6300ESB или IB700 |
баран | от 50 МБ до 32 ТБ |
ЦПУ | 1 - 160 процессоров |
Инструменты графического управления
- Кимчи - веб-инструмент управления виртуализацией для KVM
- Диспетчер виртуальных машин - поддерживает создание, редактирование, запуск и остановку виртуальных машин на основе KVM, а также динамическую или холодную миграцию виртуальных машин между хостами с помощью перетаскивания.
- Виртуальная среда Proxmox - пакет управления виртуализацией с открытым исходным кодом, включая KVM и LXC. Он имеет инсталлятор с нуля, графический интерфейс удаленного управления через Интернет, стек кластера высокой доступности, унифицированное хранилище, гибкую сеть и дополнительную коммерческую поддержку.
- OpenQRM - платформа управления для управления гетерогенными инфраструктурами ЦОД.
- Ящики GNOME - Интерфейс Gnome для управления гостями libvirt в Linux.
- OVirt - инструмент управления виртуализацией с открытым исходным кодом для KVM, построенный на основе libvirt
Лицензирование
Компоненты KVM находятся под различными лицензиями GNU:[31]
- Модуль ядра KVM: GPL v2
- Пользовательский модуль KVM: LGPL v2
- Библиотека ядра виртуального процессора QEMU (libqemu.a) и эмулятор системы ПК QEMU: LGPL
- Эмулятор QEMU пользовательского режима Linux: GPL
- Файлы BIOS (bios.bin, vgabios.bin и vgabios-cirrus.bin): LGPL v2 или новее
Смотрите также
Рекомендации
- ^ а б «Ядро Linux 2.6.20, раздел 2.2. Поддержка виртуализации через KVM». kernelnewbies.org. 2007-02-05. Получено 2014-06-16.
- ^ KVM FAQ: что мне нужно для использования KVM?
- ^ «Ежеквартальный отчет о состоянии FreeBSD: перенос Linux KVM на FreeBSD».
- ^ «KVM на иллюмосах».
- ^ «Гмане - по почте в новости и обратно». Архивировано из оригинал на 2007-09-29. Получено 2007-05-07.
- ^ Gmane Loom В архиве 2007-09-29 на Wayback Machine
- ^ «Проект с открытым исходным кодом KVM / ARM». Архивировано из оригинал на 2013-03-10. Получено 2017-11-01.
- ^ «KVM wiki: статус гостевой поддержки». Получено 2007-05-27.
- ^ «Запуск Mac OS X в качестве гостя QEMU / KVM». Получено 2014-08-20.
- ^ "положение дел". Gnu.org. Получено 2014-02-12.
- ^ «Статус гостевой поддержки - KVM». Linux-kvm.org. Получено 2014-02-12.
- ^ "Страница руководства OpenBSD virtio (4)". Получено 2018-02-04.
- ^ "Бинарные пакеты virtio для FreeBSD". Получено 2012-10-29.
- ^ "Страница руководства по NetBSD virtio (4)". Получено 2013-07-15.
- ^ "план9фронт". Получено 2013-02-11.
- ^ «API для виртуального ввода-вывода: virtio». LWN.net. 2007-07-11. Получено 2014-04-16.
- ^ "Цель SCSI для KVM wiki". linux-iscsi.org. 2012-08-07. Получено 2012-08-12.
- ^ Интервью: Ави Кивити В архиве 2007-04-26 на Wayback Machine на KernelTrap
- ^ «Red Hat продвигает лидерство в области виртуализации с приобретением Qumranet, Inc.». Красная шляпа. 4 сентября 2008 г.. Получено 16 июн 2015.
- ^ https://www.itworldcanada.com/article/kvm-15-equipped-with-live-migration/7901
- ^ Либби Кларк (7 апреля 2015 г.). «Истории успеха Git и советы от специалиста по обслуживанию KVM Паоло Бонзини». Linux.com. Архивировано из оригинал 15 марта 2016 г.. Получено 17 июн 2015.
- ^ Khoa Huynh; Стефан Хайноци (2010). «Обсуждение производительности стека хранения KVM / QEMU» (PDF). IBM. Конференция сантехников Linux. Получено 3 января, 2015.[постоянная мертвая ссылка ]
- ^ «СиБИОС». seabios.org. 2013-12-21. Получено 2014-06-16.
- ^ https://access.redhat.com/articles/1339413
- ^ https://www.linux-kvm.org/page/FAQ#Is_dynamic_memory_management_for_gests_supported.3F
- ^ https://lwn.net/Articles/223754/
- ^ https://www.linux-kvm.org/page/Migration
- ^ https://www.berrange.com/posts/2016/05/12/analysis-of-techniques-for-ensuring-migration-completion-with-kvm/
- ^ а б c d wiki.qemu.org - Документация для пользователя эмулятора QEMU, читать 2010-05-06
- ^ «Представляем Virgil - виртуальный 3D-графический процессор для qemu». 2013-07-18. Архивировано из оригинал на 2013-07-25.
- ^ Информация о лицензировании Ubuntu 7.04 / usr / share / doc / kvm / авторское право
Библиография
- Амит Шах (2 ноября 2016 г.). «Десять лет КВМ». lwn.net. Получено 2017-02-10.
внешняя ссылка
- Официальный веб-сайт
- Лучшие практики для виртуальной машины на основе ядра, IBM, второе издание, апрель 2012 г.
- Улучшение производительности Virtio-blk, KVM Forum 2012, 8 ноября 2012 г., Азиас Хе
- Wikibook QEMU & KVM