Ubuntu 14.04 KVM – Fehler: interner Fehler: Prozess wurde beim Verbinden mit Monitor beendet: qemu-system-x86_64:

Ubuntu 14.04 KVM – Fehler: interner Fehler: Prozess wurde beim Verbinden mit Monitor beendet: qemu-system-x86_64:

Ich versuche, einen KVM-Gast von einem Ubuntu 14.04-Host auf einen anderen zu migrieren, indem ich die folgenden Schritte ausführehier beschrieben.

Ich habe jetzt die „Status“-Datei, die XML-Konfiguration und die qcow2-img-Datei in einem einzigen Ordner auf dem neuen Host und habe sichergestellt, dass ich die XML-Konfiguration so aktualisiere, dass sie auf den neuen Speicherort der qcow2-Bilddatei verweist.

Beim Versuch, es auszuführen, virsh create [guest-id].xmlerhalte ich die folgende Fehlermeldung:

error: internal error: process exited while connecting to monitor: 
qemu-system-x86_64: -drive file=/media/stuart/storage2/kvm/dns.technostu.com/dns.technostu.com.img,if=none,id=drive-virtio-disk0,format=raw: 
could not open disk image /media/stuart/storage2/kvm/dns.technostu.com/dns.technostu.com.img: 
Could not open '/media/stuart/storage2/kvm/dns.technostu.com/dns.technostu.com.img': Permission denied

Debuggen und versuchte Problemumgehungen

  • Ich habe mich bereits zur libvirtd-Gruppe hinzugefügt und mich erneut angemeldet.

  • Ich habe sichergestellt, dass die Dateipfade korrekt sind

  • Ich habe den Besitz der IMG-Datei auf mich selbst geändert, aber nachdem ich den Befehl mit und ohne sudo ausgeführt habe, ändert sich der Besitz der Datei immer wieder auf root:rootmit Berechtigungen-rwxr-xr-x

  • Ich habe versucht zu rennen

    sudo apt-get install apparmor-profiles apparmor-utils
    sudo aa-complain /usr/lib/libvirt/virt-aa-helper
    

    Ausdieser Beitrag, aber das hat nicht funktioniert.

  • Ich habe versucht, den Emulator in der XML-Datei wie angegeben zu ändernHier.

Was muss ich tun, um den Gast auf dem neuen Host unter Ubuntu 14.04 zu „importieren“?

Antwort1

Ich hatte ein ähnliches Problem.

Hinzufügen meines Benutzers zur KVM-Gruppe

sudo usermod -a -G kvm username

Dann habe ich sichergestellt, dass /dev/kvmes Root und der Gruppe kvm gehört.

Anschließend habe ich den Besitzer meiner bestehenden VM (konvertiert von VirtualBox) in username:kvm geändert

Schließlich habe ich group=kvm user=usernamein meiner qemu.conf Folgendes eingestellt. Das hat das Problem für mich behoben

Antwort2

Durch Aus- und Wiedereinschalten des Computers (ich hatte seit der Installation keinen Neustart durchgeführt kvm) änderte sich die Fehlermeldung wie folgt:

error: internal error: process exited while connecting to monitor: qemu-system-x86_64

Als ich diesen Fehler googelte, fand ichdieser Beitragwurde empfohlen, Folgendes hinzuzufügen:

user = "root"
group = "root"

zur /etc/libvirt/qemu.confDatei. Denken Sie daran, die Anführungszeichen mit einzuschließen.

Nach einem weiteren Neustart konnte ich es virsh create [guest-id].xmlerfolgreich ausführen.

Antwort3

Es wird nicht empfohlen, QEMU mit Root-Rechten auszuführen, da dadurch ab Version 6.0.0 die Linux-Funktionen nicht mehr entfernt werden.

In meinem Fall war es AppArmor. Ich wollte der VM eine SSDT-Datei für eine Batterie hinzufügen. Es gibt einige Ordner, auf die AppArmor Zugriff erlaubt, und andere (wie /home/something) sind einfach nicht erlaubt. /var/lib/libvirt/images/ist einer der erlaubten Ordner. Obwohl ich meine Datei dort abgelegt habe, war sie von der AppArmor-Richtlinie immer noch nicht erlaubt (wie man an sehen kann sudo cat /var/log/kern.log | grep -C 10 apparmor | grep -C 10 qemu). Was funktioniert hat, war, sie wie folgt /var/lib/libvirt/images/SSDT1.dat rkhinzuzufügen :/etc/apparmor.d/libvirt/TEMPLATE.qemu

#
# This profile is for the domain whose UUID matches this file.
#

#include <tunables/global>

profile LIBVIRT_TEMPLATE flags=(attach_disconnected) {
  #include <abstractions/libvirt-qemu>
  /var/lib/libvirt/images/SSDT1.dat rk,
}

verwandte Informationen