Ошибка создания пула хранения virt-manager QEMU/KVM

Автор: | 7 октября, 2024

Ошибка создания пула: Не удалось определить пул: доступ запрещён: доступ запрещён «QEMU» Error creating pool: Failed to determine pool: Access denied: Access denied ‘QEMU’

Первые шаги Виртуализация QEMU/KVM в Astra Linux

  • https://wiki.astralinux.ru/pages/viewpage.action?pageId=3277425
  • https://wiki.astralinux.ru/pages/viewpage.action?pageId=48759019
  • https://redos.red-soft.ru/base/redos-7_3/7_3-administation/7_3-virt-and-emul/7_3-qemu-kvm/?nocache=1728299429842
  • https://www.altlinux.org/Libvirt_(Qemu%2BKVM%2BVirt-manager)
  • http://wiki.rosalab.ru/ru/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_QEMU_%D0%B8_KVM

Установка гиппервизора в Astra Linux

sudo apt install astra-kvm

Добавление в группу и перезайти в сессию

sudo adduser andrey libvirt-admin

Настройка firewall

sudo firewall-cmd --set-default=trusted

Настройка LVM Logical Volume Manager новое блочное устройство

sudo lvs
sudo lvcreate -n astra175 -L16G alse17

Создание пула хранения данных virt-manager GUI графика , поменять Тип logical:группа томов LVM

Создание новой виртуальной машины — Проверить конфигурацию перед установкой

Микропрограмма: UEFI x86_64: /usr/share/OVMF/OVMF_CODE_4M.fd

Главное меню программы установки Astra Linux — Запуск оболочки для разметки виртуального диска:

lvs
ls -l /dev/vda
fdisk /dev/vda
#создать таблицу gpt
g
#создать раздел 512MiB
n
1
+512MiB
#создать раздел - всё место
n
2
#вывод разделов
p
#меняем тип раздела
t
1
#EFI
1
t
2
#Linux LVM
31
#Запись конфигурации на диск
w
#Создаём файловую систему
mkfs.fat /dev/vda1
#Создаём группу томов storage
vgcreate storage /dev/vda2
#Создаём раздел / 10ГБ
lvcreate -n root -L10G storage
#Создаём подкачки
lvcreate -n SWAP -L1G storage
exit

Разбивка дисков виртуальной машины — Вручную

LVM VG Storage LV root

10ГБ Клик Использовать, как выбрать: ext4 , монтировать в /

Настройка раздела закончена

LVM VG Storage, LV SWAP 1.1gb

Использовать как:раздел подкачки

Настройка раздела закончена

Закончить размету и записать изменения на диск.

Добавляем переменную в файл .bashrc

Просмотр сетей виртуальной машины cli

virsh net-list --all
nano .bashrc
export LIBVIRT_DEFAULT_URI="qemu:///system"

Сеть виртуальной машины

virsh net-list --all

Установка агента на виртуальную машину Astra Linux из установочного диска

sudo apt install qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
sudo systemctl status qemu-guest-agent

Увеличение раздела для включенной виртуальной машины

sudo lvs
sudo lvresizes astra-vg/astra175 -L24G
virsh list
virsh blockresize alse175 vda 24G

В консоли виртуальной машины , просмотр разделов исправление окончания раздела, увеличение раздела 2

sudo fdisk -l
sudo sgdisk -e /dev/vda
sudo parted /dev/vda resizepart 2 100%
sudo pvs
sudo pvresize /dev/vda2
sudo pvs

Клонирование выключенной виртуальной машины

Создание нового тома размером 24ГБ в группе томов astra-vg

sudo lvcreate -n astra175-2 -L24G astra-vg

Копирование раздела

sudo dd if=/dev/astra-vg/astra175 of=/dev/astra-vg/astra175-2 bs=4M conv=fsync status=progress

Экспорт конфигурации текущей виртуальной машины в xml файл

