首页 文章

如何在libvirt中创建瞬态域?

提问于
浏览
7

如何使用libvirt创建瞬态域? (使用QEMU / KVM作为后端)

该文档讨论了此链接上的瞬态域和持久域之间的区别:http://wiki.libvirt.org/page/VM_lifecycle#Transient_guest_domains_vs_Persistent_guest_domains

尽管如此,我还没有找到任何关于如何创建一个的具体例子 .

我找到的唯一指针是在这封电子邮件中:https://www.redhat.com/archives/libvirt-users/2011-August/msg00057.html,维护者建议在XML描述的 <disk> 字段中添加 <transient/> 标记 .

当我尝试时,我得到了这个令人失望的答案: "libvirtError: unsupported configuration: transient disks not supported yet" .

这个功能真的“还不支持”,还是我错过了什么?该文档让我觉得应该支持这一点 .

任何与C或Python绑定,virsh或virt-manager相关的答案都将受到高度赞赏!

1 回答

  • 5

    使用virsh

    如果您使用 virsh ,则有命令:

    • define - 此命令将XML文件作为其参数,并使域名为libvirt(您可以使用其名称或UUID引用该域) .

    • start - 此命令将域名或UUID作为其参数,并启动(引导)域 .

    • create - 此命令将XML文件作为其参数,并使用该文件中描述的设置创建(启动)域 . 根据libvirt是否知道域(之前使用该UUID定义),它可能会导致两件事:

    • 如果已经定义了,则已知域被标记为已启动,它是持久域,但它是以提供的设置启动的,而不是使用的设置启动的 .

    • 如果没有定义,域启动现在是一个瞬态域(当它被销毁,关闭等时它会消失) .

    • undefine - 此命令采用域名或UUID(或ID,如果's started) and makes it unknown to libvirt, but if that domain is running it doesn' t将其销毁,只需将其标记为瞬态 .

    C函数

    在C中,virsh用于这些命令的API是:

    笔记:

    • 这些名称可能有点令人困惑,但由于向后兼容性,它可以保留Xen时间 .

    • 大多数提及命令的参数可能会改变行为,这可能会导致使用不同的C函数 .

相关问题