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

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

6 min read Linux Обновлено 28 Dec 2025
KVM на Arch Linux: установка и создание ВМ
KVM на Arch Linux: установка и создание ВМ

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

О чем эта статья

Кратко: пошаговая инструкция по проверке аппаратной виртуализации, установке пакетов KVM/QEMU, настройке службы libvirtd и созданию виртуальной машины двумя способами — через графический virt-manager и через командную строку qemu. Также — советы по производительности, безопасности, типам дисков и сети, список распространённых ошибок и решения.

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

Что такое KVM и QEMU

KVM — модуль ядра Linux, который превращает ядро в гипервизор. QEMU — эмулятор/виртуализатор, часто используется вместе с KVM для запуска гостевых ОС с высокой производительностью. virt-manager — графический интерфейс для управления виртуальными машинами через libvirt.

Шаг 1. Проверка поддержки виртуализации

Откройте терминал и выполните:

grep -Ec '(vmx|svm)' /proc/cpuinfo

Если вывод больше 0 — виртуализация поддерживается. Если 0 — включите Intel VT-x или AMD-V в настройках BIOS/UEFI.

Примечание: некоторые ноутбуки имеют параметр «Virtualization Technology» или «SVM Mode».

Шаг 2. Установка необходимых пакетов

Сначала обновите систему:

sudo pacman -Syyu

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

sudo pacman -S qemu-full virt-manager virt-viewer dnsmasq bridge-utils libguestfs ebtables vde2 openbsd-netcat

Подтвердите установку, введя Y, когда будет предложено.

Шаг 3. Настройка службы libvirtd

Запуск и включение службы:

sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl status libvirtd.service

Если статус показывает active (running), можно продолжать. Если inactive (dead) — повторите start и проверьте журналы:

sudo journalctl -u libvirtd.service -b --no-pager

Откройте конфигурацию libvirt:

sudo vim /etc/libvirt/libvirtd.conf

