С тех пор вчера, я не могу просмотреть выполнение VMs (QEMU/KVM) с моим virt-manager
GUI больше. Когда я пытаюсь просмотреть экран VM в его встроенном средстве просмотра, я получаю это сообщение об ошибке вместо этого:
Ошибка, соединяющаяся с графической консолью:
внутренняя ошибка: не мог выполнить команду QEMU 'getfd':
Никакой дескриптор файла не предоставляется через SCM_RIGHTS
Это относится ко всем моим VMs.
Я могу все еще правильно просмотреть и взаимодействовать со своим VMs в virt-viewer
хотя, только virt-manager
встроенное средство просмотра неисправно.
Что не так здесь и как я могу зафиксировать его?
Править: Я просто узнал, что использую virt-manager
версия 1:1.4.0-1~getdeb1
из archive.getdeb.net repo.
Работая над попыткой слить последнюю версию virt-manager 1.4.0 с Ubuntu, я столкнулся с этой же проблемой. Похоже, это не ошибка в virt-manager, а просто изменение способа отправки отображаемых данных на виртуальные машины.
Я открыл ошибку, чтобы добавить необходимые разрешения для libvirt, в которой определены профили apparmor - https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug / 1668681
Чтобы устранить эту проблему без отключения защиты, добавьте:
# allow connect with openGraphicsFD to work
unix (send, receive) type=stream addr=none peer=(label=/usr/sbin/libvirtd),
в файл /etc/apparmor.d/abstractions/libvirt-qemu
, но не в раздел qemu-bridge-helper. (Так сразу после "owner @ {PROC} / 0-9 * / fd / r,")
Затем перезагрузите профили с помощью sudo systemctl reload apparmor
.
Сказав все это, я всегда рекомендую использовать пакеты из нашего архива для лучшей поддержки.
В моем случае это был apparmour предотвращение доступа. apparmour волшебный генератор профиля, кажется, не работает, как он должен. Мое обходное решение следующие.
После запуска экземпляра KVM и получения ошибки, я сделал:
$sudo apparmour_status
, который перечислил профиль, вызывающий проблему,
libvirt-<some long key>
Затем, я установил профиль apparmour для жалобы вместо, осуществляют с:
$sudo aa-complain /etc/apparmor.d/libvirt/libvirt-<some long key>
Теперь я больше не получаю ошибку. Надеюсь, что этот конфликт фиксируется.
Я не мог воспроизвести проблему, но были обновления для libvirt
5 октября:
libvirt-bin-1.3.1-1ubuntu10.2
было обновлено до libvirt-bin-1.3.1-1ubuntu10.3
libvirt0-1.3.1-1ubuntu10.2
было обновлено до libvirt01.3.1-1ubuntu10.3
Если вы не меняли какие-либо настройки или что-либо еще, скорее всего, что-то пошло не так во время процесса обновления. Полностью удалите все virt-manager
связанные пакеты и переустановите их.
sudo apt purge libvirt-bin libvirt-glib libvirt0 virt-manager virt-viewer virtinst
sudo apt install libvirt-bin libvirt-glib libvirt0 virt-manager virt-viewer virtinst
Перезагрузите операционную систему хоста - теперь все должно работать правильно, как раньше.
Походит на ошибку в virt-manager
версия 1:1.4.0-1~getdeb1
от http://getdeb.net .
Понижение пакета снова к последней версии, доступной от официального repos (1:1.3.2-3ubuntu1.16.04.2
от xenial-updates
), фиксирует это.
Обновление: Версия 1:1.4.0-1~getdeb2
еще не устранила эту проблему.