[英]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.