Вопрос или проблема
У меня возникли проблемы с виртуальной машиной, которую я использовал вчера. После использования я закрыл гостевую машину и обновил мой хост (arch linux). Сегодня я включил хост и попытался запустить гостевую машину, и появилось следующее сообщение:
Ошибка запуска домена: неподдерживаемая конфигурация: chardev ‘spicevmc’
не поддерживается без графики spiceTraceback (most recent call last):
Файл
“/usr/share/virt-manager/virtManager/asyncjob.py”, строка 72, в
cb_wrapper
callback(asyncjob, *args, **kwargs)Файл “/usr/share/virt-manager/virtManager/asyncjob.py”, строка 108, в tmpcb
callback(*args, **kwargs)Файл “/usr/share/virt-manager/virtManager/object/libvirtobject.py”, строка 57, в newfn
ret = fn(self, *args, **kwargs)Файл “/usr/share/virt-manager/virtManager/object/domain.py”, строка 1384, в
startup
self._backend.create()Файл “/usr/lib/python3.10/site-packages/libvirt.py”, строка 1352, в create
raise libvirtError(‘virDomainCreate() failed’) libvirt.libvirtError: неподдерживаемая конфигурация: chardev ‘spicevmc’
не поддерживается без графики spice
Я использую выделенную видеокарту nvidia на гостевой ОС Manjaro.
Я не являюсь экспертом в Linux.
Есть идеи, что происходит и как это исправить?
Если нужна дополнительная информация, дайте знать.
ОБНОВЛЕНИЕ #1:
Я удалил USB перенаправители spice из моей виртуальной машины:
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="4"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="5"/>
</redirdev>
Теперь все работает нормально… Просто я больше не могу использовать USB перенаправители на гостевой ОС… Кто-нибудь знает, почему так и как это исправить?
У меня была та же проблема после обновления моего Arch хоста. В virt-manager я зашел в Display Spice
и переключил Type: VNC Server
на Spice server
и перезагрузил машину.
После этого все работало нормально.
Единственная проблема теперь заключается в том, что мне приходится вводить фразу-пароль моего ssh-ключа тысячи раз перед доступом к консольному просмотровщику. Я могу с этим жить.
У меня также возникла эта проблема после обновления моего Arch Linux, затем я добавил spice server, потому что без него я не мог удалить два USB перенаправителя, я сделал это, потому что они мне не нужны в моей конфигурации, так как у меня есть виртуальная машина с передачей GPU, и я использую свою вторую GPU для вывода видео и не хочу автоматически перенаправлять USB устройства. Подробнее читайте здесь https://people.freedesktop.org/~teuf/spice-doc/html/ch02s06.html
.
Ответ или решение
После обновления Arch Linux возникает проблема с запуском виртуальной машины KVM, в частности, с появлением ошибки unsupported configuration: chardev 'spicevmc' not supported without spice graphics
. Эта ошибка указывает на конфликт в конфигурации, связанный с использованием компонента Spice, который служит для улучшенного графического интерфейса и перенаправления USB-устройств в гостевой ОС.
Теория
По умолчанию, при использовании виртуализации KVM вместе с утилитами, такими как virt-manager
, могут быть задействованы различные графические и устройства перенаправления, в том числе и Spice. Spice обеспечивает высокопроизводительное удаленное подключение, поддерживая ряд функциональных возможностей, включая перенаправление USB-устройств из хост-системы в виртуальную машину. В вашей конфигурации явно использовались компоненты USB перенаправления с использованием Spice.
После обновления системы могло произойти изменение в поддержке или конфигурации Spice, что привело к невозможности запуска виртуальной машины с прежними настройками. Это может быть связано с долговременной совместимостью в обновлениях пакетов Arch Linux, изменениями в конфигурации libvirt
или qemu
, а также с общими обновлениями системы.
Пример
Вполне вероятно, что при обновлении обновились такие пакеты, как libvirt
, virt-manager
, qemu
и, конечно, все, что связано с Spice. В соответствии с предоставленной информацией, вы временно решили проблему удалением элементов конфигурации <redirdev>
, связанных с перенаправлением USB с использованием Spice.
Другие пользователи, столкнувшиеся с этой проблемой после обновления Arch Linux, смогли решить ее, активировав в интерфейсе virt-manager
параметр Display и изменив тип сервера со VNC Server
на Spice server
. Это предполагает, что какое-то обновление привело к отключению использование графического сервера Spice, который нужен для работы spicevmc
.
Применение
Для решения проблемы вы можете выбрать один из следующих подходов:
-
Включение Spice Server в Virt-Manager:
Если работоспособность перенаправления USB через Spice критична для ваших рабочих процессов, следует убедиться, что ваш виртуальный дисплей действительно настроен на использование Spice, а не VNC. Для этого:- Откройте
virt-manager
. - Перейдите к конфигурации вашей виртуальной машины.
- В меню "Display" смените параметр
Type: VNC Server
наSpice server
. - Примените изменения и попробуйте перезапустить виртуальную машину.
- Откройте
-
Отказ от USB перенаправления:
Если использование USB перенаправления не является необходимым, можно просто оставить его отключенным, как вы уже сделали. Это наиболее простое временное решение, которое позволяет запускать виртуальную машину. -
Обновление и настройка пакетов:
Проверьте наличие обновлений для пакетовspice
,libvirt
,qemu
и других связанных компонентов. В Arch Linux можно установить или обновить пакеты командой:sudo pacman -Suy
Убедитесь, что все пакеты корректно установлены, нет поврежденных зависимостей.
-
Изучение журналов и документации:
Проверьте системные журналы и журналыlibvirt
на предмет детальных сообщений об ошибках. Это можно сделать через:journalctl -xe
или искать в
/var/log/libvirt/
. -
Обратитесь к сообществу Arch Linux:
Поступайте так, если не удается выявить причину проблемы. Форумы Arch Linux и списки рассылки поддерживают активное сообщество сетевых профессионалов, и там возможно уже есть решения для данной конкретной ошибки.
Таким образом, ошибка, которая появилась после обновлений, является управляемой, если принять в расчет соответствующую адаптацию конфигурации и понимание обновленного программного обеспечения. Используйте предоставленные решения для корректировки текущей настройки.