Как установить и настроить KVM/QEMU

Для чего нужен KVM

KVM – это программное решение для создания виртуализации на серверах под управлением Linux. С его помощью создаются виртуальные машины, размещаемые на одном сервере, но работающие независимо друг от друга. KVM ( Kernel Virtual Machine) использует встроенные возможности ядра Linux для создания и управления виртуальными машинами, что делает его эффективным и быстрым по сравнению с другими решениями виртуализации.

KVM позволяет запускать виртуальные машины с разными операционными системами. Каждая виртуальная машина имеет свои выделенные обособленные ресурсы (процессорное время, память и дисковое пространство), что позволяет эффективно использовать физический сервер.

KVM был создан в 2004 году разработчиком Linux Ави Климером. Сначала продукт был в составе ядра Linux в качестве эксперимента. В 2007 году KVM перенесли в отдельный блок ядра и сделали официальной частью Linux. С 2008 году Red Hat купила компанию Qumranet (она была спонсором KVM) и стала развивать KVM вместе с другими своими продуктами. 

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

Для чего нужен QEMU

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

QEMU – это программное обеспечение для эмуляции аппаратного набора программ компьютера (расшифровывается как Quick Emulator). Оно позволяет запускать виртуальные машины на компьютере, который работает под управлением различных операционных систем.

QEMU может имитировать различные аппаратные компоненты, такие как процессор, память, диск, сетевой интерфейс. Эти возможности позволяют запускать одновременно виртуальные машины, под управлением различных операционных систем и приложений. 

QEMU – открытое и бесплатное программное обеспечение, доступное как для физических лиц, так и для компаний. 

Для установки виртуализационного решения KVM рекомендуем использовать услугу  VPS/VDS хостинг на Linux.

Установка и настройка KVM/QEMU в Ubuntu

Перед тем как начать установку KVM/QEMU потребуется проверка аппаратной поддержки виртуализации на вашем оборудовании. Чтобы выяснить, возможен ли запуск QEMU/KVM, используйте команду:

 egrep -c '(vmx|svm)' /proc/cpuinfo

Расшифровываем ответ сервера: 

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

  1. Установите KVM/QEMU и связанные пакеты, используя команды:

sudo apt-get update

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

  1. Добавьте пользователя в группу libvirt, введите:

sudo adduser `id -un` libvirt

sudo adduser `id -un` kvm

  1. Чтобы выполнить проверку и запустить службу libvirtd, выполните:

sudo systemctl status libvirtd

  1. Далее потребуется создание сетевого моста для виртуальных машин. Для этого заведите конфигурационный файл netplan:

sudo nano /etc/netplan/01-netcfg.yaml

И добавьте в него следующий код:

network:

  version: 2

  renderer: networkd

  ethernets:

    enp0s3:

      dhcp4: no

  bridges:

    br0:

      dhcp4: no

      interfaces: [enp0s3]

      addresses: [192.168.1.10/24]

      gateway4: 192.168.1.1

      nameservers:

        addresses: [8.8.8.8,8.8.4.4]

При необходимости внесите нужные коррективы и сохраните.

  1. Чтобы применить настройки сети, выполните команду:

sudo netplan apply

Установка и настройка KVM/QEMU завершена.

Создание виртуальных машин KVM

Если вы создаете виртуальные машины (ВМ) с помощью командной строки, используйте утилиты virsh и virt-install. В этом случае команда для создания ВМ будет иметь вид:

sudo virt-install \

  --virt-type=kvm \

  --name ubuntu1710\

  --ram 1024 \

  --vcpus=1 \

  --os-variant=ubuntu17.10 \

  --hvm \

  --cdrom=/var/lib/libvirt/boot/ubuntu-17.10.1-server-amd64.iso \

  --network network=default,model=virtio \

  --graphics vnc \

  --disk path=/var/lib/libvirt/images/ubuntu1710.img,size=20,bus=virtio

Рассмотрим значения, которые используются в команде выше:

  • virt-type – тип виртуализации
  • name – имя создаваемой машины
  • ram – количество оперативной памяти в мегабайтах
  • vcpus – количество ядер процессора
  • os-variant – операционная система
  • cdrom – установочный образ системы
  • network-bridge – сетевой мост, который был создан ранее;
  • graphics – каким образом будет происходить доступ к графическому интерфейсу;
  • diskpath – местонахождение нового жесткого диска для новой виртуальной машины;

При работе с виртуальными машинами, используйте следующие команды:

  • Запустить виртуальную машину:

sudo virsh start имя_ВМ

  • Остановить работу машины:

 sudo virsh shutdown имя_ВМ

  • Выполнить перезагрузку:

 sudo virsh reboot имя_ВМ

  • Удалить виртуальную машину:

 sudo virsh destroy имя_ВМ

Создание виртуальных машин в GUI

GUI (Graphical User Interface) –- это оболочка, которая содержит набор программных средств, позволяющих взаимодействовать с компьютерной системой, используя графические элементы: окна, кнопки, меню и другие. Графический интерфейс обеспечивает простой и интуитивно понятный способ управления компьютерной системой, что делает ее доступной для простого пользователя. 

Для создания виртуальной машины (ВМ) с помощью KVM можно использовать GUI, например, утилиту virt-manager. Для создания виртуальной машины с помощью графического интерфейса выполните следующие шаги:

  1. Запустите virt-manager:

sudo virt-manager

  1. Нажмите на кнопку Create a new virtual machine (Создать новую виртуальную машину).
  2. Выберите тип установки (ISO-образ, PXE-загрузка и т.д.).

  1. Укажите количество процессоров, объем оперативной памяти и размер дискового пространства.
  2. Настройте сетевые интерфейсы и другие параметры виртуальной машины.

После этого начнется установка заданного образа виртуальной машины:

  1. После окончания установки вы можете запустить виртуальную машину.

В процессе запуска виртуальной машины вы можете использовать дополнительные настройки:

  • Выбрать тип сетевого интерфейса (NAT, мост, внутренняя сеть и т.д.), указать MAC-адрес и настроить другие параметры сети.
  • Выбрать тип диска (файловый образ, блочное устройство и т.д.), указать размер диска и настроить другие параметры диска.
  • Добавить дополнительные устройства (звуковая карта, USB-контроллер и т.д.) и настроить их параметры.

Создавать виртуальные машины в GUI можно с помощью других утилит, таких как, VMware Workstation, Parallels Desktop и т.д. Эти утилиты предоставляют более широкий набор функций и возможностей для настройки виртуальных машин.

Заключение

KVM и QEMU являются открытыми и бесплатными программами, которые позволяют работать с виртуальными машинами на Linux-серверах. Установка этих программ –  достаточно простой процесс, который выполняется в несколько шагов.

Использование KVM и QEMU позволит создавать и управлять виртуальными машинами, что помогает обеспечить гибкость и эффективность в разработке программного обеспечения, тестировании и деплое.

Всё ещё остались вопросы?