Установка KVM на Ubuntu 22.04/24.04: Пошаговая инструкция с настройкой | AdminWiki

Установка KVM на Ubuntu: Полное руководство для DevOps

18 декабря 2025 6 мин. чтения #devops #kvm #libvirt #linux #qemu #ubuntu #virt-manager #виртуализация

Что такое KVM и зачем он нужен?

KVM (Kernel-based Virtual Machine) — это решение для виртуализации, встроенное прямо в ядро Linux. Представь, что это гипервизор уровня 1 (Type-1), который превращает твой Ubuntu в полноценную платформу для запуска виртуальных машин. В отличие от VirtualBox или VMware Workstation, KVM работает на "железном" уровне, что дает:

  • Почти нативную производительность
  • Прямой доступ к аппаратным ресурсам
  • Идеальную среду для тестирования, разработки и продакшена
  • Поддержку вложенной виртуализации (виртуальные машины внутри виртуальных машин)
Важно: KVM требует аппаратной поддержки виртуализации (Intel VT-x или AMD-V). Если ты планируешь запускать Windows или другие ОС с ускоренной графикой — это обязательное условие.

Предварительная проверка системы

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

bash
# Проверка поддержки Intel VT-x или AMD-V
egrep -c '(vmx|svm)' /proc/cpuinfo

# Если вывод больше 0 — поддержка есть
# Дополнительная проверка через kvm-ok
sudo apt update
sudo apt install cpu-checker -y
kvm-ok
Внимание: Если команда возвращает 0, тебе нужно включить виртуализацию в BIOS/UEFI. Обычно это опции "Intel Virtualization Technology", "VT-d", "AMD-V" или "SVM Mode".

Полная установка KVM на Ubuntu

Теперь перейдем к основной части — установке KVM. В зависимости от твоих потребностей, есть два подхода: минимальная установка (только CLI) или полный стек с графическим интерфейсом.

Минимальная установка (для серверов)

bash
# Обновляем репозитории
sudo apt update && sudo apt upgrade -y

# Устанавливаем KVM и необходимые компоненты
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients \
bridge-utils virtinst libvirt-daemon virt-manager

# Добавляем пользователя в группы
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

# Перезагружаемся для применения изменений групп
sudo reboot

Установка с графическим интерфейсом

Если ты работаешь на Ubuntu Desktop и хочешь удобный GUI:

bash
# Установка полного стека с GUI
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients \
bridge-utils virtinst libvirt-daemon virt-manager \
virt-viewer ssh-askpass gnome-keyring seahorse

# Для Ubuntu 22.04+ может потребоваться дополнительный пакет
sudo apt install -y gir1.2-spiceclientgtk-3.0

Настройка сетевого моста (bridge network)

По умолчанию KVM использует NAT-сеть. Для production-среды лучше настроить сетевой мост, чтобы ВМ получали IP из твоей локальной сети:

bash
# Создаем backup текущей конфигурации сети
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.backup

# Редактируем конфиг (замени enp3s0 на твой интерфейс)
sudo nano /etc/netplan/00-installer-config.yaml
yaml
network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp3s0]
      dhcp4: yes
      parameters:
        stp: false
        forward-delay: 0
bash
# Применяем конфигурацию
sudo netplan apply

# Проверяем созданный мост
ip addr show br0

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

Теперь, когда KVM установлен на Ubuntu, давай создадим тестовую ВМ. Можно использовать как GUI (virt-manager), так и командную строку.

Через командную строку

bash
# Создаем ВМ Ubuntu Server 22.04
sudo virt-install \
--name ubuntu-test-vm \
--ram 2048 \
--disk path=/var/lib/libvirt/images/ubuntu-test.qcow2,size=20 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu22.04 \
--network bridge=br0 \
--graphics spice \
--console pty,target_type=serial \
--cdrom /path/to/ubuntu-22.04.3-live-server-amd64.iso

Через virt-manager

  1. Запусти virt-manager из меню приложений или через терминал
  2. Нажми "File" → "New Virtual Machine"
  3. Выбери способ установки (Local install media, Network install и т.д.)
  4. Укажи путь к ISO-образу ОС
  5. Настрой CPU, RAM и диск (рекомендую использовать qcow2 формат)
  6. Выбери сетевой мост br0 вместо NAT
  7. Заверши создание и запусти ВМ

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

После установки KVM на Ubuntu тебе понадобятся основные команды управления:

Команда Описание Пример
virsh list Список запущенных ВМ virsh list --all
virsh start Запуск ВМ virsh start ubuntu-test-vm
virsh shutdown Корректное выключение virsh shutdown ubuntu-test-vm
virsh destroy Принудительная остановка virsh destroy ubuntu-test-vm
virsh edit Редактирование конфига ВМ virsh edit ubuntu-test-vm
virsh console Консоль ВМ (требует настройки в гостевой ОС) virsh console ubuntu-test-vm

Оптимизация производительности

Чтобы выжать максимум из KVM на Ubuntu:

xml



  
  
  



  
  
  • Включи KSM (Kernel Samepage Merging) для экономии RAM: sudo echo 1 > /sys/kernel/mm/ksm/run
  • Используй virtio-драйверы для сетевых и дисковых устройств
  • Настрой hugepages для нагрузочных ВМ: добавь в grub hugepages=2048

Решение распространенных проблем

Проблема: "Could not open '/dev/kvm': Permission denied"
Решение: Проверь, что пользователь в группах kvm и libvirt. Выполни: groups $USER и при необходимости перелогинься.
Проблема: virt-manager не подключается к libvirt
Решение: Запусти сервис: sudo systemctl start libvirtd и включи автозагрузку: sudo systemctl enable libvirtd
Проблема: ВМ не видит сетевой мост
Решение: Убедись, что мост создан: brctl show. В конфиге ВМ укажи

Дополнительные инструменты и мониторинг

Для профессионального использования KVM на Ubuntu установи:

bash
# Мониторинг производительности
sudo apt install -y virt-top

# Утилиты для работы с образами дисков
sudo apt install -y libguestfs-tools

# Просмотр логов
sudo journalctl -u libvirtd -f

# Веб-интерфейс (альтернатива virt-manager)
sudo apt install -y cockpit cockpit-machines

После установки cockpit открой в браузере https://ваш-сервер:9090 и управляй ВМ через веб-интерфейс.

Поделиться:
Сохранить гайд? В закладки браузера