web-dev-qa-db-ja.com

virt-managerはlibvirtに接続できません

enter image description here

Ubuntu 12.04.2 32ビットを実行しています。

gksudo virt-manager。を起動するとエラーは表示されません

  • libvirt-binがインストールされています。
  • デーモンを確認する方法がわかりません。
  • 私はlibvirtdのメンバーです。

ps ax | grep libvirtの出力:

9225 ? Sl 0:04 /usr/sbin/libvirtd -d
9302 ? S 0:00 /usr/sbin/dnsmasq -u libvirt-dnsmasq --strict-order --bind-interfaces --pid-file=/var/run/libvirt/network/default.pid --conf-file= --except-interface lo --listen-address 192.168.122.1 --dhcp-range 192.168.122.2,192.168.122.254 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases --dhcp-lease-max=253 --dhcp-no-override`

ls -l /var/run/libvirt/libvirt-sockの出力:

srwxrwx --- 1ルートlibvirtd 0セット13 15:04/var/run/libvirt/libvirt-sock

getent group libvirtdの出力:

 libvirtd:x:130:OTHERUSER,MYUSER

詳細なエラーメッセージ

Unable to connect to libvirt.   
Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied

Verify that:
 - The 'libvirt-bin' package is installed
 - The 'libvirtd' daemon has been started
 - You are member of the 'libvirtd' group

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1185, in _open_thread
    self.vmm = self._try_open()
  File "/usr/share/virt-manager/virtManager/connection.py", line 1167, 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
34

virt-managerがインストールされているシステムを再起動すると、問題が解決しました。

48

KVMをインストールした後、このコマンドを実行すると、そのエラーは再び発生しません。

Sudo virt-manager
32
Abhi Abhishek

Ubuntu 16.04.3 LTSの場合

systemctl start virtlogd.socket

唯一の答えでした。ソケットには独自のデーモンがあります。それは異常です。

5
mr.zog

Ubuntu 14.02マシンでQemuとVirtualboxの両方を管理していますが、Virtualboxのインストール後にlibvirt-binが自動起動に失敗しました。そのため、libvirt-binが実行されているかどうかを確認します。

ps faux | grep libvirt-bin

psの出力に表示されない場合は、手動で開始してからvirt-managerを実行します。

Sudo service libvirt-bin start

5
Valentin Kantor

私にとっては、ログアウトログイン(または再起動)なしではグループメンバーシップの変更が適用されないため、エラーが発生しました。 KVMとlibvirt-binをインストールしました。インストーラーは自動的にユーザーをlibvirtdグループに追加し、libvirt-binサービスを再起動しましたが、それでもエラーが発生していました。

ログアウトして再度ログインするだけで、新しいグループメンバーシップを適用して問題を解決できました。

Libvirt-binをインストールしたばかりで、エラーメッセージが示すように、現在のユーザーがlibvirtdグループのメンバーであることを既に確認している場合、新しいグループメンバーシップを適用するにはログアウトして再度ログインする必要があります。

ファイルのアクセス権を777に変更しないでください何が間違っているのか理解するのを避けるために、すべてをrootまたはSudoとして実行しないでください。

これが誰かの助けになることを願っています。

5
Andrew Grasso

Opで指定されたすべてのパッケージをインストールしたら、ログアウトしてから再度ログインできます。ユーザーグループに追加するものはすべて、ログアウトしてから再度ログインして新しいグループに追加する必要があります。ちょっとした不便さですが、再起動するよりも1つ少ないです。

これは未完了としてフラグが立てられましたが、これはユーザーをグループに追加するための一般的なルールとして行われます。再ログが必要です。これは、ここでは見られなかった欠落部分です。

1

この問題は Launchpad で説明されており、この問題の原因はxen-utilsパッケージ(Ubuntu 14.04ではxen-utils-4.4)をインストールすることで解決できます。以前、コマンドラインでvirt-managerからSudoでこの問題を回避していました。

0
Jay Philips

再起動/ログアウトの代替方法は、ターミナルから次のコマンドを実行することです。

newgrp libvirt
virt-manager

newgrpコマンドを使用すると、ユーザーはlibvirtの後に同じシェルで開始されたプロセスに対して、ログアウトせずにnewgrpグループに参加できます。もちろん、これはlibvirtインストーラーがlibvirtグループに入れた場合にのみ機能します。

getent group libvirt
0
alkisg

私にとっては、service libvirt-bin statusを使用すると、次のように接続できませんでしたが、すべてが正常に動作していることがわかりました。

    ● libvirt-bin.service - Virtualization daemon
       Loaded: loaded (/lib/systemd/system/libvirt-bin.service; enabled; vendor preset: enabled)
       Active: active (running) since Do 2016-09-22 13:22:16 CEST; 6min ago
[...]

/var/run/libvirt/には、次の2つのファイルがあります。

srwxrwxrwx  1 root libvirtd    0 Sep 22 13:22 libvirt-sock=
srwxrwxrwx  1 root libvirtd    0 Sep 22 13:22 libvirt-sock-ro=

ソケットが表示されない場合は、service libvirt-bin stop; service libvirt-bin startを使用してプロセスを完全に再起動してください。 service libvirt-bin restartを使用するだけでは不十分であり、ソケットを再作成しません。

libvirt-binサービス安全に停止でき、ゲストの電源を切らない

0
Flatron

Ubuntu 17.10の時点で、グループlibvirtにも自分を追加する必要がありました。私はすでにlibvirtdに自分を追加しており、そのグループから自分自身を削除しませんでした。両方が必要かどうかはわかりません。

/ var/run/libvirtの内容がlibvirtdではなくlibvirtによって所有されていることに気付いたので、これを行いました。

0
K. Gimbel