Como uso o "virsh shutdown" nos domínios do KVM para desligar os hóspedes do Ubuntu?

13

Estou usando vários domínios KVM em um servidor Ubuntu. Tanto o host quanto os convidados executam o kernel 10.04.1, 2.6.32-24, virsh reports versão 0.7.5, KVM 0.12.3. Os convidados inicializam automaticamente quando o host é inicializado e eles têm <features><acpi/><features>sua configuração.

Eu nunca consegui fazer virsh shutdown MyDomainno host ter algum efeito. Ele responde Domain MyDomain is being shutdowne o domínio continua em execução. virsh listainda as lista no estado running.

virsh destroy MyDomain funciona bem, mas é claro que não é exatamente o que eu quero, então na maioria das vezes eu entro em cada uma delas e as fecho manualmente, o que é bastante irritante.

Eu realmente não consegui encontrar nenhuma informação sobre como virsh shutdowntentar desligar o domínio. Ponteiros para pedaços úteis de documentação são bem-vindos.

O que poderia causar isso? Como é que isso funciona?

hheimbuerger
fonte

Respostas:

11

Verifique se você tem o pacote acpid instalado em cada um dos convidados.

Geralmente, crio novas máquinas virtuais usando o VMBuilder com o parâmetro --addpkg acpide a única vez em que tive problemas para desligar os convidados do Ubuntu virshfoi quando o vm do convidado travou de alguma forma.

moberley
fonte
Incrível, foi só isso! Adicionei isso ao meu script VMBuilder também agora. Eu perdi uma parte importante da documentação aqui, ou você é magicamente suposto saber disso? Em retrospecto, faz sentido para mim, acho que virsh shutdowné apenas o equivalente a pressionar o botão liga / desliga em uma caixa física. Mas que também não vi mencionado em nenhum lugar, ou posso ter ligado os pontos e investigado mais nessa direção ... De qualquer forma, muito obrigado! (Será que upvote quando eu chegar a rep necessário.)
hheimbuerger
Eu sei que isso é mencionado na seção Guia do Servidor no vmbuilder muito perto do final do artigo. Não sei se é mencionado em outro lugar. help.ubuntu.com/10.04/serverguide/C/jeos-and-vmbuilder.html
moberley
Eu não devo ter lido até o fim. corar Ou talvez eu apenas finja que não estava lá quando configurei a maioria dessas VMs (8.04 ou mais). : P
hheimbuerger 22/08/10
1
Nota para o Debian: se você desabilitou a instalação dos pacotes Recomendados , então acpidsozinho não é muito, porque contém apenas os binários. Você precisa instalar o acpi-support-basepacote para manipular eventos ACPI do botão liga / desliga. Para o Ubuntu, acpidcontém binários e manipuladores de eventos base e é suficiente.
Cbliard
0

Se você não tiver essa opção, existem 'modos de desligamento' que você pode utilizar para acionar um desligamento

$ sudo virsh shutdown --help
OPTIONS
[--domain] <string>  domain name, id or uuid
--mode <string>  shutdown mode: acpi|agent|initctl|signal|paravirt

ou seja,

sudo virsh shutdown domain1 --mode acpi
Otaviano
fonte