Установка KVM и создание первой виртуальной машины на Arch Linux
Важно: прежде чем начать, убедитесь, что в BIOS/UEFI включена аппаратная виртуализация (Intel VT-x или AMD-V).

О чём эта инструкция
Здесь вы найдёте практическое руководство по развёртыванию KVM на Arch Linux: проверка поддержки виртуализации, установка пакетов, настройка службы libvirtd, создание виртуальной машины через virt-manager и через qemu CLI, настройка сети и дисков, рекомендации по производительности и безопасности, список распространённых проблем и их решения.
Кому полезно: системным администраторам, разработчикам, техноэнтузиастам и всем, кто хочет запускать гостевые ОС на Arch Linux с минимальными потерями в производительности.
Основные варианты использования и связанные запросы
Primary intent: установка KVM на Arch Linux
Варианты формулировок, которые покрывает статья:
- установка KVM на Arch Linux
- создание виртуальной машины Arch KVM
- QEMU virt-manager Arch инструкция
- KVM vs VirtualBox на Arch
- настройка libvirtd Arch
Требования и подготовка
- 64‑битный хост с поддержкой виртуализации (Intel VT-x или AMD‑V). Проверка описана далее.
- Активная сеть и доступ к pacman (интернет).
- ISO образ гостевой ОС (например, Manjaro, Ubuntu, CentOS и т.д.).
- Права администратора для выполнения pacman и systemctl команд.
Короткая справка: qcow2 — формат образов с поддержкой «копировать при записи» и снимков; raw — простой, более быстрый, но занимает весь объём сразу.
Шаг 1 — Проверка поддержки виртуализации
Выполните команду:
grep -Ec '(vmx|svm)' /proc/cpuinfoЕсли вывод больше 0 — аппаратная виртуализация включена. Если 0 — войдите в BIOS/UEFI и включите Intel VT‑x или AMD‑V, затем перезагрузите систему.
Примечание: на некоторых ноутбуках или серверах эта опция называется “Virtualization Technology” или просто “SVM Mode”.
Шаг 2 — Установка необходимых пакетов
Сначала обновите систему:
sudo pacman -SyyuЗатем установите полный набор пакетов для KVM/QEMU и утилит управления:
sudo pacman -S qemu-full virt-manager virt-viewer dnsmasq bridge-utils libguestfs ebtables vde2 openbsd-netcatВведите Y (Yes) при запросе подтверждения установки.
Коротко о пакетах:
- qemu-full — гипервизор и инструменты командной строки;
- virt-manager — графическая оболочка (Virtual Machine Manager);
- libguestfs — инструменты для работы с образами гостевых ОС;
- bridge-utils, dnsmasq, ebtables — сетевые утилиты для NAT/моста и DHCP;
- virt-viewer — просмотр консоли гостевой ОС.
Шаг 3 — Настройка и запуск libvirtd
Запустите службу libvirtd и включите автозапуск:
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl status libvirtd.serviceИщите статус “active (running)”. Если служба не запускается — проверьте вывод journalctl:
sudo journalctl -u libvirtd --no-pagerОтредактируйте конфигурацию /etc/libvirt/libvirtd.conf. Откройте файл в vim или другом редакторе:
vim /etc/libvirt/libvirtd.confНайдите и раскомментируйте (уберите #) строки, которые задают сокет и права доступа:
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"Добавьте себя в группу libvirt, чтобы иметь доступ без sudo:
sudo usermod -aG libvirt $USERПерезапустите службу:
systemctl restart libvirtd.serviceЗатем выйдите и войдите в сеанс (или выполните newgrp libvirt), чтобы новые групповые права вступили в силу.
Подготовка ISO и выбор способа создания VM
Перед созданием виртуальной машины скачайте ISO гостевой ОС и поместите его в удобную папку. Дальше можно использовать:
- virt-manager — графический, удобен для новичков и десктопа;
- qemu CLI — гибкий и удобен для автоматизации и серверов.
Примечание о правах доступа к ISO
Если virt-manager выдаёт предупреждение о том, что эмулятор не имеет прав на путь ISO — согласитесь с диалогом и продолжите (кнопка Yes).
Создание виртуальной машины через virt-manager (GUI)
virt-manager предоставляет интерфейс, похожий на VirtualBox/VMware, и упрощает базовую конфигурацию.
- Запустите Virtual Machine Manager (в меню приложений может отображаться как “Virtual Machine Manager” или запустите
virt-manager). - Нажмите “Create a new virtual machine” → выберите “Local install media (ISO image or CDROM)” → Forward.
- Нажмите Browse → Browse Local и выберите скачанный ISO.

- Подтвердите выбор ISO и перейдите далее. Если появится предупреждение о правах — нажмите Yes.

- Укажите оперативную память и количество CPU. Правило-эвристика: выделяйте 25–50% от физической ОЗУ для одной десктопной VM; для серверных задач подбирайте по нагрузке.

- Настройте диск (обычно qcow2, динамический): 25–40 ГБ для десктопа достаточно.

- Проверьте сводку и нажмите Finish. При появлении уведомления “Virtual Network is not active” — выберите Yes, чтобы запустить виртуальную сеть.

После этого откроется окно виртуальной машины, и вы сможете продолжить установку гостевой ОС.
Создание виртуальной машины через QEMU CLI
Для большей гибкости и автоматизации используйте qemu-system-x86_64.
- Создайте каталог для VM и переместите туда ISO:
mkdir kvm
mv /path/to/linux-distro.iso ./kvm- Создайте образ qcow2 размером 20G:
qemu-img create -f qcow2 Image.img 20G- Запустите VM для установки:
qemu-system-x86_64 -enable-kvm -cdrom linux-distro.iso -boot menu=on -drive file=Image.img -m 4G -cpu host -vga virtio -display sdl,gl=onПараметры, на которые стоит обратить внимание:
- -enable-kvm — использование аппаратной виртуализации;
- -cdrom — путь к ISO для установки;
- -drive file=Image.img — файл диска гостя;
- -m 4G — оперативная память;
- -cpu host — проброс возможностей CPU хоста гостю;
- -vga virtio — видеодрайвер virtio (лучше для производительности);
- -display sdl,gl=on — вывод через SDL с ускорением OpenGL.

После установки гостевой ОС ISO можно убрать из команды и запускать только с диска:
qemu-system-x86_64 -enable-kvm -boot menu=on -drive file=Image.img -m 4G -cpu host -vga virtio -display sdl,gl=onСовет: создайте alias в ~/.bashrc или systemd unit для удобного запуска.
Сетевые опции: NAT, мост (bridge) и виртуальные сети
По умолчанию libvirt создаёт виртуальную сеть NAT (virbr0), которая позволяет VM выходить в интернет, но хост и другие устройства локальной сети не видят VM напрямую.
Когда нужен мост (bridge):
- VM должна быть доступна по локальной сети (например, для тестирования серверов или контейнеров);
- требуется статический IP в локальной подсети.
Создание моста (краткая методика):
- Отключите NetworkManager или systemd-networkd для интерфейса, который хотите объединить (в зависимости от вашей конфигурации).
- Используйте netctl/NetworkManager или systemd-networkd для создания bridge интерфейса (bridge-utils помогает при ручной настройке).
- В virt-manager при создании VM выберите сетевой интерфейс типа “bridge” и укажите bridge-интерфейс.
Важно: управление сетями и мостами зависит от вашей текущей сетевой подсистемы (NetworkManager, netctl, systemd-networkd). Для серверов обычно предпочтительнее systemd-networkd с явной конфигурацией bridge.
Хранение и форматы дисков — рекомендации
- qcow2: подходит для большинства случаев, экономит место и поддерживает снапшоты. Накладные расходы невелики.
- raw: лучше для скоростных нагрузок (IOPS), особенно при использовании прямого доступа к блочному устройству.
- LVM: удобно для серверов — гибкое управление томами и снимками.
Команды аудита и конвертации:
qemu-img info Image.img
qemu-img convert -f qcow2 -O raw Image.img Image.rawПроизводительность и оптимизация
Советы по повышению производительности:
- Используйте -cpu host, чтобы гостю были доступны инструкции хоста.
- Включите virtio-драйверы для сети и диска (virtio-net, virtio-blk/virtio-scsi).
- Для GUI-гостей используйте virtio‑gpu или Spice/QXL + virtio; для 3D — проброс GPU (PCI passthrough) при необходимости.
- Выделяйте достаточный объём памяти и CPU, но оставляйте ресурсы для хоста.
- Для дисков интенсивных по IO рассмотрите использование raw или выделенного LVM.
Критерий приёмки: гостевая ОС работает без постоянных троттлингов CPU/IO, задержка ввода-вывода в пределах ожидаемых нагрузок.
Безопасность и жёсткая конфигурация
Рекомендации:
- Ограничьте доступ к libvirt сокету, используйте unix_sock_group и unix_sock_rw_perms как в конфиге.
- Не давайте гостям избыточных прав: избегайте управления сетью и хостом изнутри VM.
- Регулярно обновляйте пакеты qemu/libvirt.
- Для критичных ХОСТОВ рассмотрите SELinux/AppArmor политики или изоляцию с помощью контейнеризации вместо гостевых ОС.
- Для удалённых интерфейсов libvirt используйте TLS и аутентификацию.
Устранение неполадок (Troubleshooting)
Проблема: libvirtd не запускается — смотрите вывод:
sudo journalctl -xeu libvirtdПроблема: VM не получает IP — проверьте virbr0, dnsmasq и firewall (firewalld/iptables). Запустите virsh net-list --all.
Проблема: ошибки прав на сокет — убедитесь, что пользователь добавлен в группу libvirt и перезошёл в сеанс.
Проблема: графический вывод не появляется — проверьте параметры -display, virt-viewer, наличие SDL/GTK и права доступа к /dev/dri для аппаратного ускорения.
Когда KVM не лучшая опция (контрпримеры)
- Если вам нужна простая переносимость VM на Windows/Mac и GUI‑управление «как у Desktop», VirtualBox может быть удобнее.
- Если требуется тесная интеграция с облачными образами (например, управляемые провайдеры) — возможны готовые решения с другими инструментами.
- На очень старом железе без VT‑x/AMD‑V KVM недоступен.
Альтернативные подходы
- VirtualBox — удобный для десктопа и новичков; проще миграция между Windows и Linux.
- VMware Workstation/Player — коммерческая альтернатива с хорошей поддержкой Windows гостевых ОС.
- LXC/LXD — контейнеры для лёгкой изоляции без полного виртуального окружения; лучше по плотности ресурсов, хуже по изоляции ядра.
Быстрые чеклисты по ролям
Администратор сервера:
- Проверить VT‑x/AMD‑V
- Установить qemu/libvirt/virt-manager
- Настроить bridge для публичного доступа
- Настроить бэкапы образов и мониторинг
Десктоп‑пользователь:
- Установить virt-manager
- Добавить себя в группу libvirt
- Оставить NAT по умолчанию, если не нужен прямой доступ из LAN
- Включить virtio-драйверы в гостевой ОС
Разработчик/тестировщик:
- Использовать qcow2 для быстрого создания снапшотов
- Автоматизировать создание VM через qemu CLI или cloud-init
- Настроить общий каталог с гостем (9p, virtiofs)
Чит‑лист команд (cheat sheet)
# Обновление и установка
sudo pacman -Syyu
sudo pacman -S qemu-full virt-manager virt-viewer
# Управление сервисом
sudo systemctl start|stop|restart libvirtd.service
sudo systemctl enable libvirtd.service
# Работа с образами
qemu-img create -f qcow2 myvm.qcow2 20G
qemu-img info myvm.qcow2
qemu-img convert -f qcow2 -O raw myvm.qcow2 myvm.raw
# Быстрый запуск
qemu-system-x86_64 -enable-kvm -cdrom my.iso -drive file=myvm.qcow2 -m 4G -cpu hostПример простого workflow для создания VM (мини‑методология)
- Проверить поддержку виртуализации.
- Обновить систему и установить пакеты.
- Настроить libvirtd и права пользователей.
- Подготовить ISO и диск (qcow2).
- Создать VM через virt-manager или qemu.
- Установить гостевую ОС, установить гостевые драйверы virtio.
- Настроить сеть и бэкапы.
Диаграмма выбора: GUI или CLI
graph TD
A[Нужна простота и GUI?] -->|Да| B[virt-manager]
A -->|Нет| C[qemu CLI]
B --> D[Десктоп/тестовая среда]
C --> E[Сервер/автоматизация]Небольшой глоссарий (1 строка каждое)
- libvirtd — демон управления виртуальными машинами libvirt.
- qemu — эмулятор и гипервизор.
- virt-manager — графический менеджер для libvirt/QEMU.
- qcow2 — динамический формат образов QEMU.
- bridge — сетевой мост для прямого доступа VM.
Сравнение KVM и VirtualBox — кратко
- Производительность: KVM обычно лучше, ближе к нативной.
- Поддержка продвинутых фич: KVM/QEMU предлагает больше опций для продвинутых пользователей (passthrough, live migration и т.д.).
- Удобство: VirtualBox проще для новичков на десктопе.
Итог и рекомендации
KVM вместе с QEMU и virt-manager — мощный и гибкий стек виртуализации для Arch Linux. Для десктопного использования используйте virt-manager, а для серверов и автоматизации — qemu CLI и libvirt. Следуйте рекомендациям по безопасности и резервному копированию, используйте virtio‑драйверы и продуманную сетевую архитектуру.
Ключевые шаги: проверьте виртуализацию, установите пакеты, настройте libvirtd, добавьте пользователя в группу libvirt и выбирайте между GUI и CLI в зависимости от задач.
Похожие материалы
Лучшие виджеты для iPhone — обзор и инструкция
Темы WordPress: выбор, установка, управление
KVM на Arch Linux: установка и первая виртуальная машина
Эффект Зейгарник для продуктивности
Ремонт ноутбука: диагностика и практические советы