Номинируйте кейсы на Workspace Digital Awards 2026. Прием заявок до 15 декабря по льготной цене, успейте принять участие!
Назад
Веб-разработка

KVM (Kernel-Based Virtual Machine): что это и как устанавливать систему виртуализации

730 
 

Kernel-based Virtual Machine или KVM — специальное программное обеспечение для аппаратной виртуализации на операционных системах (ОС) Linux и ее дистрибутивах. Продукт был выпущен в 2006 году компанией Red Hat, а в 2007 году был включен в состав ядра Linux. Это дает преимущества при создании и управлении виртуальными машинами (ВМ).

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

Виртуализация KVM
Виртуализация KVM

Что такое виртуализация при помощи KVM

Виртуализация — это техническая операция, при которой создается виртуальное представление вычислительной машины или программного обеспечения (ПО). Можно виртуализировать сервер, системный блок, рабочий стол и даже смартфон. К примеру, мощности физического сервера делят на несколько изолированных сред, которые полностью повторяют функционал хост-машины.

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

Существуют специальные программы для виртуальных машин. Такое ПО называется гипервизор и подразделяется на три типа:

  • тип 1 работает с аппаратным обеспечением машины напрямую;
  • тип 2 устанавливается поверх основной операционной системы и зависит от нее;
  • тип 3 — гибридный, совмещает в себе возможности и преимущества первых двух.

Виртуализация при помощи KVM принципиально не отличается от работы других гипервизоров по типу VMware, XEN и других. Смысл заключается в том, что KVM разрабатывался специально под ОС Linux и ее дистрибутивов. Он имеет открытый исходный код и распространяется бесплатно. Его функционала хватает для задач малого и среднего бизнеса.

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

Работа KVM заключается в том, чтобы дать виртуальным машинам доступ к эмуляциям аппаратных компонентов хостовой машины. Иными словами, гипервизор Linux является связующим звеном между "железом" компьютера и ВМ. Во время создания виртуального представления, например, сервера, происходит следующее:

  1. создается файл-образ ВМ;
  2. происходит эмуляция компонентов хост-машины: процессор, ОЗУ, накопители и так далее;
  3. эмулируемые компоненты "устанавливаются" в ВМ;
  4. инсталлируется гостевая ОС;
  5. виртуальный сервер готов к работе.

При создании ВМ необходимо дать ей имя, определить количество процессоров, ОЗУ, объем накопителя, сетевые интерфейсы и другие характеристики. Стоит отметить, что вычислительная мощность хост-машины уменьшается на тот объем, который был передан ВМ.

Гипервизор Kernel-based Virtual Machine создает виртуальные машины в виде отдельных процессов основной операционной системы. Они изолированы от ОС, поэтому ВМ не конфликтуют между собой за вычислительные ресурсы хост-системы. В случае необходимости можно настроить работу виртуальных представлений так, чтобы они могли взаимодействовать друг с другом. После настройки остается управлять процессами и реагировать на неисправности, о которых мы расскажем ниже.

Архитектура и гипервизор KVM

Гипервизор Linux состоит из самого ядра, который уже встроен в операционную систему, монитора виртуальных машин (VMM, virt-manager) и QEMU (Quick Emulator). Последний компонент не обязателен, но часто используется за счет широкого функционала и удобства в использовании. Архитектура виртуализации при помощи KVM базовая:

  • хост-машина;
  • гипервизор;
  • виртуальные представления хоста;
  • гостевые ОС.

Компонент VMM позволяет работать с ядром гипервизора, благодаря чему можно управлять жизненным циклом ВМ, контролировать их производительность и потребление вычислительных мощностей. Встроенная утилита также предоставляет графический интерфейс для администрирования.

KVM и QEMU можно часто встретить в связке. Это ПО, которое применяется для эмуляции аппаратного обеспечения. Также Quick Emulator может заменять VMM в некоторых случаях.

Установка KVM на Ubuntu