Найдите и раскомментируйте (уберите #) две строки:

unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"

Добавьте своего пользователя в группу libvirt и перезапустите службу:

sudo usermod -aG libvirt $USER
sudo systemctl restart libvirtd.service

Выйдите из сессии и войдите снова, чтобы изменения групп вступили в силу.

Важно: если вы используете Wayland/GUI, иногда требуется перезапустить сеанс графической среды.

Подготовка ISO и выбор способа установки

Скачайте ISO-образ гостевой ОС (например, Manjaro, Ubuntu, Windows и т.д.) и разместите его в удобной папке.

Два основных подхода для создания ВМ:

  • Графический: virt-manager — удобно для начинающих.
  • CLI: qemu/qemu-system — гибко и подходит для автоматизации.

Создание виртуальной машины через virt-manager

virt-manager предлагает интерфейс, похожий на VirtualBox/VMware.

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

Установка с локального ISO в virt-manager

  1. Нажмите Browse > Browse Local и выберите скачанный ISO.

Выбор ISO-файла в проводнике virt-manager

Если появится предупреждение про разрешения доступа — подтвердите (Yes).

  1. Установите объём памяти и число ядер CPU. Рекомендация: выделяйте 25–50% оперативной памяти хоста для одной ВМ, но не менее 2 ГБ для современных дистрибутивов.

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

  1. Задайте размер виртуального диска (25–50 ГБ для десктопа). Выберите тип хранилища (qcow2 рекомендуется для снапшотов и экономии места).

Создание дискового образа для KVM в virt-manager

  1. Проверьте информацию и нажмите Finish. Если появится сообщение “Virtual Network is not active” — разрешите старт сети.

Активация виртуальной сети в virt-manager

После завершения появится окно консоли новой ВМ — можно начать установку гостевой ОС.

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

CLI-подход даёт больше контроля и подходит для сценариев автоматизации.

  1. Создайте каталог для ВМ и переместите туда ISO:
mkdir kvm
mv /path/to/linux-distro.iso ./kvm/
cd kvm
  1. Создайте образ диска (qcow2, 20G):
qemu-img create -f qcow2 Image.img 20G
  1. Запустите ВМ и установите ОС:
qemu-system-x86_64 -enable-kvm -cdrom linux-distro.iso -boot menu=on -drive file=Image.img,format=qcow2 -m 4G -cpu host -vga virtio -display sdl,gl=on

Замените linux-distro.iso на имя вашего файла. Флаг -m задаёт объём памяти, -cpu host позволяет гостю использовать те же инструкции, что и у хоста.

Создание KVM через qemu в терминале

После установки удалите -cdrom при запуске, чтобы загружаться с дискового образа:

qemu-system-x86_64 -enable-kvm -boot menu=on -drive file=Image.img,format=qcow2 -m 4G -cpu host -vga virtio -display sdl,gl=on

Совет: создайте alias в ~/.bashrc или ~/.zshrc, чтобы запускать ВМ одной командой.

Типы сетей и их применение

  • NAT (по умолчанию с libvirt): просто и безопасно — гость имеет доступ в интернет, но не виден извне.
  • Bridge: гость становится видимым в вашей локальной сети, полезно для серверов и тестирования сетей.
  • Isolated/Internal: для тестирования сетевых сценариев между гостями.

Настройка моста требует bridge-utils и прав администратора. Пример создания бриджа для systemd-networkd/NetworkManager выходит за рамки этой инструкции, но ключевые шаги: создать мост br0, добавить физический интерфейс и включить forwarding.

QCOW2 vs RAW — что выбрать

  • qcow2: поддерживает снапшоты, экономит место (copy-on-write). Немного медленнее на некоторых нагрузках.
  • raw: максимально быстро и прост, требует полного пространства заранее.

Выбор зависит от задачи: 개발/тестирование — qcow2; критичные I/O нагрузки — raw.

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

  • Используйте virtio-драйверы для диска и сети (лучше производительность инизкая задержка).
  • Для интенсивного I/O рассмотрите использование raw-разделов или LVM томов вместо файлов.
  • Включите Hugepages, если запускаете ресурсоёмкие гостевые ОС.
  • CPU: -cpu host и passthrough отдельных устройств (IOMMU) для максимальной производительности.

Безопасность и права доступа

  • Запускайте libvirtd как отдельную службу, не давайте root-доступ невостребованным приложениям.
  • Контролируйте сетевые правила (ebtables/iptables) для ограничения доступа гостей.
  • Устанавливайте обновления гостевых ОС и гипервизора.

Распространённые ошибки и как их исправить

  • Ошибка: “KVM not found” — проверьте вывод lsmod | grep kvm и dmesg на предмет загрузки модулей kvm_intel/kvm_amd.
  • Ошибка: libvirtd не стартует — смотрите sudo journalctl -u libvirtd.service.
  • Проблемы с разрешениями сокетов — убедитесь, что вы добавлены в группу libvirt и строки в /etc/libvirt/libvirtd.conf раскомментированы.

Чеклист перед созданием ВМ

  • Включена виртуализация в BIOS/UEFI
  • Система обновлена (pacman -Syyu)
  • Установлены qemu, libvirt, virt-manager
  • Пользователь в группе libvirt
  • ISO проверен и доступен
  • Решение по дисковому формату (qcow2/raw)

Резервное копирование и снапшоты

  • qcow2 поддерживает снапшоты через virsh snapshot-create-as или GUI.
  • Регулярно экспортируйте важные образы и конфигурации с помощью virsh dumpxml и копированием образов.

Мини-методология: быстрая валидация ВМ

  1. Создайте образ 8–20 ГБ, 2–4 ГБ RAM, 1–2 CPU.
  2. Установите минимальную ОС и проверьте загрузку.
  3. Тестируйте сеть: ping внешнего хоста, доступ к портам.
  4. Снимите базовый снапшот.

Decision flowchart

flowchart TD
  A[Есть ли аппаратная виртуализация?] -->|Да| B{Хотите GUI?}
  A -->|Нет| Z[Включите VT-x/SVM в BIOS]
  B -->|Да| C[Использовать virt-manager]
  B -->|Нет| D[Использовать qemu CLI]
  C --> E[Создать ВМ через GUI]
  D --> F[Создать каталог, образ и запустить qemu]
  E --> G[Установить ОС и настроить сеть]
  F --> G
  G --> H[Тестировать, создавать снапшоты, оптимизировать]

Ролевые чеклисты

  • Системный администратор:
    • Убедиться, что libvirtd правильно настроен и автозапуск включён.
    • Настроить бридж и firewall правила.
    • Внедрить политику снапшотов и бэкапов.
  • Пользователь рабочего стола:
    • Установить virt-manager.
    • Проверить права в группе libvirt.
    • Создать ВМ с qcow2 для удобного тестирования.
  • Разработчик/тестировщик:
    • Автоматизировать создание ВМ через qemu команду или cloud-init.
    • Использовать base image и быстрые клоны (qcow2 backing files).

Тестовые сценарии (acceptance)

  • ВМ загружается с ISO и успешно проходит установку ОС.
  • После установки образ загружается без -cdrom.
  • Сеть: гостевая ОС может пинговать внешние адреса.
  • Снапшоты создаются и откатываются без ошибок.

Шпаргалка команд

  • Создать qcow2 образ:
qemu-img create -f qcow2 vm.img 20G
  • Запустить ВМ с ISO:
qemu-system-x86_64 -enable-kvm -cdrom os.iso -drive file=vm.img,format=qcow2 -m 4G -cpu host -vga virtio
  • Перечень ВМ libvirt:
virsh list --all
  • Снимок через virsh:
virsh snapshot-create-as vm-name snap1 "Baseline" --disk-only

Краткий глоссарий

  • libvirt — демон и API для управления гипервизорами.
  • virt-manager — графический менеджер виртуальных машин.
  • qcow2 — формат дискового образа с поддержкой снапшотов.
  • bridge — сетевой мост для прямого доступа гостя к сети.

Когда KVM не лучше VirtualBox

  • Нужна простая переносимость между разными ОС без установки дополнительных драйверов — VirtualBox иногда удобнее для новичков.
  • Нужен простой GUI для однократной быстрой установки без тонкой настройки — но virt-manager обеспечивает похожую простоту.

Итог и рекомендации

KVM + QEMU — мощное и гибкое решение виртуализации на Arch Linux. Для десктопа и тестирования — используйте virt-manager. Для автоматизации, контроля и интеграции в CI/CD — выбирайте qemu CLI и образа qcow2 с backing files.

Важно: следите за безопасностью, делайте бэкапы и тестируйте сеть/производительность перед использованием в проде.

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

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

Защита паролей Chrome с Windows Hello
Безопасность

Защита паролей Chrome с Windows Hello

Установка сторонних приложений на Mac
Mac

Установка сторонних приложений на Mac

Очистка кэша и истории поиска Instagram
Мобильные советы

Очистка кэша и истории поиска Instagram

Отключение фоновых процессов Windows и ускорение ПК
Оптимизация

Отключение фоновых процессов Windows и ускорение ПК

ThisIsWin11 — настройка и деблоут Windows 11
Windows 11

ThisIsWin11 — настройка и деблоут Windows 11

ChatGPT для сопроводительного письма
Карьера

ChatGPT для сопроводительного письма