L'immagine KVM non è stata avviata con virsh, autorizzazione negata


12

Il mio sistema operativo host è Ubuntu Server 11.04 (natty)

Dopo aver seguito le istruzioni dettagliate dall'aiuto di Ubuntu , ho creato un'immagine KVM usando

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

Il file di immagine è stato creato come

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

Posso elencarlo con virsh di sudo virsh -c qemu: /// system "list --all"

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

Buth quando chiamo

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

L'errore è stato generato:

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

L'utente "myuser" è stato aggiunto al gruppo libvirt.

Sono arrivato al punto di chmod il file di immagine e la sua directory su 777, ma l'errore è ancora lì.

Risposte:


9

Le immagini KVM sono limitate da selinux. Metterli in / var / lib / libvirt / images dovrebbe essere sufficiente.

http://libvirt.org/drvqemu.html#securityselinux approfondisce.


Uomo!! Questo ha funzionato per me. Grazie mille amico. Apparentemente la directory $ HOME del tuo account è protetta dove è dove a virsh piace installare le cose di default. Dopo aver installato il mio vms, ho eseguito mv $ HOME / vmfolder / var / lib / libvirt / images. Quindi ho eseguito virsh edit vmname e modificato di conseguenza la posizione del file immagine.
Antwan W. A-Dubb,

Ho anche dovuto cambiare il proprietario di uno dei miei vms. Apparteneva a root che ha portato a un accesso negato. sudo chown -R libvirt-qemu: kvm dbos / ubuntu-kvm /. Puoi eseguire ls -l su / your / vm / dir / e / its / subdirs / per controllare le autorizzazioni ad ogni livello. Assicurarsi che nessuno di essi appartenga al gruppo radice e all'utente.
Antwan W. A-Dubb,

Ho scoperto che il modo più semplice e sicuro per creare i tuoi VM è assicurarti di eseguire il cd in questa directory / var / lib / libvirt / images ed eseguire l'installazione da lì. In questo modo non dovrai preoccuparti delle autorizzazioni a livello di cartella. Saranno predefiniti all'utente corrente anziché a root.
Antwan W. A-Dubb,

4

una soluzione semplice sarebbe quella di modificare il file /etc/libvirt/qemu.conf e decommentare le seguenti righe:

User = "root"
group = "root"

Non dimenticare di riavviare libvirtd


4
Ciò potrebbe consentirti di eseguirlo, ma quali sono le implicazioni per la sicurezza?
fino al

1
Probabilmente meglio per aggiungersi al kvmgruppo, regolare i permessi dei file immagine di conseguenza, e set user="<yourname>"in qemu.conf.
Marc.2377,

1

In Arch Linux:

sudo usermod -a -G kvm username

impostare le autorizzazioni per i processi QEMU in /etc/libvirt/qemu.conf

user = "username"
group = "kvm"

per aggiornare l'appartenenza al gruppo nello stesso terminale:

su - username

Aggiungi un alias al tuo ~/.bashrc

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

finalmente

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

0

Sembra che questo errore di autorizzazione possa anche essere correlato a overlay / snapshot qcow2 danneggiati!

In aveva questa configurazione:

Baseimage> Overlay1>Overlay2

Gli overlay sono stati creati con cmd virsh snapshot-create ...ed è Overlay1stato utilizzato di recente (VM non avviata) prima della creazione Overlay2(creata per il test).

Probabilmente non è un caso d'uso IRL, ma ha comunque ottenuto questo errore e mi ha fatto impazzire fino a quando non ho capito se fosse correlato alla catena di overlay e non alle autorizzazioni di accesso al file system.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.