如何使用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描述的<transient/>
字段中添加<disk>
标记。
当我尝试时,我得到了一个令人失望的答案:"libvirtError: unsupported configuration: transient disks not supported yet"
。
该功能是否真的“尚不支持”,或者我缺少某些功能?该文档使我认为这应该得到支持。
与C或Python绑定(bind),virsh或virt-manager相关的任何答案将不胜感激!
最佳答案
使用virsh
如果您使用virsh
,那么可以使用以下命令:
define
-此命令将XML文件作为其参数,并使libvirt知道该域(您可以使用其名称或UUID来引用该域)。 start
-此命令将域名或UUID作为其参数,并启动(引导)域。 create
-此命令将XML文件作为其参数,并使用该文件中描述的设置来创建(启动)域。根据该域对于libvirt是否已知(先前使用该UUID定义),可能会导致两件事:undefine
-此命令采用域名或UUID(如果已启动则为ID),并使其对libvirt未知,但如果该域正在运行,则不会破坏它,只是将其标记为 transient 。 C函数
在C语言中,virsh用于这些命令的API是:
define
-virDomainDefineXML start
-virDomainCreate create
-virDomainCreateXML undefine
-virDomainUndefine 笔记:
关于virtualization - 如何在libvirt中创建一个临时域?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20296328/