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

Разберем как настроить виртуализацию на сервере на базе open source технологии KVM. В качестве операционной системы хоста ВМ мы будем использовать Ubuntu 20.04.

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

KVM — это решение для виртуализации, встроенное прямо в ядро Linux, не уступающее остальным решениям в функциональности и превосходящее их в удобстве использования.

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

Первым делом нужно проверить включена ли поддержка виртуализации в Bios. Результат должен быть больше 0.

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

Установим необходимые пакеты:

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

Проверим корректность установки:

kvm-ok

Вывод должен быть таким:

INFO: /dev/kvm exists
KVM acceleration can be used

Настройка сети KVM в режиме bridge

Сеть будет настроена автоматически, но я рекомендую настроить бридж для использования QEMU

sudo apt install bridge-utils -y

Добавим бридж в конфиге netplan, у меня это выглядит так:

# mcedit /etc/netplan/00-installer-config.yaml
network:
  ethernets:
    enp4s0:
      dhcp4: true
  version: 2
bridges:
    br0:
      interfaces: [enp4s0]
      dhcp4: true

Проверяем и применяем настройки:

sudo netplan generate
sudo netplan apply

Проверим, что бридж появился:

# brctl show
bridge name     bridge id               STP enabled     interfaces

br0             8000.00e04cae00ee       no              enp5s0
                                                                             
virbr0          8000.5254007b18fc       yes             virbr0-nic

Теперь добавим конфиг для KVM

# mcedit /var/lib/libvirt/images/br0.xml
<network>
  <name>br0</name>
  <forward mode="bridge"/>
  <bridge name="br0" />
</network>

Применим конфигурацию:

virsh net-define /var/lib/libvirt/images/br0.xml
virsh net-start br0
virsh net-autostart br0

Проверим, что все получилось:

# virsh net-list --all

 Name      State    Autostart   Persistent
--------------------------------------------
 br0       active   yes         yes
 default   active   yes         yes

Остается только выбрать созданный бридж в настройках виртуальной машины.

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

Скачайте MobaXterm для подключения к серверу по SSH с включенной опцией X11-Forwarding.

Загрузите образ для установки операционной системы при помощи SFTP в директорию /var/lib/libvirt/images

Используйте команду virt-manager для вызова менеджера управления виртуальными машинами KVM:

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

Установка драйверов Virtio для Windows

Скачаем стабильную версию для операционных систем Windows:

wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -P /var/lib/libvirt/images/

Смонтируйте образ с драйверами в настройках виртуальной машины:

Обновите драйвера в диспетчере устройств с нашего подключенного образа.

Оставьте комментарий