Jump to content

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

(Перенаправлено с Linux KVM )
КВМ
Оригинальный автор(ы) Кумранет
Разработчик(и) Сообщество ядра Linux
Репозиторий
Написано в С
Операционная система Unix-подобный
Платформа ARM , PowerPC , ESA/390 , IA-32 , x86-64
Тип Гипервизор
Лицензия GNU GPL или LGPL
Веб-сайт www .linux-kvm .org

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

KVM изначально был разработан для процессоров x86 , но с тех пор был портирован на ESA/390 . [ 5 ] PowerPC , [ 6 ] ИА-64 и АРМ . [ 7 ] [ 8 ] Порт IA-64 был удален в 2014 году. [ 9 ]

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

Кроме того, KVM обеспечивает поддержку паравиртуализации для Linux, OpenBSD , [ 14 ] FreeBSD, [ 15 ] НетБСД , [ 16 ] План 9 [ 17 ] и гости Windows, использующие VirtIO API . [ 18 ] Сюда входят паравиртуальная карта Ethernet , контроллер дискового ввода-вывода, [ 19 ] драйвер воздушного шара и VGA графический интерфейс с использованием драйверов SPICE или VMware .

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

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

KVM поддерживается Паоло Бонзини. [ 23 ]

Внутренности

[ редактировать ]
Общий обзор среды виртуализации KVM/QEMU. [ 24 ] : 3 

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

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

Первоначально разветвленная версия QEMU была предоставлена ​​для запуска гостевых систем и работы с эмуляцией оборудования, которая не обрабатывается ядром. Эта поддержка в конечном итоге была объединена с проектом разведки и добычи. В настоящее время существует множество мониторов виртуальных машин (VMM), которые могут использовать интерфейс KVM, включая kvmtool, crosvm и Firecracker , а также многочисленные специализированные VMM, созданные с использованием таких инфраструктур, как Rust-VMM.

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

KVM поддерживает виртуальные процессоры с возможностью горячей замены . [ 26 ] динамическое управление памятью, [ 27 ] и Live Migration с февраля 2007 года. [ 28 ] [ 29 ] Это также снижает влияние рабочих нагрузок, требующих интенсивной записи в память, на процесс миграции. [ 30 ]

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

[ редактировать ]

KVM сам по себе эмулирует очень мало аппаратного обеспечения, вместо этого отдавая предпочтение клиентскому приложению более высокого уровня, такому как QEMU , crosvm или Firecracker, для эмуляции устройства.

KVM предоставляет следующие эмулируемые устройства:

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

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

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

[ редактировать ]

Компонент режима ядра KVM является частью ядра Linux , который сам лицензируется по лицензии GNU General Public License, версия 2 . [ 32 ]

См. также

[ редактировать ]
  1. ^ Jump up to: а б «Ядро Linux 2.6.20, Раздел 2.2. Поддержка виртуализации через KVM» . kernelnewbies.org . 05 февраля 2007 г. Проверено 16 июня 2014 г.
  2. ^ Часто задаваемые вопросы о KVM: что мне нужно для использования KVM?
  3. ^ «Ежеквартальный отчет о состоянии FreeBSD: перенос Linux KVM на FreeBSD» .
  4. ^ «КВМ на иллюминациях» .
  5. ^ «Gmane — почта для новостей и обратно» . Архивировано из оригинала 29 сентября 2007 г. Проверено 7 мая 2007 г.
  6. Gmane Loom. Архивировано 29 сентября 2007 г. в Wayback Machine.
  7. ^ «Проект с открытым исходным кодом KVM/ARM» . Архивировано из оригинала 10 марта 2013 г. Проверено 1 ноября 2017 г.
  8. ^ Кристофер Далл; Джейсон Ние (2014). «KVM/ARM: проектирование и реализация гипервизора ARM для Linux» . Международная конференция ACM по архитектурной поддержке языков программирования и операционных систем.
  9. ^ «kernel/git/torvalds/linux.git: KVM: ia64: удалить» .
  10. ^ «KVM wiki: Статус гостевой поддержки» . Проверено 27 мая 2007 г.
  11. ^ «Запуск Mac OS X в качестве гостя QEMU/KVM» . Проверено 20 августа 2014 г.
  12. ^ «статус» . Gnu.org . Проверено 12 февраля 2014 г.
  13. ^ «Статус гостевой поддержки — KVM» . Linux-kvm.org . Проверено 12 февраля 2014 г.
  14. ^ «Справочная страница OpenBSD virtio(4)» . Проверено 4 февраля 2018 г.
  15. ^ «Бинарные пакеты virtio для FreeBSD» . Проверено 29 октября 2012 г.
  16. ^ «Справочная страница NetBSD virtio(4)» . Архивировано из оригинала 13 ноября 2019 г. Проверено 15 июля 2013 г.
  17. ^ «план9фронт» . Проверено 11 февраля 2013 г.
  18. ^ «API для виртуального ввода-вывода: virtio» . LWN.net . 11 июля 2007 г. Проверено 16 апреля 2014 г.
  19. ^ «Цель SCSI для KVM-вики» . Linux-iscsi.org. 07.08.2012. Архивировано из оригинала 5 июня 2020 г. Проверено 12 августа 2012 г.
  20. ^ Интервью: Ави Кивив. Архивировано 26 апреля 2007 г. в Wayback Machine на KernelTrap.
  21. ^ «Red Hat укрепляет лидерство в области виртуализации благодаря приобретению Qumranet, Inc.» . Красная шляпа . 4 сентября 2008 года . Проверено 16 июня 2015 г.
  22. ^ «KVM 15 оснащен функцией динамической миграции | IT World Canada News» . 7 марта 2007 г.
  23. ^ Либби Кларк (7 апреля 2015 г.). «Истории успеха Git и советы от специалиста по обслуживанию KVM Паоло Бонзини» . Linux.com . Архивировано из оригинала 15 марта 2016 года . Проверено 17 июня 2015 г.
  24. ^ Хоа Хюинь; Стефан Хайноци (2010). «Обсуждение производительности стека хранилища KVM/QEMU» (PDF) . ИБМ . Конференция сантехников Linux . Проверено 3 января 2015 г. [ постоянная мертвая ссылка ]
  25. ^ «Морской БИОС» . seabios.org. 21 декабря 2013 г. Проверено 16 июня 2014 г.
  26. ^ «Горячее подключение виртуальных процессоров с помощью Red Hat Enterprise Virtualization Manager» .
  27. ^ «Часто задаваемые вопросы – КВМ» .
  28. ^ «Выпуск KVM-15 [LWN.net]» .
  29. ^ «Миграция – КВМ» .
  30. ^ «Дэниел П. Берранже» Архив блога » Анализ методов обеспечения завершения миграции с помощью KVM» .
  31. ^ «Полная документация по API KVM (виртуальной машины на основе ядра) — документация по ядру Linux» .
  32. ^ «Правила лицензирования ядра Linux — Документация по ядру Linux» . www.kernel.org . Архивировано из оригинала 7 марта 2020 года . Проверено 6 января 2020 г.

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d0b74089702cbbc44683cf9abaf89fc0__1718044800
URL1:https://arc.ask3.ru/arc/aa/d0/c0/d0b74089702cbbc44683cf9abaf89fc0.html
Заголовок, (Title) документа по адресу, URL1:
Kernel-based Virtual Machine - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)