De acordo com os comentários de Michael Hampton acima, o xml tinha "destroy" para o nó <on_reboot>
em vez de "restart".
Tenha um servidor Ubuntu executando o KVM:
Linux hyperv 4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Ele está executando algumas VMs que são linux e um windows vm. Depois de instalar uma nova VM do servidor do Windows 2016, ocorre um problema. O vm (chamado winstore) pode ser iniciado executando o seguinte:
virsh start winstore
E tudo vem bem. Se essa VM específica for reiniciada de dentro da VM, ela será encerrada corretamente, mas não retornará. executando
virsh list
confirma que não foi iniciado. Para iniciar a VM, deve-se fazer um
virsh start winstore
novamente. Esse não é o comportamento desejado, e NÃO como as outras VMs do Windows se comportam (elas têm o comportamento desejado, que é a reinicialização quando reiniciadas).
A VM foi criada um pouco diferente do normal. Estas foram as etapas usadas para criar a VM inicialmente:
crie a imagem do disco
qemu-img create -f qcow2 -o preallocation=metadata /mnt/vmstorage/images/winstore.qcow2 1300G
obtenha uma saída xml do que faríamos, para que possamos modificar os atributos do cdrom
virt-install --name winstore --ram 8192 --vcpus=2 --graphics=vnc --network=bridge=br731,model=virtio --disk path=/mnt/vmstorage/images/winstore.qcow2,format=qcow2,bus=virtio,cache=none --disk path=/mnt/backups/isos/virtio-win-0.1.126.iso,device=cdrom --cdrom /mnt/backups/isos/SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO --os-type=windows --noautoconsole --accelerate --noapic --print-xml > winstore.xml
altere a ordem dos cdroms no arquivo xml:
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="/mnt/backups/isos/virtio-win-0.1.126.iso"/>
<target dev="hda" bus="ide"/>
<readonly/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="/mnt/backups/isos/SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO"/>
<target dev="hdb" bus="ide"/>
<readonly/>
então foi instalado e iniciado executando o seguinte:
virsh create ./winstore.xml
virsh start winstore
após a instalação, o xml foi editado, e as duas unidades foram trocadas (hda / hdb) para que ele seja inicializado a partir do disco e não do cdrom. Em seguida, a VM foi definida com o seguinte em virsh:
virsh define ./winstore.xml
Novamente, a VM parece funcionar bem agora, mas só começa com
virsh start winstore
Novamente, SE a VM é reinicializada a partir do convidado, ela não será reiniciada, apenas será encerrada. Olhando através dos logs em /var/log/libvirt/qemu/winstore.log não parece haver nada fora do comum.
Observe que a VM aparece em um
virsh list --all
Sim, estou absolutamente certo de que não estou clicando em "shutdown" na VM do Windows. :)
De acordo com os comentários de Michael Hampton acima, o xml tinha "destroy" para o nó <on_reboot>
em vez de "restart".
Tags linux kvm-virtualization virsh