KVM resmi virsh ile başlayamadı, izin verilmedi


12

Ana bilgisayar işletim sistemim Ubuntu Server 11.04 (natty)

Ubuntu'nun yardımı ile ayrıntılı olarak verilen talimatları izledikten sonra , kullanarak bir KVM görüntüsü oluşturdum

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

Görüntü dosyası şu şekilde oluşturuldu:

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

Ben sudo virsh tarafından virsh ile listeleyebilirim -c qemu: /// system "list --all"

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

Aradığımda acı

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

Hata atıldı:

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

"Kullanıcım" kullanıcısı grup libvirtine eklenmişti.

Ben görüntü dosyası yanı sıra onun dizini 777 chmod kadar gitti, ama hata hala var.

Yanıtlar:


9

KVM görüntüleri selinux tarafından kısıtlanmıştır. Bunları / var / lib / libvirt / images içine koymak yeterli olmalıdır.

http://libvirt.org/drvqemu.html#securityselinux daha ayrıntılı olarak ele alınır.


Adam!! Bu benim için çalıştı. Çok teşekkürler adamım. Görünüşe göre hesabınızın $ HOME dizini, virsh'in varsayılan olarak bir şeyler yüklemeyi sevdiği yerdir. Vms'imi yükledikten sonra mv $ HOME / vmfolder / var / lib / libvirt / images'i çalıştırdım. Sonra virsh edit vmname'i koştum ve görüntü dosyasının konumunu buna göre değiştirdim.
Antwan W. A-Dubb

Ayrıca benim vms birinin sahibini değiştirmek zorunda kaldı. Erişime izin verilmeyen köke aitti. sudo chown -R libvirt-qemu: kvm dbos / ubuntu-kvm /. Her düzeyde izinleri kontrol etmek için / vm / dir / ve / / / alt dizinlerinde ls -l komutunu çalıştırabilirsiniz. Hiçbirinin kök gruba ve kullanıcıya ait olmadığından emin olun.
Antwan W.A-Dubb

Ben vm oluşturmak için en kolay ve en güvenli yol / var / lib / libvirt / images bu dizine cd emin olun ve oradan yükleme çalıştırmak olduğunu buldum. Bu şekilde klasör düzeyi izinleri hakkında endişelenmenize gerek kalmaz. Kökten farklı olarak yalnızca geçerli kullanıcıyı varsayılan olarak kullanırlar.
Antwan W. A-Dubb

4

/etc/libvirt/qemu.conf dosyasını düzenlemek ve aşağıdaki satırları açmak kolay bir çözüm olacaktır:

User = "root"
group = "root"

Libvirtd'i yeniden başlatmayı unutmayın


4
Bu, onu çalıştırmanıza izin verebilir, ancak güvenlik sonuçları nelerdir?
cpast

1
Kendinizi kvmgruba eklemek , resim dosyası izinlerini buna göre ayarlamak ve ayarlamak user="<yourname>"daha iyi olabilir qemu.conf.
Marc.2377

1

Arch Linux'ta:

sudo usermod -a -G kvm username

QEMU işlemleri için izinleri ayarlama /etc/libvirt/qemu.conf

user = "username"
group = "kvm"

aynı terminalde grup üyeliğini yenilemek için:

su - username

Cihazınıza bir takma ad ekleyin ~/.bashrc

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

en sonunda

source ~/.bashrc
virsh
list --all
start mydomain

0

Bu izin hatası aynı zamanda bozuk qcow2 yer paylaşımı / anlık görüntüleri ile ilgili olabilir gibi görünüyor!

In bu kurulum vardı:

Baseimage> Overlay1>Overlay2

Bindirmeler cmd ile oluşturuldu virsh snapshot-create ...ve oluşturulmadan Overlay1önce Overlay2(test için oluşturuldu ) daha yeni kullanıldı (VM başlatılmadı ).

Çok muhtemel bir IRL kullanım durumu değil, ancak yine de bu hatayı aldı ve bindirme zinciri ile ilgili olup olmadığını fark edene kadar beni deli ediyordu ve dosya sistemi erişim izinleriyle değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.