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


38

ここに画像の説明を入力してください

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

開始してもエラーは表示されませんgksudo virt-manager
ブラジル人の

/etc/libvirt/libvirtd.confファイルの内容は何ですか?
ブルーノペレイラ

完璧な場所ではありませんが、あなたが私と同じようにarchにいて、andをインストールqemuしているvirt-manager場合は、実行sudo systemctl start libvirtdしてみてくださいsudo systemctl enable libvirtd
アベニュー

回答:


50

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


18
典型的なLinuxソリューションではありません!
Woeitg

1
16.04では、libvirt-bin .serviceはlibvirtd .serviceではなく、疑問に思うかもしれません。デーモンはそこにあります。
ブラットM.

1
この場合、通常はログアウト/ログインだけでグループメンバーシップの変更が現在のセッションに反映されますが、個人的には、再ログインと再起動の間に大きな違いはありません(非常によく似た混乱を引き起こすため、再起動には約7秒かかります)私はむしろ「念のため」リブートを使用しました。
Ped7g

「オフにしてからもう一度オンにしてみましたか?」
tisaconundrum

33

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

sudo virt-manager

おっ!!! これは何ですか、これはどのように機能しましたか?
キショールパワー

のために働いたsudo。他の回答で説明を読んask.fedoraproject.org/en/question/45805/...
Kishor Pawar

受け入れられた答えであるべきです。
マグノC

1
動作しますが、使用するにはルートが必要です。通常のユーザーから使用したいです。私はそれのために何ができますか?
Puneetディキシット

4
@ andrew-grassoが述べているように、グループメンバーシップの変更を適用するにはログアウト/ログインする必要があります。使用sudoは推奨されません。
アレックスウィリソン

6

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

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

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

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

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


5

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

ps faux | grep libvirt-bin

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

sudo service libvirt-bin start


5

Ubuntu 16.04.3 LTSの場合

systemctl start virtlogd.socket

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


1

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

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


1
Ask Ubuntuへようこそ!現在の形式では、あなたの答えは可能な限り良くありません。あなたは見直す可能性が良い答えを書く方法、および質問と回答のスタイルガイド。どのパッケージをインストールする必要があるかを明確にすることができます。
J. Starnes

1

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

newgrp libvirt
virt-manager

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

getent group libvirt

0

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


xenkvm wiki.archlinux.org/index.php/KVMに似ていますが、すでにkvmインストールしている場合はインストールしないでくださいxenkvmインストールが上書きされ、vmsの実行が停止しました。私は削除する場合xenバックVMSは走り出しました。
キショールパワー

0

私の場合、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

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

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


完全な回答を得るには、追加のグループに自分を追加する方法を言う必要があります。
pbhj

-1

私はこれと同じ問題を抱えており、詳細なエラーレポートでlibvirt-sockファイルへの許可の欠如について述べています。ファイルの許可/var/run/libvirt/libvirt-sockを777に変更すると、ファイルが機能しました。


3
許可マスクを0777に変更するのは悪いことです。 結果を説明せずに潜在的に有害なアクション推奨しないでください!-1
デビッドフォースター

-1

Ubuntuソフトウェアを使用して、仮想マネージャーをアンインストールし、ログアウトし、再度ログインし、仮想マネージャーをインストールして、sudoまたはコマンドラインを使用せずに通常どおり実行します。


1
単に再インストールするのではなく、これらの手順が必要な理由を拡張することで、回答を改善できます。または、他の回答のいずれかに従ってください。口コミより
J. Starnes
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.