Estou usando o debian como convidado do KVM. Tem o pacote qemu-guest-agent que instala o agente convidado sem dor. No lado da libvirt eu preciso adicionar um pequeno pedaço de configuração xml para habilitá-lo:
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/f16x86_64.agent'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>
De agora em diante, você pode usar virsh shutdown --mode agent
para desligar o convidado com graça