Ubuntu 14.04 KVM - erro: erro interno: processo encerrado ao conectar ao monitor: qemu-system-x86_64:

Ubuntu 14.04 KVM - erro: erro interno: processo encerrado ao conectar ao monitor: qemu-system-x86_64:

Estou tentando migrar um convidado KVM de um host Ubuntu 14.04 para outro seguindo as etapasdescrito aqui.

Agora tenho o arquivo "state", a configuração xml e o arquivo qcow2 img em uma única pasta no novo host e certifiquei-me de atualizar a configuração xml para apontar para o novo local do arquivo de imagem qcow2.

Quando tento executar virsh create [guest-id].xmlrecebo a seguinte mensagem de erro:

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

Depuração e tentativas de soluções alternativas

  • Já me adicionei ao grupo libvirtd e fiz login novamente.

  • Eu me certifiquei de que os caminhos dos arquivos estavam corretos

  • Alterei a propriedade do arquivo .img para mim mesmo, mas depois de executar o comando com e sem sudo, a propriedade do arquivo continua mudando para root:rootcom permissões-rwxr-xr-x

  • Eu tentei correr

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

    Deesta postagem, mas isso não funcionou.

  • Tentei alterar o emulador no arquivo xml conforme especificadoaqui.

O que preciso fazer para “importar” o convidado no novo host no Ubuntu 14.04?

Responder1

Eu tive um problema parecido.

Adicionando meu usuário ao grupo kvm

sudo usermod -a -G kvm username

Então eu me certifiquei de que /dev/kvmpertence ao root e ao grupo kvm

Depois mudei a propriedade da minha VM existente (convertida do VirtualBox) para nome de usuário:kvm

Finalmente eu configurei group=kvm user=usernamemeu qemu.conf Isso corrigiu para mim

Responder2

Desligar e ligar o computador novamente (não reiniciei desde a instalação kvm) alterou a mensagem de erro para:

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

Ao pesquisar esse erro no Google, encontreiesta postagemque recomendou adicionar o seguinte a

user = "root"
group = "root"

para o /etc/libvirt/qemu.confarquivo. Certifique-se de incluir as aspas.

Após outra reinicialização, consegui executar virsh create [guest-id].xmlcom sucesso.

Responder3

Não é aconselhável executar o QEMU com privilégios de root, pois a partir da versão 6.0.0 não retiraria os recursos do Linux.

No meu caso foi o AppArmor. Eu queria adicionar um arquivo SSDT para uma bateria à VM. Existem algumas pastas às quais o AppArmor permite acesso e outras (como /home/something) simplesmente não são permitidas. /var/lib/libvirt/images/é uma das pastas permitidas. Embora eu tenha colocado meu arquivo lá, ele ainda não era permitido pela política do AppArmor (como pode ser visto em sudo cat /var/log/kern.log | grep -C 10 apparmor | grep -C 10 qemu). O que funcionou foi adicionar /var/lib/libvirt/images/SSDT1.dat rkassim /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,
}

informação relacionada