[英]How to create snapshot with libvirt API in python
我想使用libvirt API在KVM中管理(创建,删除,列出...)快照。 经过一番谷歌搜索后,我在下面的链接中找到了libvirt-domain-snapshot,但是我没有找到用于python的模块。
https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html
如何从python访问libvirt-domain-snapshot模块,或者还有另一种通过libvirt API管理快照的方法?
使用pip install libvirt-python
安装libvirt绑定。 然后libvirt_connection = libvirt.open('qemu:///system')
创建与libvirt的连接。 获取vm vm_dom = libvirt_connection.lookupByUUIDString(domain_uuid)
( domain_uuid
是包含您域的UUID的字符串)。 最后打电话
vm_dom.snapshotCreateXML(
SNAPSHOT_XML_TEMPLATE.format(snapshot_name=snapshot_name),
libvirt.VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC
)
SNAPSHOT_XML_TEMPLATE
如下所示:
SNAPSHOT_XML_TEMPLATE = """<domainsnapshot>
<name>{snapshot_name}</name>
</domainsnapshot>"""
这将创建具有给定名称的光盘和内存快照。 libvirt-python与python3和python2兼容。
好吧,如果您查看libvirt的文档,并在“ Application Development
->“ Language bindings
查看,您会看到它们的API具有Python绑定 。
由于他们导入的libvirt
模块没有定期安装Python,因此您很有可能必须自行安装它。 幸运的是,它似乎是Python软件包索引的一部分 。
因此,您可能只需运行:
python -m pip install libvirt
或python3 -m pip install libvirt
(或任何其他等效文件,具体取决于您使用的Python版本)来安装模块。
然后,您都准备好了:)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.