Назад | Перейти на главную страницу

Гость libvirt уничтожен после завершения работы

Я создал виртуальную машину с 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 вместо. Они остаются определенными после отключения питания или уничтожения и могут быть запущены снова в любое время.