Система KVM использует технологию аппаратной виртуализации, поэтому перед установкой гипервизора необходимо проверить поддержку этой процедуры процессором. В командной строке выполните следующий код без кавычек: "egrep -c '(vmx|svm)' /proc/cpuinfo". Если система вернула 1 — поддержка есть, если 0 — нет.

Если ваш процессор поддерживает аппаратную виртуализацию, установите пакеты KVM virtualization с помощью специальной команды. Специалисты Инжетерра советуют после завершения установки проверить корректность инсталляции гипервизора командой: "kvm-ok".

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

Первое преимущество продукта разработчика Red Hat — с версии 2.6.20 Linux KVM встроен в основное ядро операционной системы. Это значит, что гипервизор может работать "из коробки": не требуется установка дополнительного платного программного обеспечения.

Другое преимущество — KVM поставляется с открытым исходным кодом. Это значит, что гипервизор можно сконфигурировать под свои требования и задачи, а также повысить надежность и защиту системы.

Из этих двух плюсов вытекают другие достоинства гипервизора:

  1. возможность работы с аппаратным обеспечением хост-машины напрямую: повышается производительность ВМ и всей системы в целом;
  2. гибкость в управлении вычислительными мощностями: ВМ создаются в виде отдельных процессов, из-за чего проще управлять и распределять ресурсы хоста;
  3. наличие функции Live migration: динамическая миграция позволяет переносить ВМ с одной хост-системы на другую без остановки процессов;
  4. простота восстановления данных: Kernel-based Virtual Machine автоматически создает резервные копии, из-за чего после сбоя легко восстановить состояние и данные с ВМ;
  5. динамическое распределение мощностей хост-машины: KVM автоматически распределяет ресурсы, предотвращая их избыточное использование ВМ.
KVM
KVM

Управление виртуальными машинами KVM


Разместите
тендер бесплатно

Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.

Заполнить заявку 13201 тендер
проведено за восемь лет работы нашего сайта.


Существует два способа управления виртуальными машинами:

  • через командную строку (virsh);
  • через GUI монитора ВМ (virt-manager).

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

Распространенные проблемы и решения в работе с KVM:

Не удается установить KVM

Описание:

  1. Гипервизор уже установлен.
  2. Отсутствует аппаратная поддержка виртуализации.
  3. При установке были отмечены не все репозитории.

Решение:

  1. Нужно удалить все существующие пакеты и установить снова.
  2. Проверьте поддержку аппаратной виртуализации при помощи команды "egrep -c '(vmx|svm)' /proc/cpuinfo". Если ответ 0 - поддержка отсутствует.
  3. Убедитесь, что все репозитории включены

Не создаются ВМ

Описание:

  1. Отсутствует аппаратная поддержка виртуализации.
  2. Поддержка есть, но все равно возникают конфликты на основе ее отсутствия.
  3. Проблемы в создании ВМ из-за конфликтов драйверов.
  4. Отсутствуют необходимые пакеты для работы ВМ.

Решение:

  1. Необходимо заменить процессор или использовать другую хост-систему.
  2. Необходимо включить поддержку в настройках BIOS.
  3. Установить подходящие драйвера.
  4. Установить необходимые пакеты.


Проблемы с сетевой конфигурацией

Описание:

1. ВМ не могут получить доступ в интернет.

2. При коммуникации ВМ не видят друг друга.

Решение:

1. Необходимо проверить настройки виртуальных сетевых интерфейсов на хост-машине.

2. Проверить конфигурацию сети в самих ВМ.

3. Перезапустить сетевые службы.

Проблемы с производительностью ВМ

Описание:

  1. Низкая производительность виртуальных машин.
  2. Высокая задержка.

Решение:

  1. Необходимо установить KVM-агент и драйверы VirtIO.
  2. Настроить привязки CPU и NUMA.
  3. Настроить HugePages.
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.




730

Лучшие статьи

Поделиться: 0 0 0