Установка virsh в Linux
virsh входит в пакет libvirt-clients и обычно устанавливается вместе с инструментами виртуализации (KVM/QEMU).
Пошаговая установка на Debian/Ubuntu:
- Обновите список пакетов:
sudo apt update
- Установите необходимые пакеты:
sudo apt install libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager -y
libvirt-daemon-system— демон libvirt и инструменты управления ВМ;libvirt-clients— содержитvirsh;bridge-utils— утилиты для создания сетевых мостов;virtinst— утилитаvirt-installдля создания ВМ;virt-manager— графический интерфейс для управления ВМ.
- Проверьте версию
virsh:
virsh --version
- Убедитесь, что сервис
libvirtdзапущен:
systemctl status libvirtd
- Добавьте пользователя в группу
libvirtдля работы безsudo:
sudo usermod -aG libvirt $USER
Перезайдите в систему или выполните newgrp libvirt, чтобы применить изменения группы.
Примеры использования virsh
- Справка и список ВМ
virsh help # общая справка
virsh list # запущенные ВМ
virsh list --all # все ВМ (включая остановленные)
- Управление состоянием ВМ
virsh start <имя_ВМ> # запустить ВМ
virsh shutdown <имя_ВМ> # корректное выключение
virsh destroy <имя_ВМ> # принудительная остановка (как отключение питания)
virsh reboot <имя_ВМ> # перезагрузка ВМ
virsh suspend <имя_ВМ> # приостановить ВМ (сохранение состояния в памяти)
virsh resume <имя_ВМ> # возобновить работу приостановленной ВМ
- Информация и конфигурация
virsh dominfo <имя_ВМ> # общая информация о ВМ
virsh domstate <имя_ВМ> # текущее состояние ВМ
virsh dumpxml <имя_ВМ> # вывести XML‑конфигурацию ВМ (можно перенаправить в файл)
virsh edit <имя_ВМ> # отредактировать XML‑конфигурацию (память, CPU и т. д.)
- Автозапуск и удаление
virsh autostart <имя_ВМ> # включить автозапуск ВМ при загрузке хоста
virsh autostart --disable <имя_ВМ> # отключить автозапуск
virsh undefine <имя_ВМ> # удалить конфигурацию ВМ (диски сохраняются)
virsh undefine <имя_ВМ> --remove-all-storage # удалить ВМ и все связанные диски
- Сохранение и восстановление
virsh save <имя_ВМ> <файл> # сохранить состояние ВМ в файл и выключить её
virsh restore <файл> # восстановить ВМ из сохранённого состояния
- Работа с сетями
virsh net-list --all # список виртуальных сетей
virsh net-start <сеть> # запустить виртуальную сеть
virsh net-destroy <сеть> # остановить виртуальную сеть
- Интерактивный режим
virsh # запуск интерактивной оболочки
# далее вводите команды без префикса virsh:
list
start myvm
quit # выход из интерактивного режима
- Подключение к консоли ВМ
virsh console <имя_ВМ> # подключиться к текстовой консоли ВМ
Для выхода из консоли нажмите Ctrl+].
Важные замечания
- Права доступа. Для полного управления нужны права суперпользователя (
sudo) или членство в группеlibvirt. - Удалённое управление. Используйте защищённые соединения (SSH) при работе с удалёнными хостами.
- Резервное копирование. Команда
dumpxmlпозволяет сохранить XML‑конфигурацию ВМ — это полезно для бэкапов. - Формат вывода. Многие команды возвращают данные в формате XML, которые можно перенаправить в файл для анализа или редактирования.
Итог: virsh — мощный инструмент для управления виртуализацией в Linux через командную строку. Он подходит для администрирования KVM‑ВМ как на локальных, так и на удалённых серверах.