virt-manager không thể kết nối với libvirt


38

nhập mô tả hình ảnh ở đây

Tôi đang chạy Ubuntu 12.04.2 32 bit.

Lỗi không hiển thị nếu tôi bắt đầu gksudo virt-manager.

  • libvirt-bin được cài đặt.
  • Tôi không biết làm thế nào để kiểm tra daemon.
  • Tôi là thành viên của libvirtd.

Đầu ra của 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`

Đầu ra của ls -l /var/run/libvirt/libvirt-sock:

srwxrwx --- 1 root libvirtd 0 Đặt 13 15:04 / var / run / libvirt / libvirt-sock

Đầu ra của getent group libvirtd:

 libvirtd:x:130:OTHERUSER,MYUSER

Thông báo lỗi chi tiết

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

Lỗi không xuất hiện nếu tôi bắt đầugksudo virt-manager
trai người Brazil đó

Nội dung của /etc/libvirt/libvirtd.conftập tin của bạn là gì?
Bruno Pereira

Không phải là nơi hoàn hảo, nhưng nếu bạn đang ở trên vòm như tôi và cài đặt qemuvirt-manager, hãy thử chạy sudo systemctl start libvirtdvà tùy chọn sudo systemctl enable libvirtdnếu bạn muốn nó để bắt đầu lúc khởi động.
Ave

Câu trả lời:


50

Khởi động lại hệ thống nơi virt-managerđược cài đặt đã giải quyết vấn đề.


18
không phải là một giải pháp Linux điển hình!
Woeitg

1
Vào ngày 16.04, libvirt-bin .service không phải libvirtd .service nếu bạn thắc mắc. Vì vậy, daemon là ở đó.
Bulat M.

1
Thông thường chỉ cần đăng xuất / đăng nhập là đủ trong trường hợp này để thay đổi thành viên nhóm lan truyền sang phiên hiện tại, nhưng đối với cá nhân tôi, không có nhiều khác biệt giữa relogin và khởi động lại (gây ra sự gián đoạn rất giống nhau, quá trình khởi động lại chỉ mất khoảng 7 giây), vì vậy Tôi thay vì sử dụng khởi động lại "chỉ trong trường hợp".
Ped7g

"bạn đã thử tắt nó đi và sau đó bật lại chưa?"
tisaconundrum

33

Sau khi cài đặt KVM, hãy chạy lệnh này thì lỗi đó sẽ không xảy ra nữa.

sudo virt-manager

whoa !!! Cái này là gì, cái này hoạt động thế nào?
Kishor Pawar

Nó làm việc vì sudo. đọc lời giải thích trong một câu trả lời khác hỏi.fedoraproject.org/en/question/45805/ Khăn
Kishor Pawar

Nên là câu trả lời được chấp nhận.
Magno C

1
Nó hoạt động nhưng cần root để sử dụng. Tôi muốn sử dụng nó từ người dùng bình thường. Tôi có thể làm gì cho nó?
Puneet Dixit

4
Như @ andrew-grasso tuyên bố, bạn cần đăng xuất / đăng nhập để thay đổi thành viên nhóm để áp dụng. Sử dụng sudokhông được khuyến khích.
Alex Willison

6

Đối với tôi, lỗi là do các thay đổi thành viên nhóm không áp dụng mà không đăng nhập đăng nhập (hoặc khởi động lại). Tôi vừa cài đặt KVM và libvirt-bin. Trình cài đặt tự động thêm người dùng của tôi vào nhóm libvirtd, tôi đã khởi động lại dịch vụ libvirt-bin, nhưng tôi vẫn gặp lỗi.

Chỉ cần đăng xuất và quay lại giải quyết vấn đề bằng cách áp dụng thành viên nhóm mới của tôi.

Giả sử bạn vừa cài đặt libvirt-bin và đã xác nhận rằng người dùng hiện tại của bạn là thành viên của nhóm libvirtd như thông báo lỗi cho thấy, bạn sẽ cần phải đăng xuất và đăng nhập lại để đăng ký thành viên nhóm mới.

Không thay đổi quyền truy cập tệp thành 777 Đừng chỉ chạy mọi thứ dưới dạng root hoặc sudo để tránh hiểu sai.

Tôi hi vọng điêu nay se giup được ai đo.


5

Tôi đang quản lý cả Qemu và Virtualbox trên máy Ubuntu 14.02 của mình và sau khi cài đặt Virtualv libvirt-bin không thể tự khởi động. Vì vậy, hãy kiểm tra xem libvirt-bin có chạy không:

ps faux | grep libvirt-bin

nếu bạn không thấy nó trong đầu ra ps - hãy bắt đầu bằng tay, sau đó chạy virt-manager:

sudo service libvirt-bin start


5

Trên Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

là câu trả lời duy nhất Các ổ cắm có daemon riêng của nó. Điều đó thật bất thường.


1

Sau khi cài đặt tất cả các gói được op quy định, bạn có thể đăng xuất sau đó đăng nhập lại. Bất cứ điều gì thêm bạn vào nhóm người dùng bạn cần đăng xuất và đăng nhập lại để được thêm vào các nhóm mới. Đó là một bất tiện nhỏ, ít hơn một so với khởi động lại.

Điều này được gắn cờ là không hoàn thành tuy nhiên điều này là một quy tắc chung để thêm người dùng của bạn vào một nhóm. Một relog là cần thiết, đó là phần còn thiếu mà tôi không thấy ở đây.


1
Chào mừng bạn đến hỏi Ubuntu! Ở dạng hiện tại, câu trả lời của bạn không tốt như nó có thể. Bạn có thể xem lại Cách viết câu trả lời hay và hướng dẫn về phong cách cho câu hỏi và câu trả lời . Bạn có thể làm rõ những gói cần cài đặt.
J. Starnes

1

Một cách khác để khởi động lại / đăng xuất là chạy các lệnh sau từ thiết bị đầu cuối:

newgrp libvirt
virt-manager

Các newgrplệnh cho phép người dùng tham gia libvirtnhóm mà không cần đăng xuất, cho các quá trình được bắt đầu vào cùng một vỏ sau newgrp. Tất nhiên điều này chỉ hoạt động nếu trình cài đặt libvirt đưa bạn vào nhóm libvirt mà bạn có thể kiểm tra với:

getent group libvirt

0

Vấn đề được thảo luận trên Launchpad và nguyên nhân của vấn đề này có thể được giải quyết bằng cách cài đặt xen-utilsgói ( xen-utils-4.4trên Ubuntu 14.04). Trước đây tôi đã khắc phục vấn đề này bằng cách virt-managerthông qua sudodòng lệnh.


xentương tự như kvm wiki.archlinux.org/index.php/KVM , nếu bạn đã kvmcài đặt thì không cài đặt xen. Nó ghi đè kvmcài đặt của tôi và vms của tôi ngừng chạy. khi tôi gỡ xenlại vms bắt đầu chạy.
Kishor Pawar

0

Đối với tôi trường hợp là khi sử dụng service libvirt-bin statusnó cho thấy mọi thứ đều chạy tốt mặc dù tôi không thể kết nối như:

    ● 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
[...]

Trong /var/run/libvirt/đó nên có hai tập tin này:

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

Nếu các ổ cắm không hiển thị, sử dụng service libvirt-bin stop; service libvirt-bin startđể khởi động lại hoàn toàn quá trình. Sử dụngservice libvirt-bin restart là không đủ và sẽ không tạo lại ổ cắm.

Các libvirt-bindịch vụ một cách an toàn có thể được dừng lại và sẽ không poweroff khách .


0

Kể từ Ubuntu 17.10, tôi cũng phải tự thêm mình vào nhóm libvirt. Tôi đã thêm bản thân mình vào libvirtd và không loại bỏ bản thân khỏi nhóm đó. Tôi không biết nếu cả hai được yêu cầu hay không.

Tôi đã làm điều này vì tôi nhận thấy nội dung của / var / run / libvirt được sở hữu bởi libvirt thay vì libvirtd.


Để có một câu trả lời đầy đủ, bạn cần nói làm thế nào để thêm chính mình vào các nhóm bổ sung.
pbhj

-1

Tôi đã có vấn đề tương tự và trong báo cáo lỗi chi tiết, nó nói về việc thiếu sự cho phép đối với libvirt-socktệp. Thay đổi sự cho phép của tập tin /var/run/libvirt/libvirt-sockthành 777 làm cho nó hoạt động với tôi.


3
Thay đổi mặt nạ cấp phép thành 0777 là xấu . Đừng đề xuất các hành động có hại mà không giải thích hậu quả! -1
David Foerster

-1

sử dụng Phần mềm Ubuntu để gỡ cài đặt trình quản lý ảo, đăng xuất, đăng nhập lại, cài đặt trình quản lý ảo và chạy bình thường mà không cần sử dụng sudo hoặc thậm chí sử dụng dòng lệnh.


1
Bạn có thể cải thiện câu trả lời của mình bằng cách mở rộng lý do tại sao các bước này là cần thiết thay vì cài đặt lại đơn giản. Hoặc theo một trong những câu trả lời khác. Từ đánh giá
J. Starnes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.