如何使用 libvirt 将现有映像导入存储池?

How can i import an exist image to a storagepool using libvirt?

当我在其他机器上重新部署libvirt项目时,我必须将在其他机器上创建的图像(卷)导入到新的存储池中。但是,libvirt api 好像没有相应的功能? 如何使用 libvirt 将现有图像(卷)导入存储池 API?

如果你真的想使用 API,那么方法是使用 virStorageVolCreate 创建一个空图像,然后 virStorageVolUpload 将内容流式传输到图像中。

如果您正在尝试将图像文件从一台机器复制到另一台机器,则将它们复制到 libvirt 外部(例如使用 scp)可能更容易,然后使用 virStorgePoolRefresh(通过 virsh pool-refresh poolname) 让 libvirt 知道你所做的复制。