KVM – установка и настройка

*Установка и настройка производились на Ubuntu 24.04

Проверка поддержки виртуализации системой

Установка пакета для клиентского ПО QEMU (для запуска виртуальных машин):

apt install qemu-system-x86
kvm-ok

Должны получить:
INFO: /dev/kvm exists
KVM acceleration can be used

Если нет – Включаем Intel VT-x или AMD-V в BIOS/UEFI (в зависимости от процессора).

Создаём каталоги для хранения виртуальных жестких дисков (vhdd) и ISO-образов (iso).

mkdir -p /kvm/{vhdd,iso}

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

sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils
  • qemu-kvm – поддержка KVM и запуск виртуальных машин с аппаратной виртуализацией
  • libvirt-daemon-system – Служба управления виртуальными машинами (libvirtd)
  • libvirt-clients – CLI-инструменты (virsh, virt-xml, и др.)
  • virtinst – Утилиты создания VM (например, virt-install)
  • bridge-utils – для настройки сетевых мостов

Создаём сетевой мост, чтобы виртуальная машина имела свой собственный IP-адрес и могла взаимодействовать с внешней сетью, а не работала через NAT.

Переходим в каталог /etc/netplan/ и редактируем yaml конфиг (у меня файл называется 50-cloud-init.yaml – этот файл может отличаться в зависимости от системы):

network:
  version: 2
  renderer: networkd

  ethernets:
    eth0:
      dhcp4: false

  bridges:
    br0:
      interfaces: [eth0]
      addresses: [192.168.1.24/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.2, 192.168.1.3]
      parameters:
        stp: false
        forward-delay: 0

*В примере указан сетевой интерфейс eth0, он может отличаться – проверить можно командой ip a

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

sudo netplan apply

Создаём виртуальную машину

virt-install -n VM1 \
--autostart \
--noautoconsole \
--network=bridge:br0 \
--ram 2048 --arch=x86_64 \
--vcpus=2 --cpu host --check-cpu \
--disk path=/kvm/vhdd/VM1-disk1.img,size=16 \
--cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \
--graphics vnc,listen=0.0.0.0,password=vnc_password \
--os-variant=ubuntu18.04 \
--boot cdrom,hd,menu=on \
--virt-type=kvm

После создания виртуальной машины к ней можно подключиться по VNC (например с помощью TightVNC Viewer)
С помощью команды virsh vncdisplay VM1 смотрим на каком порту работает VNC указанной виртуальной машины
Если вывод :0, значит VNC сервер работает на порту 5900. Если вывод :4, значит VNC сервер работает на порту 5904 (5900 + номер порта).

Прокрутить вверх