Я создал виртуальную машину с Libvirt, и когда я закрываю ее принудительно или с помощью ACPI, она удаляется. Я его создаю:
<domain type='kvm'>
<name>deneme2</name>
<memory>2097152</memory>
<vcpu>1</vcpu>
<os>
<type>hvm</type>
<boot dev="hd" />
</os>
<features>
<acpi/>
</features>
<on_poweroff>preserve</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<on_lockfailure>poweroff</on_lockfailure>
<devices>
<graphics type='vnc' port='-1'/>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/mustafa/buki/vms/deneme2/disk0.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='file' device='disk'>
<source file='/home/mustafa/buki/vms/deneme2/cloud-init.img'/>
<target dev='vdb' bus="virtio"/>
</disk>
<interface type='network'>
<source network='br0-bridge'/>
<mac address='00:16:3e:5a:41:9c'/>
<model type="virtio" />
</interface>
</devices>
Однако, хотя я правильно использую событие on_poweroff, оно немедленно удаляется.
$ virsh dumpxml deneme2 | grep "on_poweroff"
<on_poweroff>preserve</on_poweroff>
$ virsh shutdown deneme2 --mode acpi
Domain deneme2 is being shutdown
$ virsh list --all
Id Name State
----------------------------------------------------
В чем причина этого?
Вы создали своего гостя с virsh create
(или его аналог). Это создает преходящий домены, которые удаляются при выключении питания.
Создавать стойкий домены, используйте virsh define
вместо. Они остаются определенными после отключения питания или уничтожения и могут быть запущены снова в любое время.