virsh

Virsh

Установка virsh в Linux

virsh входит в пакет libvirt-clients и обычно устанавливается вместе с инструментами виртуализации (KVM/QEMU).

Пошаговая установка на Debian/Ubuntu:

  1. Обновите список пакетов:
sudo apt update
  1. Установите необходимые пакеты:
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 — графический интерфейс для управления ВМ.
  1. Проверьте версию virsh:
virsh --version
  1. Убедитесь, что сервис libvirtd запущен:
systemctl status libvirtd
  1. Добавьте пользователя в группу libvirt для работы без sudo:
sudo usermod -aG libvirt $USER

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


Примеры использования virsh

  1. Справка и список ВМ
virsh help                    # общая справка
virsh list                  # запущенные ВМ
virsh list --all            # все ВМ (включая остановленные)
  1. Управление состоянием ВМ
virsh start <имя_ВМ>       # запустить ВМ
virsh shutdown <имя_ВМ>    # корректное выключение
virsh destroy <имя_ВМ>     # принудительная остановка (как отключение питания)
virsh reboot <имя_ВМ>      # перезагрузка ВМ
virsh suspend <имя_ВМ>     # приостановить ВМ (сохранение состояния в памяти)
virsh resume <имя_ВМ>      # возобновить работу приостановленной ВМ
  1. Информация и конфигурация
virsh dominfo <имя_ВМ>     # общая информация о ВМ
virsh domstate <имя_ВМ>    # текущее состояние ВМ
virsh dumpxml <имя_ВМ>    # вывести XML‑конфигурацию ВМ (можно перенаправить в файл)
virsh edit <имя_ВМ>      # отредактировать XML‑конфигурацию (память, CPU и т. д.)
  1. Автозапуск и удаление
virsh autostart <имя_ВМ>             # включить автозапуск ВМ при загрузке хоста
virsh autostart --disable <имя_ВМ> # отключить автозапуск
virsh undefine <имя_ВМ>           # удалить конфигурацию ВМ (диски сохраняются)
virsh undefine <имя_ВМ> --remove-all-storage # удалить ВМ и все связанные диски
  1. Сохранение и восстановление
virsh save <имя_ВМ> <файл>    # сохранить состояние ВМ в файл и выключить её
virsh restore <файл>          # восстановить ВМ из сохранённого состояния
  1. Работа с сетями
virsh net-list --all    # список виртуальных сетей
virsh net-start <сеть>  # запустить виртуальную сеть
virsh net-destroy <сеть> # остановить виртуальную сеть
  1. Интерактивный режим
virsh  # запуск интерактивной оболочки
# далее вводите команды без префикса virsh:
list
start myvm
quit  # выход из интерактивного режима
  1. Подключение к консоли ВМ
virsh console <имя_ВМ>  # подключиться к текстовой консоли ВМ

Для выхода из консоли нажмите Ctrl+].


Важные замечания

  • Права доступа. Для полного управления нужны права суперпользователя (sudo) или членство в группе libvirt.
  • Удалённое управление. Используйте защищённые соединения (SSH) при работе с удалёнными хостами.
  • Резервное копирование. Команда dumpxml позволяет сохранить XML‑конфигурацию ВМ — это полезно для бэкапов.
  • Формат вывода. Многие команды возвращают данные в формате XML, которые можно перенаправить в файл для анализа или редактирования.

Итог: virsh — мощный инструмент для управления виртуализацией в Linux через командную строку. Он подходит для администрирования KVM‑ВМ как на локальных, так и на удалённых серверах.