Если у вас есть готовая виртуальная машина (ВМ) KVM — например, образ диска в формате qcow2 и XML-файл с описанием ВМ — и вы только что установили KVM/QEMU на Linux, эта статья поможет вам правильно добавить и запустить эту ВМ через libvirt. Предполагается, что установка KVM и libvirt уже выполнена, и вы работаете от имени обычного пользователя, который имеет права на выполнение `sudo` для административных задач.
Обычно образы дисков хранятся в `/var/lib/libvirt/images/`. Для этого нужно права администратора.
sudo cp /путь/к/vm-image.qcow2 /var/lib/libvirt/images/
sudo chown libvirt-qemu:kvm /var/lib/libvirt/images/vm-image.qcow2
sudo chmod 640 /var/lib/libvirt/images/vm-image.qcow2
Если вы хотите хранить образы в другом месте, убедитесь, что права доступа позволяют libvirt читать и писать файлы.
XML-файлы виртуальных машин обычно хранятся в `/etc/libvirt/qemu/`, доступ к которой также требует прав администратора.
sudo cp /путь/к/vm.xml /etc/libvirt/qemu/
Откройте XML-файл для редактирования (можно с помощью `nano` или `vim`):
sudo nano /etc/libvirt/qemu/vm.xml
Убедитесь, что в разделе `
<source file='/var/lib/libvirt/images/vm-image.qcow2'/>
Если вы храните образ в другом месте, исправьте путь.
Проверьте другие параметры, например, имя ВМ (`
Теперь, когда файлы на месте, нужно зарегистрировать ВМ в libvirt.
Выполните от имени обычного пользователя с правами `sudo`:
sudo virsh define /etc/libvirt/qemu/vm.xml
Если вы хотите, чтобы обычный пользователь мог управлять ВМ через `virsh` без `sudo`, нужно добавить его в группу `libvirt`:
sudo usermod -aG libvirt $(whoami)
После этого выйдите из сессии и войдите заново, чтобы обновились группы.
Теперь можно запустить ВМ:
virsh start vm-name
где `vm-name` — имя, указанное в XML в теге `
Если команда выдаёт ошибку о недостатке прав, попробуйте с `sudo`:
sudo virsh start vm-name
Чтобы увидеть список всех ВМ (запущенных и выключенных), выполните:
virsh list --all
Если вы предпочитаете графический интерфейс, установите `virt-manager`:
sudo apt install virt-manager # для Debian/Ubuntu
sudo dnf install virt-manager # для Fedora
Запускайте его от имени обычного пользователя:
virt-manager
Он автоматически подключится к локальному демону libvirt и покажет список виртуальных машин.
Действие | Команда | От имени |
---|---|---|
Копирование образа | `sudo cp ... /var/lib/libvirt/images/` | root (через sudo) |
Изменение прав образа | `sudo chown libvirt-qemu:kvm ...` | root (через sudo) |
Копирование XML-файла | `sudo cp ... /etc/libvirt/qemu/` | root (через sudo) |
Редактирование XML | `sudo nano /etc/libvirt/qemu/vm.xml` | root (через sudo) |
Определение ВМ в libvirt | `sudo virsh define /etc/libvirt/qemu/vm.xml` | root (через sudo) |
Добавление пользователя в группу | `sudo usermod -aG libvirt $(whoami)` | root (через sudo) |
Запуск ВМ | `virsh start vm-name` | обычный пользователь (если в группе libvirt) или с sudo |
Просмотр списка ВМ | `virsh list --all` | обычный пользователь |
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()