Gambar KVM gagal memulai dengan virsh, izin ditolak


12

OS host saya adalah Ubuntu Server 11.04 (kurang lebih)

Setelah mengikuti instruksi yang dirinci oleh bantuan Ubuntu , saya membuat satu gambar KVM menggunakan

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

File gambar dibuat sebagai

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

Saya bisa daftar dengan virsh oleh sudo virsh -c qemu: /// system "list --all"

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

Buth saat aku menelpon

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

Kesalahan terlempar ke atas:

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

Pengguna "pengguna saya" telah ditambahkan ke libvirt grup.

Saya sudah sejauh ini untuk chmod file gambar dan juga direktori ke 777, tetapi kesalahan masih ada.

Jawaban:


9

Gambar KVM dibatasi oleh selinux. Menempatkannya di / var / lib / libvirt / gambar sudah cukup.

http://libvirt.org/drvqemu.html#securityselinux membahas lebih detail.


Pria!! Ini berhasil untuk saya. Terima kasih banyak. Rupanya direktori $ HOME dari akun Anda dilindungi yang mana virsh suka menginstal semuanya secara default. Setelah saya menginstal vms saya, saya menjalankan mv $ HOME / vmfolder / var / lib / libvirt / images. Lalu aku menjalankan virsh edit vmname dan mengubah lokasi file gambar sesuai.
— Antwan W. A-Dubb

Saya juga harus mengganti pemilik salah satu vms saya. Itu milik root yang menyebabkan akses ditolak. sudo chown -R libvirt-qemu: kvm dbos / ubuntu-kvm /. Anda dapat menjalankan ls-l di / your / vm / dir / dan / its / subdirs / untuk memeriksa izin di setiap level. Pastikan tidak satu pun dari mereka milik grup root dan pengguna.
— Antwan W. A-Dubb

Saya telah menemukan bahwa cara termudah dan teraman untuk membuat vm Anda adalah memastikan Anda cd ke direktori ini / var / lib / libvirt / images dan jalankan instal Anda dari sana. Dengan begitu Anda tidak perlu khawatir tentang izin level folder. Mereka hanya akan default ke pengguna saat ini sebagai lawan dari root.
— Antwan W. A-Dubb

4

solusi mudah adalah dengan mengedit file /etc/libvirt/qemu.conf dan menghapus komentar pada baris berikut:

User = "root"
group = "root"

Jangan lupa untuk me-restart libvirtd


4
Itu mungkin membiarkan Anda menjalankannya, tetapi apa implikasi keamanannya?
— cpast

1
Mungkin lebih baik untuk menambahkan diri ke kvmkelompok, mengatur hak akses file gambar sesuai, dan set user="<yourname>"di qemu.conf.
— Marc.2377

1

Di Arch Linux:

sudo usermod -a -G kvm username

mengatur izin untuk proses QEMU di /etc/libvirt/qemu.conf

user = "username"
group = "kvm"

untuk menyegarkan keanggotaan grup di terminal yang sama:

su - username

Tambahkan alias ke blog Anda ~/.bashrc

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

akhirnya

source ~/.bashrc
virsh
list --all
start mydomain
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.