KVM: Não é possível destruir a VM (Permissão negada) - AppArmor bloqueando o Libvirt

0

Toda vez que executo virsh destroy ${KVM} como root, recebo o seguinte erro ( virsh shutdown ${KVM} está mostrando absolutamente nenhuma reação, nada acontece):

error: Failed to destroy domain ${KVM}
error: Failed to terminate process 11956 with SIGTERM: Permission denied

Quando executo shutdown -h now dentro do KVM, ele fica suspenso para sempre até que eu mate o processo qemu-system-x86_64 ( kill ${PID_OF_QEMU_PROCESS} ). Como afirmado no syslog, o apparmor está bloqueando as chamadas (ambas para virsh shutdown e virsh destroy ):

apparmor="DENIED" operation="ptrace" profile="/usr/sbin/libvirtd" pid=23212
    comm="libvirtd" requested_mask="trace" denied_mask="trace" peer="unconfined"

No arquivo de configuração do qemu /etc/libvirt/qemu.conf , tentei desativar o Apparmor ( security_driver = "none" ), mas ainda recebo o mesmo erro.

Alguns detalhes: OS = Debian 9 , Kernel = 4.14.0-0.bpo.2-amd64 , libvirt-versão = 3.0.0-4 .

Alguém sabe como resolver o problema sem desativar o apparmor?

    
por chevallier 11.01.2018 / 13:50

1 resposta

1

A configuração security_driver = "none" não desativará o apparmor no kernel, apenas algum suporte em libvirt

Olhando o perfil do apparmor no estábulo atual (debian 9 / stretch) e o atual no instável, vejo algumas diferenças.

Acredito que você poderia adicionar a regra a seguir em /etc/apparmor.d/local/usr.sbin.libvirtd (essa é uma das muitas diferenças entre as duas versões):

ptrace (trace) peer=unconfined,

Em seguida, reinicie o serviço apparmor com service restart apparmor

Outras regras provavelmente seriam necessárias para que tudo funcionasse.

Uma outra solução seria definir o perfil no modo "reclamar" com aa-complain /usr/sbin/libvirtd , o que evitará que o apparmor negue nada, mas você manterá os problemas registrados.

Mais tarde, você poderia usar aa-logprof para gerar as regras ausentes (depois de revisar cuidadosamente elas) ou tentar obter os arquivos de perfil do apparmor instáveis.

    
por 11.01.2018 / 14:23