O convidado KVM com o acpi instalado não será encerrado

1

Eu tenho o KVM instalado e trabalhando em meu host Debian 7.1 com dois convidados Debian 7.1 e alguns convidados do Windows XP. Quando eu desligo usando o comando 'virsh shutdown' ou pressionado o botão shutdown no virt-manager, os convidados Debian entram em estado de suspensão.

A única maneira que eu posso desligar corretamente é fazer ssh nesses convidados e digitar o comando 'shutdown -h now'.

Em ambos os convidados da Debian, tenho estes pacotes instalados e em execução:

ii  acpi                                  1.6-1                              amd64        displays information on ACPI devices
ii  acpi-fakekey                          0.140-5                            amd64        tool to generate fake key events
ii  acpi-support                          0.140-5                            all          scripts for handling many ACPI events
ii  acpi-support-base                     0.140-5                            all          scripts for handling base ACPI events such as the power button
ii  acpid                                 1:2.0.16-1+deb7u1                  amd64        Advanced Configuration and Power Interface event daemon

Aqui estão os eventos do meu acpid no meu convidado debian:

:/etc/acpi/events$ cat powerbtn-acpi-support 
event=button[ /]power
action=/etc/acpi/powerbtn-acpi-support.sh

/etc/acpi/powerbtn-acpi-support.sh

#!/bin/sh

# This script initiates a shutdown when the power putton has been
# pressed. Loosely based on the sample that ships with the acpid package.
# If the acpid sample is present as a real config file (as it was in earlier
# versions of acpid), we skip this script. (Purging and reinstalling acpid
# resolves this situation, or simply deleting /etc/acpi/events/powerbtn.)

if [ -f /etc/acpi/events/powerbtn -o -f /etc/acpi/events/powerbtn.dpkg-bak ] ; then 
    logger Acpi-support not handling power button, acpid handler exists at /etc/acpi/events/powerbtn or /etc/acpi/events/powerbtn.dpkg-bak.
    exit 0
fi

[ -e /usr/share/acpi-support/policy-funcs ] || exit 0

. /usr/share/acpi-support/policy-funcs

if CheckPolicy; then
    exit 0
fi

if [ -x /etc/acpi/powerbtn.sh ] ; then
    # Compatibility with old config script from acpid package
    /etc/acpi/powerbtn.sh
elif [ -x /etc/acpi/powerbtn.sh.dpkg-bak ] ; then
        # Compatibility with old config script from acpid package
    # which is still around because it was changed by the admin
        /etc/acpi/powerbtn.sh.dpkg-bak
else
    # Normal handling.
    /sbin/shutdown -h -P now "Power button pressed"
fi

Atualizar

Instalou uma nova VM guest Debian na semana passada e não tem o problema de desligamento. As máquinas virtuais Debian que têm o problema foram movidas do VirtualBox para o KVM e são instalações antigas do Debian 7.

    
por map7 31.10.2013 / 00:13

2 respostas

1

Recentemente resolvi o problema no Ubuntu atual instalando o acpid e editando / etc / acpi / events / powerbtn para conter action = / sbin / poweroff .

instruções detalhadas

    
por 02.05.2016 / 10:38
1

Eu tive o mesmo problema em uma imagem antiga do vmware que converti para libvirt / KVM. Ele sobreviveu a muitos upgrades de versão do Debian. Eu tentei tudo de sempre, verifiquei se o acpi estava habilitado no guest e criei scripts de eventos em / etc / acpi / events. Nada funcionou. Finalmente eu purgou o pacote.

depuração de aptidão

então eu também deletei os scripts restantes que eu criei para mim. Então eu fiz uma nova instalação de pacotes

aptitude instale o acpid

O que pode ser visto durante a instalação foi:

The following NEW packages will be installed: acpi-support-base{a} acpid consolekit{a} libck-connector0{a} libpam-ck-connector{a} libpolkit-gobject-1-0{a}

Novas e estranhas dependências ... E funcionou!

Espero que isso funcione para você!

    
por 01.03.2014 / 07:40