Гид по технологиям

Установка KVM и создание первой виртуальной машины на Arch Linux

8 min read Виртуализация Обновлено 18 Apr 2026
KVM на Arch Linux: установка и первая виртуальная машина
KVM на Arch Linux: установка и первая виртуальная машина

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

Логотип Arch Linux на тёмном фоне

О чём эта инструкция

Здесь вы найдёте практическое руководство по развёртыванию 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, и упрощает базовую конфигурацию.

  1. Запустите Virtual Machine Manager (в меню приложений может отображаться как “Virtual Machine Manager” или запустите virt-manager).
  2. Нажмите “Create a new virtual machine” → выберите “Local install media (ISO image or CDROM)” → Forward.
  3. Нажмите Browse → Browse Local и выберите скачанный ISO.

Установка локального образа в virt-manager

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

Выбор ISO-образа в virt-manager

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

Настройка памяти и CPU в virt-manager

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

Создание диска для VM

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

Запуск виртуальной сети в virt-manager

После этого откроется окно виртуальной машины, и вы сможете продолжить установку гостевой ОС.

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

Для большей гибкости и автоматизации используйте qemu-system-x86_64.

  1. Создайте каталог для VM и переместите туда ISO:
mkdir kvm
mv /path/to/linux-distro.iso ./kvm
  1. Создайте образ qcow2 размером 20G:
qemu-img create -f qcow2 Image.img 20G
  1. Запустите 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.

Создание VM через QEMU CLI

После установки гостевой ОС 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 в локальной подсети.

Создание моста (краткая методика):

  1. Отключите NetworkManager или systemd-networkd для интерфейса, который хотите объединить (в зависимости от вашей конфигурации).
  2. Используйте netctl/NetworkManager или systemd-networkd для создания bridge интерфейса (bridge-utils помогает при ручной настройке).
  3. В 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 (мини‑методология)

  1. Проверить поддержку виртуализации.
  2. Обновить систему и установить пакеты.
  3. Настроить libvirtd и права пользователей.
  4. Подготовить ISO и диск (qcow2).
  5. Создать VM через virt-manager или qemu.
  6. Установить гостевую ОС, установить гостевые драйверы virtio.
  7. Настроить сеть и бэкапы.

Диаграмма выбора: 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 в зависимости от задач.


Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Лучшие виджеты для iPhone — обзор и инструкция
iPhone

Лучшие виджеты для iPhone — обзор и инструкция

Темы WordPress: выбор, установка, управление
WordPress

Темы WordPress: выбор, установка, управление

KVM на Arch Linux: установка и первая виртуальная машина
Виртуализация

KVM на Arch Linux: установка и первая виртуальная машина

Эффект Зейгарник для продуктивности
Продуктивность

Эффект Зейгарник для продуктивности

Ремонт ноутбука: диагностика и практические советы
Ремонт техники

Ремонт ноутбука: диагностика и практические советы

Безопасное выключение Raspberry Pi
Raspberry Pi

Безопасное выключение Raspberry Pi