Libvirt 来宾在关机后被销毁

Mus*_*afa 4 libvirt qemu kvm-virtualization shutdown

我用Libvirt创建了一个VM,当我强行或使用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>
Run Code Online (Sandbox Code Playgroud)

但是,尽管我正确使用了 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
----------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

这是什么原因?

Mic*_*ton 12

您使用virsh create(或其等效物)创建了来宾。这会创建临时,这些在断电时会被删除。

要创建持久域,请virsh define改用。这些在断电或销毁后仍保持定义状态,并可随时重新启动。