Что такое KVM?

What Is Kvm



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

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

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







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



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



  1. Более эффективное использование ресурсов компьютера.
    Цена на оборудование продолжает снижаться, в то время как его вычислительная мощность продолжает расти. В этой реальности многие большие мощные машины сегодня, как правило, недоиспользуются, что измеряется простоями циклов ЦП, неиспользованной памятью и т. Д. Консолидация виртуальных машин на меньшем количестве физических машин приводит к меньшему количеству физических ресурсов и, следовательно, к повышению эффективности.
  1. Улучшенный I.T. отзывчивость и продуктивность.
    Подготовка нового физического оборудования влечет за собой длительный период ожидания приобретения, за которым следует длительный период установки и развертывания после его доставки. Напротив, подготовка виртуальных машин может быть автоматизирована и сделана доступной за считанные минуты, а не дни или даже недели, как иногда требуется традиционное приобретение машин.
  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 поддерживает виртуализацию следующих гостевых ОС:

  • Дистрибутивы Linux, включая Debian, Ubuntu, Centos, Fedora, RedHat Enterprise Linux
  • BSD, например OpenBSD, FreeBSD, NetBSD
  • Солярис
  • Окна

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


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

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

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

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


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

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