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 из твоей локальной сети:
Используй 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 и управляй ВМ через веб-интерфейс.