Перейти к содержимому

Как настроить гипервизор KVM на Ubuntu?

Автор16.05.2023Дата написанияОколо 7 минВремя чтенияУстановка сервераКатегорияРазвёртываниеТеги

TrueConf Server поддерживает возможность запуска на виртуальной машине (далее ВМ), хотя это сложная процедура и мы не рекомендуем её неопытным пользователям — настройка корректной работы виртуальной машины бывает порой довольно сложным делом.

В этой инструкции мы опишем настройку гипервизора KVM (Kernel-based Virtual Machine) на примере сервера с развёрнутой ОС Ubuntu 22.04 LTS. Но изложенные далее инструкции должны быть полезны для любой ОС семейства Linux, т.к. KVM является частью ядра.

Обновление пакетов

Перед началом работы обновите пакеты с помощью команды:

sudo apt update && sudo apt upgrade -y

Проверка поддержки KVM

Модуль KVM является средством аппаратной виртуализации на базе технологий Intel VT или AMD SVM, соответственно, на процессорах без их поддержки его запуск невозможен.

Чтобы проверить поддержку аппаратной виртуализации, введите в терминал команду:

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

В ответе было получено число 4. Если после выполнения команды вывод составляет больше 0, значит поддерживается аппаратная виртуализация.В данном случае вывод составил 4.

Настройка KVM

Установка KVM

Установите пакеты для работы с виртуализацией выполнив команду:

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

Если у вас Linux с графической оболочкой, вы можете дополнительно установить утилиту virt-manager с графическим интерфейсом (GUI) для визуального управления виртуальными машинами:

sudo apt install -y virt-manager

После установки KVM приступите к его настройке.

Включение виртуализации

Запустите службу Libvirt с помощью команд:

sudo systemctl enable --now libvirtd
sudo systemctl start libvirtd

После запуска службы перезагрузите компьютер и проверьте состояние службы Libvirt, выполнив команду:

sudo systemctl status libvirtd

Добавление пользователя в группы KVM и Libvirt

Чтобы пользователь ОС, под которым вы работаете, мог создавать и управлять виртуальными машинами его нужно добавить в группы KVM и Libvirt. Для этого выполните команду:

sudo usermod -aG kvm,libvirt $USER

Создание сетевого моста

Если планируется иметь доступ к виртуальной машине снаружи сети, тогда необходимо создать сетевой мост для неё.

Далее рассмотрим пример подключения виртуальной машины через Ethernet порт хоста. Предположим, что хост подключён к роутеру, который раздаёт IPv4-адреса по DHCP и ВМ тоже получит IP таким же образом. Учтите, что конфигурация .yaml файла на вашем ПК может отличаться от примера ниже, рекомендуем обратиться к документации.

  • Получить список сетевых интерфейсов в хостовой ОС:

    ip a

    Например, получили вывод:

        1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
        2: enp1s0:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether c0:3e:ba:28:f6:93 brd ff:ff:ff:ff:ff:ff
        inet 10.140.1.108/22 brd 10.140.3.255 scope global dynamic noprefixroute enp1s0
        valid_lft 28101sec preferred_lft 28101sec
        inet6 fe80::dc33:1ae7:97d0:524a/64 scope link noprefixroute
        valid_lft forever preferred_lft forever
  • Выберите нужный интерфейс, например, enp1s0.

  • В каталоге /etc/netplan создайте файл 01-netcfg.yaml с текстом:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp1s0:
      dhcp4: true
      dhcp6: true
  bridges:
    br0:
    interfaces: [enp1s0]
      dhcp4: true
      dhcp6: true

Для создания файла с помощью терминала можете использовать команду:

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

Для применения изменений выполните команду:

sudo netplan apply

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

ip add show

Убедитесь, что в полученном списке есть сетевой интерфейс br0.

Работа с виртуальными машинами

Создание виртуальной машины с помощью терминала

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

virt-install --name [virtual machine name] --vcpu [number of allocated threads] --memory [amount of allocated RAM in MB] --network [network interface] --boot [boot device priority] --disk [virtual disk location, size in GB] --cdrom [path to CD-ROM]

где:

  • --name [virtual machine name] — название виртуальной машины;

  • --vcpu [number of allocated threads] — выделение потоков процессора, количество потоков;

  • --memory [amount of allocated RAM in MB] — выделение оперативной памяти, размер в Мб;

  • --network [network interface] — тип сетевого интерфейса;

  • --boot [boot device priority] — порядок устройств загрузки виртуальной машины, устройства загрузки;

  • --disk [virtual disk location, size in GB] — эмуляция виртуального диска, расположение, размер в Гб;

  • --cdrom [path to CD-ROM] — эмуляция CD-ROM, путь к его содержимому.

Пример итоговой команды:

virt-install --name vmtest1 --vcpu 2 --memory 2048 --network bridge=br0 --boot cdrom,hd,menu=on --disk path=/media/admin/Files/kvmt1/vmtom1,size=30 --cdrom /media/admin/Files/downloads/debian-12.5.0-amd64-DVD-1.iso

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

virsh list --all

В терминале появится список всех виртуальных машин:

 Id   Name  	State
--------------------------
- vmtest1   shut off

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

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

Для создания виртуальной машины нажмите на Файл → Создать виртуальную машину и выполните следующие шаги:

  • Выберите метод установки операционной системы, например, из ISO-образа:
  • Выберите файл образа операционной системы:
  • Выделите для ВМ требуемый объём оперативной памяти и количество виртуальных ядер (vCPU):
  • Настройте пространство хранения данных. Учтите, что в случае выбора варианта Создать образ диска для виртуальной машины диск будет создан в корневом разделе. Для создания хранилища в нужном каталоге выберите вариант Выбрать или создать дополнительное пространство данных, нажмите Настроить:
  • Создайте пул данных, в нём добавьте том для виртуальной машины:
  • Добавьте пул следуя инструкциям менеджера.

  • Добавьте том следуя инструкциям менеджера.

  • Проверьте конфигурацию виртуальной машины, важно выбрать корректную сеть, в данном случае это созданный с помощью .yaml файла сетевой мост br0 :

По завершению проверки нажмите Готово. Откроется окно, где можно ознакомиться с подробной конфигурацией виртуальной машины.

После проверки данной конфигурации нажмите на Начать установку.

Запуск виртуальной машины

Следующим шагом запустите виртуальную машину и установите на неё операционную систему, в данном случае это Debian 12.

Работа с виртуальной машиной с помощью терминала

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

virsh start [virtual machine name]

Проверить запустилась ли она можно по команде:

 Id   Name  	State
-------------------------
 14   vmtest1   running

Для отображения виртуальной машины выполните команду:

virt-viewer [virtual machine name]

Использование виртуальной машины из менеджера с GUI

Для запуска ВМ в окне менеджера нажмите на сконфигурированную виртуальную машину правой кнопкой мыши и выберите пункт Запуск.

Установите ОС, следуя инструкциям в окне ВМ.

Установка TrueConf Server

Теперь всё готово к установке TrueConf Server на виртуальную машину, а именно:

  • Проверена поддержка аппаратной виртуализации;

  • Создан сетевой мост для виртуальной машины;

  • Подготовлена виртуальная машина.

Установите TrueConf Server как показано в нашей инструкции. После установки вы можете добавить учётные записи пользователей, настроить HTTPS и остальные параметры TrueConf Server.

Если остались какие-либо вопросы, обращайтесь в нашу техническую поддержку.