virsh list --all
virsh dumpxml alse175 > alse175.xml
cp alse175.xml alse175-2.xml
nano alse175-2.xml

Удаляем строку <uuid>
Меняем имя <name>alse175-2</name>
Меняем диск подключения <source dev='/dev/astra-vg/astra-175-2' activate='no'/>
Меняем Мак адрес сетевого адаптера <mac address=''/>

Создаем новую виртуальную машину на основе файла конфигурации или virsh-clone

virsh define alse175-2.xml
virsh start alse175-2

Создание снимка -снэпшота snap включенной ОС, если нет роли\функции базы данных

sudo lvcreate -s -n snap-astra175-2 -l10%ORIGIN astra-vg/astra175-2

Настройка сети KVM для виртуальных машин + интерфейс управления vlan

ip a
sudo systemctl mask NetworkManager
cd /etc/systemd/network
sudo nano wlp2s0.network

[Match]
Name=wlp2s0

[Network]
DHCP=ipv4
VLAN=vlan100

sudo systemctl enable --now systemd-networkd
sudo systemctl stop NetwrokManager
sudo systemctl restart systemd-networkd

sudo nano /etc/systemd/network/vlan100.netdev

[NetDev]
Name=vlan100
Kind=vlan

[VLAN]
Id=100

sudo nano /etc/systemd/network/vlan100.network
[Match]
Name=vlan100

[Network]
Bridge=br100

sudo nano /etc/systemd/network/br100.netdev

[NetDev]
Name=br100
Kind=bridge

sudo nano /etc/systemd/network/br100.nework

[Match]
Name=br100

[Network]
Address=10.100.0.11/24

Создаем Скоростной VLAN300

sudo nano /etc/systemd/network/vlan300.netdev
[NetDev]
Name=vlan300
Kind=vlan

[VLAN]
id=300

sudo nano wlp2s0.network
[Match]
Name=wlp2s0

[Network]
DHCP=ipv4
VLAN=vlan100
VLAN=vlan300

sudo systemctl restart systemd-networkd

Импорт настроек сети из xml файла и запуск

nano br100.xml

<network>
  <name>br100</name>
  <forward mode='bridge'/>
  <bridge name='br100'/>
</network>

virsh net-define br100.xml
virsh net-start br100
virsh net-autostart vlan100

nano br300.xml
<network trustGuestRxFilters="yes">
<name>vlan300</name>
<forward dev="vlan300" mode="bridge">
<interface dev="vlan300"/>
</forward>
</network>

virsh net-define br300.xml
virsh net-start br300
virsh net-autostart vlan300

virsh net-list

Ошибка Доступ запрещён «QEMU»

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/createpool.py", line 343, in _async_pool_create
    poolobj = pool.install(create=True, meter=meter, build=build)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtinst/storage.py", line 387, in install
    raise RuntimeError(msg) from None
RuntimeError: Не удалось определить пул: доступ запрещён: доступ запрещён «QEMU»

Шаги к решению:

Других пользователей, которые должны работать с виртуализацией, следует добавить в указанные группы вручную,Для того, чтобы добавление в группы вступило в силу, нужно перезапустить пользовательскую сессию.

sudo usermod -a -G kvm,libvirt,libvirt-qemu,libvirt-admin <имя_пользователя>

Другой вариант решения:

sudo nano /etc/libvirt/qemu.conf

 user = "libvirt-qemu"
 The group for QEMU processes run by the system instance. It can be
 specified in a similar way to user.
 group = "libvirt-qemu"

sudo systemctl restart libvirtd

Проверить права доступа на локальны каталог

sudo ls -lah
sudo getfacl -e /var/lib/libvirt/images/

Модификация прав доступа на локальный каталог https://wiki.astralinux.ru/pages/viewpage.action?pageId=283908794

sudo setfacl -m u:libvirt-qemu:rx /var/lib/libvirt/images/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *