virt-manager¶
virt-manager — это графическое приложение с открытым исходным кодом для управления виртуальными машинами (ВМ) через гипервизор libvirt. Предназначено для администраторов и пользователей операционных систем семейства Linux, реже BSD, и предоставляет интерфейс для создания, настройки, запуска, остановки и мониторинга гостевых систем. Является частью экосистемы libvirt и обычно поставляется в составе дистрибутивов Linux как пакет virt-manager.
¶История
Проект был начат в 2006 году как часть набора инструментов для управления виртуализацией в среде GNOME. Разработка велась при поддержке компании Red Hat, которая активно использовала libvirt для управления KVM (Kernel-based Virtual Machine). Первоначально virt-manager был создан как альтернатива командной строке (virsh), ориентированная на упрощение работы с виртуальными машинами для системных администраторов.
В 2007 году вышла версия 0.5.0, которая уже поддерживала базовые операции: создание гостевых систем из ISO-образов, управление сетевыми интерфейсами и просмотр консоли. С выходом версии 0.6.0 в 2008 году была добавлена поддержка графического интерфейса для настройки хранилищ (storage pools) и сетей (virtual networks). В 2010-х годах virt-manager стал стандартным инструментом для управления KVM/QEMU в большинстве дистрибутивов Linux, включая Fedora, CentOS, Red Hat Enterprise Linux, Debian и Ubuntu.
В 2018 году, с выходом версии 2.0.0, была проведена значительная переработка интерфейса: обновлён дизайн в стиле GNOME 3, улучшена поддержка UEFI, добавлена возможность работы с несколькими гипервизорами через libvirt (включая Xen и LXC). На 2024 год последней стабильной версией является 4.1.0 (выпущена в 2023 году), которая продолжает развиваться в рамках проекта virt-manager на GitHub.
¶Архитектура и компоненты
¶Взаимодействие с libvirt
virt-manager использует библиотеку libvirt для взаимодействия с гипервизорами. libvirt предоставляет унифицированный API для управления виртуализацией, поддерживая KVM, QEMU, Xen, VMware ESXi, Hyper-V, LXC и другие. virt-manager подключается к демону libvirtd, который запускается на хост-системе. Это позволяет управлять как локальными, так и удалёнными гипервизорами (через SSH или TLS).
¶Основные компоненты
Приложение состоит из нескольких взаимосвязанных модулей:
- Главное окно — отображает список виртуальных машин, их состояние (работает, остановлена, приостановлена) и базовую информацию (ОС, загрузка процессора, память).
- Мастер создания ВМ — пошаговый интерфейс для настройки новой гостевой системы: выбор источника установки (ISO-образ, сетевой репозиторий, импорт образа диска), выделение ресурсов (процессор, память, дисковое пространство), настройка сети и хранилища.
- Консоль виртуальной машины — встроенный VNC/SPICE-клиент для просмотра экрана гостевой системы и ввода данных с клавиатуры и мыши. Поддерживает буфер обмена между хостом и гостем.
- Редактор настроек ВМ — позволяет изменять аппаратную конфигурацию: добавлять/удалять виртуальные диски, сетевые интерфейсы, USB-устройства, звуковые карты, а также настраивать загрузку, UEFI/BIOS и параметры процессора.
- Управление хранилищами — интерфейс для создания и настройки пулов хранения (storage pools) и томов (volumes). Поддерживаются локальные каталоги, LVM, iSCSI, NFS, Ceph, GlusterFS и другие.
- Управление сетями — позволяет создавать виртуальные сети (NAT, изолированные, мостовые), настраивать DHCP, DNS и маршрутизацию.
- Мониторинг производительности — отображение графиков загрузки CPU, использования памяти, дискового ввода-вывода и сетевого трафика для каждой виртуальной машины.
¶Функциональные возможности
¶Создание и настройка виртуальных машин
virt-manager поддерживает создание виртуальных машин с различными операционными системами, включая Windows, Linux, BSD, macOS (в экспериментальном режиме). Процесс включает выбор типа гипервизора (KVM, QEMU, Xen), архитектуры (x86_64, i686, ARM, RISC-V) и настройку виртуального оборудования:
- Процессор — количество виртуальных ядер, топология (сокеты, ядра, потоки), возможность включения NUMA, поддержка расширений (например, Intel VT-x, AMD-V).
- Память — объём ОЗУ, выделяемый гостевой системе.
- Диски — виртуальные диски в форматах qcow2, raw, vmdk, vdi, iso. Поддерживаются тонкие (thin provisioning) и толстые (thick provisioning) тома, а также подключение физических дисков (passthrough).
- Сеть — виртуальные сетевые интерфейсы (NIC) с поддержкой моделей e1000, virtio, rtl8139, vmxnet3. Возможно подключение к мосту (bridge), NAT-сети или изолированной сети.
- USB и PCI — проброс физических устройств (USB-накопители, веб-камеры, PCI-карты) в гостевую систему.
- Графика — выбор видеокарты (VGA, cirrus, qxl, virtio-gpu), разрешения экрана, поддержка 3D-ускорения через SPICE.
¶Управление состоянием
virt-manager позволяет выполнять стандартные операции с виртуальными машинами:
- Запуск и остановка (в том числе принудительная).
- Приостановка (suspend) и возобновление (resume).
- Сохранение состояния (snapshot) — создание снимков диска и памяти для отката.
- Миграция (live migration) — перемещение работающей ВМ между хостами без прерывания работы.
- Клонирование — создание копии виртуальной машины с изменением идентификаторов.
¶Поддержка UEFI и Secure Boot
Начиная с версии 2.0.0, virt-manager поддерживает загрузку в режиме UEFI (через OVMF — Open Virtual Machine Firmware) и Secure Boot. Это необходимо для установки современных операционных систем, таких как Windows 8/10/11 и некоторые дистрибутивы Linux (например, Fedora, Ubuntu с включённым Secure Boot).
¶Работа с контейнерами
Через libvirt virt-manager может управлять контейнерами LXC (Linux Containers). Это позволяет создавать и запускать изолированные окружения без полноценной виртуализации, используя общее ядро хоста. Функциональность ограничена по сравнению с KVM: не поддерживается миграция, проброс устройств и снимки состояния.
¶Интерфейс пользователя
¶Главное окно
Главное окно разделено на три панели:
- Левая панель — список подключённых гипервизоров (локальный, удалённые). Каждый гипервизор отображается как узел, раскрывающий список виртуальных машин.
- Центральная панель — таблица виртуальных машин выбранного гипервизора с колонками: имя, состояние, загрузка CPU, использование памяти, тип ОС.
- Правая панель — панель инструментов для быстрого доступа к операциям: запуск, остановка, приостановка, создание снимка, настройка.
¶Мастер создания
Мастер создания ВМ состоит из нескольких шагов:
- Выбор источника установки: локальный ISO-образ, сетевой репозиторий (URL), импорт существующего образа диска.
- Выбор операционной системы (из списка или вручную).
- Настройка памяти и процессора.
- Настройка дискового пространства (размер, формат, путь хранения).
- Настройка сети (выбор виртуальной сети или моста).
- Итоговое окно с подтверждением параметров.
¶Консоль
Консоль virt-manager использует протоколы VNC (Virtual Network Computing) и SPICE (Simple Protocol for Independent Computing Environment). SPICE обеспечивает более высокую производительность, поддержку нескольких мониторов, передачу звука и USB-устройств. Для работы с VNC требуется установка пакета gtk-vnc.
¶Критика и ограничения
- Зависимость от libvirt — virt-manager не может работать без libvirtd. Если демон не запущен или не настроен, приложение не функционирует.
- Ограниченная поддержка Windows — хотя virt-manager позволяет устанавливать Windows, функциональность SPICE (например, буфер обмена, звук) может работать нестабильно. Рекомендуется использовать VNC для Windows-гостей.
- Сложность настройки проброса устройств — проброс USB и PCI требует ручного редактирования XML-конфигурации в некоторых случаях, так как графический интерфейс не всегда предоставляет все опции.
- Отсутствие встроенного менеджера образов — для работы с образами дисков (конвертация, изменение размера) требуется использовать отдельные утилиты, такие как
qemu-img. - Производительность — при большом количестве виртуальных машин (более 50) интерфейс может замедляться, особенно при обновлении графиков производительности.
¶Примеры использования
- Разработка и тестирование — создание изолированных сред для тестирования программного обеспечения под разные ОС.
- Обучение — демонстрация работы операционных систем без необходимости установки на физическое оборудование.
- Серверная виртуализация — управление несколькими серверами на одном хосте с использованием KVM.
- Домашние лаборатории — создание виртуальных сетей для изучения сетевых технологий (например, настройка маршрутизации, DHCP, DNS).
¶Лицензия и распространение
virt-manager распространяется под лицензией GNU General Public License версии 2 (GPLv2). Исходный код доступен на GitHub в репозитории virt-manager/virt-manager. Пакеты доступны для большинства дистрибутивов Linux через официальные репозитории. Для установки в Fedora используется команда dnf install virt-manager, в Ubuntu — apt install virt-manager.
¶Источники
- Официальная документация проекта virt-manager (virt-manager.org)
- Руководство по libvirt (libvirt.org)
- Статья «Virtual Machine Manager» в архиве Fedora Project (fedoraproject.org)
- Репозиторий проекта на GitHub (github.com/virt-manager/virt-manager)
- Документация Red Hat по управлению виртуализацией (access.redhat.com)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


