Kernel-based Virtual Machine или KVM — специальное программное обеспечение для аппаратной виртуализации на операционных системах (ОС) Linux и ее дистрибутивах. Продукт был выпущен в 2006 году компанией Red Hat, а в 2007 году был включен в состав ядра Linux. Это дает преимущества при создании и управлении виртуальными машинами (ВМ).
В этой статье мы расскажем, что такое виртуализация, как работает технология KVM, разберем архитектуру гипервизора и поговорим о его достоинствах. Также мы объясним, как установить KVM на Ubuntu, как управлять эмуляциями, затронем распространенные проблемы KVM и способы их решения.
Что такое виртуализация при помощи KVM
Виртуализация — это техническая операция, при которой создается виртуальное представление вычислительной машины или программного обеспечения (ПО). Можно виртуализировать сервер, системный блок, рабочий стол и даже смартфон. К примеру, мощности физического сервера делят на несколько изолированных сред, которые полностью повторяют функционал хост-машины.
Эмуляции физических устройств называют виртуальными машинами (ВМ). Они представляют собой файлы, которые запускаются в виде процессов на хостовой операционной системе. На ВМ можно устанавливать операционные системы, программы и работать на них, как на полноценных устройствах.
Существуют специальные программы для виртуальных машин. Такое ПО называется гипервизор и подразделяется на три типа:
Виртуализация при помощи KVM принципиально не отличается от работы других гипервизоров по типу VMware, XEN и других. Смысл заключается в том, что KVM разрабатывался специально под ОС Linux и ее дистрибутивов. Он имеет открытый исходный код и распространяется бесплатно. Его функционала хватает для задач малого и среднего бизнеса.
Как работает KVM
Работа KVM заключается в том, чтобы дать виртуальным машинам доступ к эмуляциям аппаратных компонентов хостовой машины. Иными словами, гипервизор Linux является связующим звеном между "железом" компьютера и ВМ. Во время создания виртуального представления, например, сервера, происходит следующее:
При создании ВМ необходимо дать ей имя, определить количество процессоров, ОЗУ, объем накопителя, сетевые интерфейсы и другие характеристики. Стоит отметить, что вычислительная мощность хост-машины уменьшается на тот объем, который был передан ВМ.
Гипервизор 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 поставляется с открытым исходным кодом. Это значит, что гипервизор можно сконфигурировать под свои требования и задачи, а также повысить надежность и защиту системы.
Из этих двух плюсов вытекают другие достоинства гипервизора:
Управление виртуальными машинами KVM
Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.
Заполнить заявку
13201 тендер
проведено за восемь лет работы нашего сайта.
Существует два способа управления виртуальными машинами:
Выбор способа зависит только от ваших предпочтений. Суть одна: можно создавать ВМ, управлять их жизненным циклом, ограничивать или выдавать ресурсы хост-машины и так далее.
Распространенные проблемы и решения в работе с KVM:
Не удается установить KVM
Описание:
Решение:
Не создаются ВМ
Описание:
Решение:
Проблемы с сетевой конфигурацией
Описание:
1. ВМ не могут получить доступ в интернет.
2. При коммуникации ВМ не видят друг друга.
Решение:
1. Необходимо проверить настройки виртуальных сетевых интерфейсов на хост-машине.
2. Проверить конфигурацию сети в самих ВМ.
3. Перезапустить сетевые службы.
Проблемы с производительностью ВМ
Описание:
Решение: