Hình ảnh KVM không bắt đầu với virsh, bị từ chối cấp phép


12

Hệ điều hành máy chủ của tôi là Ubuntu Server 11.04 (natty)

Sau khi làm theo các hướng dẫn chi tiết bởi trợ giúp của Ubuntu , tôi đã tạo một hình ảnh KVM bằng cách sử dụng

sudo ubuntu-vm-builder kvm hardy --libvirt qemu:///system

Các tập tin hình ảnh đã được tạo ra là

-rw-r--r-- 1 root root 438M 2011-06-17 14:39 ubuntu-kvm/tmpK9hbU5.qcow2

Tôi có thể liệt kê nó với virsh bởi sudo virsh -c qemu: /// system "list --all"

Id   Name                 State
----------------------------------
  - ubuntu               shut off  

Nhưng khi tôi gọi

sudo virsh -c qemu:///system "start ubuntu"

Lỗi đã được ném lên:

error: Failed to start domain ubuntu
error: internal error process exited while connecting to monitor: kvm: -drive file=/home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2,if=none,id=drive-ide0-0-0,format=qcow2: could not open disk image /home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2: Permission denied

Người dùng "myuser" đã được thêm vào libvirt nhóm.

Tôi đã đi xa đến mức để chỉnh sửa tập tin hình ảnh cũng như thư mục của nó thành 777, nhưng lỗi vẫn còn đó.

Câu trả lời:


9

Hình ảnh KVM bị hạn chế bởi selinux. Đặt chúng vào / var / lib / libvirt / hình ảnh là đủ.

http://libvirt.org/drvqemu.html#securityselinux đi sâu vào chi tiết hơn.


Đàn ông!! Điều này làm việc cho tôi. Cám ơn nhiều, ông bạn. Rõ ràng thư mục $ HOME trong tài khoản của bạn được bảo vệ là nơi virsh thích cài đặt mọi thứ theo mặc định. Sau khi tôi cài đặt vms của mình, tôi đã chạy mv $ HOME / vmfolder / var / lib / libvirt / hình ảnh. Sau đó, tôi chạy virsh chỉnh sửa vmname và thay đổi vị trí của tệp hình ảnh cho phù hợp.
Antwan W. A-Dubb

Tôi cũng đã phải thay đổi chủ sở hữu của một trong những vms của tôi. Nó thuộc về root dẫn đến truy cập bị từ chối. sudo chown -R libvirt-qemu: kvm dbos / ubfox-kvm /. Bạn có thể chạy ls -l trên / your / vm / dir / và / it / subirs / để kiểm tra quyền ở mỗi cấp. Đảm bảo không ai trong số họ thuộc nhóm gốc và người dùng.
Antwan W. A-Dubb

Tôi đã thấy rằng cách dễ nhất và an toàn nhất để tạo vm của bạn là đảm bảo bạn cd vào thư mục này / var / lib / libvirt / hình ảnh và chạy cài đặt của bạn từ đó. Bằng cách đó, bạn sẽ không phải lo lắng về các quyền cấp thư mục. Họ sẽ chỉ mặc định cho người dùng hiện tại chứ không phải root.
Antwan W. A-Dubb

4

một giải pháp dễ dàng là chỉnh sửa tệp /etc/libvirt/qemu.conf và bỏ ghi chú các dòng sau:

User = "root"
group = "root"

Đừng quên khởi động lại libvirtd


4
Điều đó có thể cho phép bạn chạy nó, nhưng ý nghĩa bảo mật là gì?
cpast

1
Có lẽ tốt hơn để thêm mình vào kvmnhóm, điều chỉnh các điều khoản file ảnh cho phù hợp, và thiết lập user="<yourname>"trong qemu.conf.
Marc.2377

1

Trong Arch Linux:

sudo usermod -a -G kvm username

đặt quyền cho các quy trình QEMU trong /etc/libvirt/qemu.conf

user = "username"
group = "kvm"

để làm mới thành viên nhóm trong cùng một thiết bị đầu cuối:

su - username

Thêm một bí danh cho của bạn ~/.bashrc

alias virsh='EDITOR=nano sudo virsh && cd /etc/libvirt/qemu'

cuối cùng

source ~/.bashrc
virsh
list --all
start mydomain
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.