簡體   English   中英

如何在Python中使用libvirt API創建快照

[英]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 libvirtpython3 -m pip install libvirt (或任何其他等效文件,具體取決於您使用的Python版本)來安裝模塊。

然后,您都准備好了:)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM