KVM

Что такое KVM?ядро

Что такое KVM?ядро

Виртуализация относится к созданию смоделированного вычислительного ресурса, который имитирует поведение соответствующего реального или физического ресурса. Можно виртуализировать многие типы ресурсов, от программного обеспечения до отдельных аппаратных устройств и завершенных аппаратных платформ. Этот пост посвящен виртуальным машинам, которые включают такие устройства, как ЦП, память, сетевая карта, диск, графический адаптер и операционная система. Программное обеспечение, которое создает и запускает виртуальные машины, называется гипервизором. Ниже мы обсудим особенности гипервизора под названием KVM.

Преимущества виртуализации

В прошлом однородность была принципом работы в центрах обработки данных, в центрах разработки и дома. Практически все машины будут запускать одну и ту же версию одной операционной системы, будь то Linux, Windows или FreeBSD. Времена изменились.

Сегодня мы ожидаем разные ОС, такие как Linux и Windows, и даже разные версии ОС (e.грамм., Windows XP и 10) для совместной работы в одной компьютерной среде. Без виртуальных машин необходимо развернуть и обслуживать несколько физических машин, чтобы приложения могли запускаться на нескольких операционных платформах. Виртуализация позволяет запускать несколько виртуальных машин, каждая из которых может работать с разными ОС, на одной физической машине.

Преимущества виртуальных машин перед физическими:

  1. Более эффективное использование ресурсов компьютера.
    Цена на оборудование продолжает снижаться, в то время как его вычислительная мощность продолжает расти. В этой реальности многие большие мощные машины сегодня, как правило, недоиспользуются, если судить по количеству циклов простоя ЦП, неиспользуемой памяти и т. Д. Консолидация виртуальных машин на меньшем количестве физических машин приводит к меньшему количеству физических ресурсов и, следовательно, к повышению эффективности.
  1. Улучшенный I.Т. отзывчивость и продуктивность.
    Подготовка нового физического оборудования влечет за собой длительный период ожидания приобретения, за которым следует длительный период установки и развертывания после его доставки. Напротив, подготовка виртуальных машин может быть автоматизирована и сделана доступной за считанные минуты, а не дни или даже недели, на что иногда требуется традиционное приобретение машин.
  1. Экономия затрат.
    Большие дата-центры сэкономят деньги за счет более низких эксплуатационных расходов. Экономия достигается за счет уменьшения счетов за электроэнергию в результате более низких требований к охлаждению и мощности.

Представляем KVM

Виртуальная машина на основе ядра, сокращенно KVM, - это бесплатное решение для гипервизора с открытым исходным кодом. Он конкурирует в зрелой отрасли с альтернативами с открытым исходным кодом, такими как Xen, VirtualBox, а также с проприетарными продуктами, такими как VMware vSphere, Citrix XenServer, Microsoft Hyper-V.

До 2005 года все решения гипервизора, такие как Xen и VirtualBox, были программными. В архитектуре x86 просто не было возможности поддерживать виртуализацию.  В 2005 году введение расширений набора команд Intel VT и AMD-V навсегда изменило ландшафт виртуализации. KVM выпустил свою первую версию в 2006 году и был одним из первых гипервизоров, которые воспользовались преимуществами нового оборудования для оптимизации производительности виртуализации.

Вы можете установить KVM на любой 32-битный или 64-битный компьютер x86, называемый `` хост-машиной '' на гипервизорном жаргоне, который поддерживает расширение Intel VT или AMD-V. Сегодня современные гипервизоры обычно поддерживают гибридную виртуализацию: с аппаратной поддержкой, когда это возможно, и с переключением на программное обеспечение только для старых наборов микросхем.

KVM относится к гипервизору типа 2, что означает, что он работает в операционной системе хоста. Как следует из названия, KVM основан на ядре, а если быть более точным, это ядро ​​Linux. Поэтому неудивительно, что KVM поддерживает только Linux в качестве основной ОС. (Впоследствии KVM был перенесен на FreeBSD.Если вам нужен многоплатформенный гипервизор типа 2 с открытым исходным кодом, VirtualBox - хороший кандидат. VirtualBox изначально может работать в Windows, Linux, Mac OS X и Solaris.

Xen, напротив, представляет собой гипервизор типа 1, также известный как гипервизор без операционной системы, который запускается непосредственно как прошивка на хост-машине. Преимущество типа 1 перед типом 2 заключается в эффективности, достигаемой за счет работы гипервизора непосредственно на базовом оборудовании. Недостатком является то, что гипервизор типа 1 может не поддерживать такой широкий спектр хост-устройств, как операционная система хоста гипервизора типа 2.

Хотя гипервизоры могут различаться в зависимости от того, требуется ли им хостовая ОС и какие из них, они очень похожи в отношении поддерживаемых гостевых ОС, т. Е. ОС, которую может запускать виртуальная машина. KVM поддерживает виртуализацию следующих гостевых ОС:

KVM может запускать немодифицированные образы гостевой ОС. Эта функция известна как полная виртуализация, в отличие от паравиртуализации, когда гостевая ОС модифицируется для специальной обработки операций, выполнение которых на виртуальной машине значительно сложнее, чем на хост-машине.


Как работает KVM

KVM состоит из двух технологических компонентов: ядра и пользовательского пространства. Компонент ядра состоит из 2 загружаемых модулей ядра: kvm.ко, и либо kvm-intel.ko или kvm-amd.ко. КВМ.Модуль ko обеспечивает обработку виртуализации, не зависящую от архитектуры ядра. КВМ-Интел.КО и КВМ-АМД.ko модули соответствуют модулям для процессоров Intel и AMD. Эти модули были объединены в ядро ​​Linux начиная с версии ядра 2.6.20.

Тесная интеграция KVM с ядром Linux имеет свои преимущества. KVM может делегировать Linux для выполнения основной работы системы, в то время как он фокусируется на обработке новых инструкций виртуализации, предоставляемых оборудованием. KVM также выигрывает, унаследовав от любого постоянного улучшения системы от апстрима в более крупном сообществе Linux.

Важно, что модули ядра не эмулируют оборудование виртуальной машины, на котором работает гостевая ОС. Эта работа принадлежит пользовательскому пространству. KVM использует QEMU, который запускается в пользовательском пространстве, для создания виртуальных машин, которые взаимодействуют с гостевыми ОС.  Каждая виртуальная машина - это обычный процесс Linux. Одним из больших преимуществ является то, что вы можете использовать знакомые команды Linux, такие как top и kill, для мониторинга виртуальных машин и управления ими.


Резюме и заключение

KVM - отличное решение с открытым исходным кодом для полной виртуализации на хост-платформе Linux. После более чем 10 лет активной разработки KVM стал де-факто стандартным инструментом виртуализации на уровне машины во многих дистрибутивах Linux.

OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...
SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...