Управление ВМ с помощью virsh

Для управления виртуализацией VMmanager использует набор инструментов Libvirt. В состав Libvirt входит утилита virsh, позволяющая выполнять операции с виртуальными машинами (ВМ) через командную строку. Статья содержит примеры использования утилиты virsh. Подробную информацию о работе virsh см. в официальной документации Libvirt.

Используйте команды из этой статьи, если операции с ВМ невозможно выполнить через веб-интерфейс платформы.

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

Чтобы управлять ВМ через virsh, подключитесь по SSH к узлу кластера, на котором размещены эти ВМ. Подробнее о подключении по SSH см. в статье Настройка рабочего места.

Вывести список ВМ

virsh list --all


Пример ответа
Id    Name                           State
------------------------------------------------
 13    2289_phthalo_onyx              paused
 15    2921_sshstorage                running
 100   4820_cocoa-silver              running
 103   4831_grafana                   running
 -     2925_storage2                  shut off

Пояснения:

  • Id — id ВМ в гипервизоре. Отсутствует, если ВМ не запущена;
  • Name — имя ВМ в Libvirt. Например, если в платформе у ВМ id 12 и имя test, то в Libvirt у неё будет имя 12_test;
  • State — cтатус ВМ:

    • running — запущена;
    • shut off — полностью остановлена;
    • paused — приостановлена;
    • in shutdown — выполняется процесс выключения;
    • crashed — аварийно завершена;
    • pmsuspended — приостановлена через управление питанием.

Запустить ВМ

virsh start <имя_или_id_ВМ>

Корректно завершить работу ВМ

virsh shutdown <имя_или_id_ВМ>

Принудительно завершить работу ВМ

Используйте эту команду, только если ВМ не удалось остановить с помощью команды virsh shutdown. Действие команды аналогично экстренному отключению питания у сервера. В некоторых случаях команда может привести к потере данных и повреждению файловой системы внутри гостевой ОС.


virsh destroy <имя_или_id_ВМ>

Перезапустить ВМ

virsh reboot <имя_или_id_ВМ>

Приостановить ВМ

virsh suspend <имя_или_id_ВМ>

Вывести ВМ из состояния "Приостановлена"

virsh resume <имя_или_id_ВМ>

Получить конфигурацию ВМ

virsh dumpxml <имя_или_id_ВМ>
Пример ответа
<domain type='kvm' id='15'>
  <name>2921_sshstorage</name>
  <uuid>11111111-6716-440c-977e-1712dd752411</uuid>
  <memory>1048576</memory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64'>hvm</type>
  </os>
  <devices>
    <disk type='file' device='disk'>
      <source file='/var/lib/libvirt/images/minimal-vm.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='network'>
      <source network='default'/>
    </interface>
    <console type='pty'/>
  </devices>
</domain>

Пояснения:

  • domain — корневой элемент конфигурации:
    • type — тип гипервизора;
    • id — id ВМ;
  • name — имя ВМ;
  • uuid — универсальный уникальный идентификатор ВМ;
  • memory — объём RAM в КиБ;
  • vcpu — количество vCPU;
  • os — настройки гостевой ОС;
  • devices — подключённые устройства:
    • disk — виртуальные диски;
    • interface — сетевые интерфейсы;
    • console — виртуальная консоль.

Подробнее о конфигурации см. в документации Libvirt.

Редактировать конфигурацию ВМ

virsh edit <имя_или_id_ВМ>

Содержимое файла откроется в редакторе vim. Чтобы отредактировать файл, нажмите i и внесите необходимые изменения. Чтобы выйти из редактора:

  • с сохранением изменений — нажмите Esc и введите :wq
  • без сохранения — нажмите Esc и введите :q!


Подключиться к консоли ВМ

virsh console <имя_или_id_ВМ>


Дата последнего обновления статьи: 31.10.2025. Статья подготовлена техническими писателями ISPsystem