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.

RedGrittyBrick
sumber

Jawaban:

9

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

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

Richard Kettlewell
sumber
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

Tman
sumber
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
Stuart Cardall
sumber