Образ CoreOS не может загрузить файл зажигания через libvirt (в разрешении отказано)
Я тестирую новую сетевую конфигурацию с использованием виртуальных машин и установил libvirt и qemu в моей системе. Следуйте документации по Fedora CoreOS, чтобы начать работу.
Предпринятые шаги
- Я обновил свой пользователю быть членом КМК и Libvirt групп
> groups [ .. ] video kvm fuse libvirt
- Создал Ignition YAML и экспортировал в файл JSON .ign
{"ignition":{"version":"3.1.0"},"passwd":{"users":[{ ...
- Выполнение команды kvm напрямую с использованием документации работает должным образом. Я могу подключиться к системе по ssh
- libvirt может генерировать XML, используя шаги, указанные в исходной документации CoreOS (https://coreos.com/os/docs/latest/booting-with-libvirt.html#virtual-machine-startup) с прилагаемыми командами qemu
... <qemu:commandline xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0"> <qemu:arg value="-fw_cfg"/> <qemu:arg value="name=opt/com.coreos/config,file=/var/lib/libvirt/machine/main.ign"/> </qemu:commandline>
- Пытался установить права доступа к файлу зажигания на "kvm" и "libvirt" без изменений. В настоящее время все файлы, использующие libvirt:
$ ls -l /var/lib/libvirt/machine/ total 8 -rw-r--r-- 1 root libvirt 2242 Sep 20 17:16 domain.xml -rwxr-xr-x 1 root libvirt 658 Sep 20 17:15 main.ign
- Машина загружена и отображается в virt-manager
$ virsh list --all Id Name State ----------------------------- - machine shut off
Единственная проблема в том, что машина не будет работать из virt-manager или virsh:
$ virsh start machine
error: Failed to start domain machine
error: internal error: qemu unexpectedly closed the monitor: 2020-09-21T00:34:59.972390Z qemu-system-x86_64: warning: host doesn't support requested feature: MSR(48FH).vmx-exit-load-perf-global-ctrl [bit 12]
2020-09-21T00:34:59.972427Z qemu-system-x86_64: warning: host doesn't support requested feature: MSR(490H).vmx-entry-load-perf-global-ctrl [bit 13]
2020-09-21T00:34:59.973278Z qemu-system-x86_64: warning: host doesn't support requested feature: MSR(48FH).vmx-exit-load-perf-global-ctrl [bit 12]
2020-09-21T00:34:59.973287Z qemu-system-x86_64: warning: host doesn't support requested feature: MSR(490H).vmx-entry-load-perf-global-ctrl [bit 13]
2020-09-21T00:34:59.980931Z qemu-system-x86_64: -fw_cfg name=opt/com.coreos/config,file=/var/lib/libvirt/machine/main.ign: can't load /var/lib/libvirt/machine/main.ign: Failed to open file “/var/lib/libvirt/machine/main.ign”: Permission denied
Теперь нет идей, что делать. У кого-то есть идея?
3 ответа
Измените следующую строку в
/etc/libvirt/qemu.conf
security_driver = "none"
Параметр
security_driver = "none"
в /etc/libvirt/qemu.conf и перезапустите libvirtd, чтобы решить аналогичную проблему. (Debian 11, ни AppArmor, ни SELinux не активированы/не используются вообще). Ошибка здесь выглядела так:
Error: error creating libvirt domain: internal error: process exited while connecting to monitor: ...
а также
Could not open '/var/lib/libvirt/images/d1test4-centos7.qcow2': Permission denied
Попробуйте вместо этого
# mv main.ign /var/lib/libvirt/images/
# restorecon /var/lib/libvirt/images/main.ign
/var/lib/libvirt/images
правильно разрешен и selinux помечен для доступа виртуальных машин.
/var/lib/libvirt/machines
не является стандартным каталогом libvirt, поэтому в зависимости от того, как вы его создали, процесс qemu может не иметь доступа. Также в Fedora процесс qemu запускается от имени пользователя qemu, а не kvm или libvirt, так что это тоже может быть связано с этим, но если файл находится в / var / lib / libvirt / images и глобальные разрешения на чтение тогда я думаю этого должно быть достаточно