Проблема с Virt-менеджером

Я установил virt-manager и я не могу заставить его работать.

Я попробовал некоторые ранее отправленные ответы без успеха. Я проверил что:

  • libvirt-bin пакет установлен
  • libvirtd демон был запущен
  • Я - член libvirtd группа
  • libvirt URI: qemu:///system

Это - ошибка, которую я получаю при попытке работать virt-manager:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1027, in _open_thread
    self.vmm = self._try_open()
  File "/usr/share/virt-manager/virtManager/connection.py", line 1009, in _try_open
    flags)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 102, in openAuth
    if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission     denied
7
задан 11 July 2013 в 03:40

4 ответа

У меня была такая же проблема. Попробуйте это руководство , оно работает для меня. Не забудьте перезапустить после добавления пользователя в группу 'libvirtd'

0
ответ дан 11 July 2013 в 03:40

Я столкнулся с этой проблемой, потому что у меня было две libvirtd группы.

Когда я установил qemu-kvm, группа libvirtd не существовала, поэтому она была создана с произвольным идентификатором группы 121:

ls -n /var/run/libvirt/libvirt-sock
srwxrwx--- 1 0 121 0 Oct  1 18:49 /var/run/libvirt/libvirt-sock

Позже мой хост присоединился к NIS. Я являюсь членом libvirtd, но идентификатор группы 1046:

id
uid=177(jmcgeheeiv) ...,1046(libvirtd),...

Я не являюсь членом группы 201, поэтому я не могу записать в сокет /var/run/libvirt/libvirt-sock.

Обновление принадлежности группы /var/run/libvirt/libvirt-sock к правильному номеру группы решило мою проблему:

sudo chgrp 1019 /var/run/libvirt/libvirt-sock
ls -n /var/run/libvirt/libvirt-sock
srwxrwx--- 1 0 1019 0 Oct  1 18:49 /var/run/libvirt/libvirt-sock

В этом случае нет необходимости выходить из системы и входить в нее.

Хотя вышеизложенное решает непосредственную проблему, оно нарушает инфраструктуру как код. Реальное решение состоит в том, чтобы восстановить хост, сначала создав группу libvirtd с идентификатором группы 1046 в соответствии с NIS, а затем установив qemu-kvm.

0
ответ дан 11 July 2013 в 03:40

Возможно, вам придется выйти и снова войти в систему.

Предполагается, что /etc/libvirt/libvirtd.conf имеет:

# Set the UNIX domain socket group ownership. This can be used to
# allow a 'trusted' set of users access to management capabilities
# without becoming root.
#
# This is restricted to 'root' by default.
unix_sock_group = "libvirtd"

# Set the UNIX socket permissions for the R/O socket. This is used
# for monitoring VM status only
#
# Default allows any user. If setting group ownership, you may want to
# restrict this too.
unix_sock_ro_perms = "0777"

# Set the UNIX socket permissions for the R/W socket. This is used
# for full management of VMs
#
# Default allows only root. If PolicyKit is enabled on the socket,
# the default will change to allow everyone (eg, 0777)
#
# If not using PolicyKit and setting group ownership for access
# control, then you may want to relax this too.
unix_sock_rw_perms = "0770"

Должно работать, если ваш пользователь является членом группы libvirtd.

Проверьте, должен ли ваш пользователь быть в группе, пример пользователя vagrant:

$ cat /etc/group|grep $USER
vagrant:x:1000:
libvirtd:x:116:ubuntu,vagrant

Если вашего пользователя нет в группе, вам нужно добавить его:

$ sudo usermod -a -G libvirtd $USER

Если ваш пользователь уже был в группе в /etc/group, проверьте вывод groups:

$ groups
vagrant libvirtd

Если вы не видите libvirtd, вам нужно выйти и снова войти в систему.

0
ответ дан 11 July 2013 в 03:40

Попробуйте добавить эту строку в /etc/libvirt/libvirtd.conf

listen_tls = 0

, затем перезапустите lirvirt с помощью:

/etc/init.d/libvirt-bin restart
0
ответ дан 11 July 2013 в 03:40

Другие вопросы по тегам:

Похожие вопросы: