Eu preciso fazer "virsh managedsave-remove VMname" de um hook libemirt QEMU. O link diz: "Chamar libvirt funciona dentro de um script de hook - NÃO FAÇA ISSO !: Um script de gancho não deve chamar de volta no libvirt, já que o daemon libvirt já está esperando o script sair. " Isso significa que não posso fazer:
virsh managedsave-remove VMname
de dentro do gancho do QEMU porque eu vou desligar o daemon libvirt.
Existe uma maneira de executar a mesma função a partir do gancho libmirt do QEMU?
Detalhes: Eu tenho uma VM (Win7) que abre um arquivo em uma unidade de rede. Quando esta VM é fechada (de qualquer forma) e, em seguida, reiniciada, o programa que abriu o arquivo não pode se reconectar a ele, pois o arquivo permaneceu bloqueado. VM é QEMU / KVM, a máquina é QNAP NAS e o programa em quesiton é hMailServer com seu banco de dados hMailServer.sdf na unidade de rede.
Em algumas situações, a VM é salva como managedsave - não tenho controle sobre isso. Quando a VM é reiniciada do managedsave, ela não pode se conectar ao arquivo que eu simplesmente corrijo do script usando virsh managedsave-remove VMname.
Eu consertei os dois problemas no meu script que iniciam a VM se ela não estiver ativa.
Então, eu queria melhorar conectando-me ao processo de inicialização do VMname, para que as correções fossem aplicadas automaticamente em todas as situações possíveis. E ficou preso lá. Preciso das duas correções para que as coisas funcionem.
Tags qemu kvm libvirt virtual-machine