Если вы действительно хотите использовать API, то подход состоит в том, чтобы использовать virStorageVolCreate
для создания пустого изображения, а затем virStorageVolUpload
для потоковой передачи содержимого в изображение.
Если вы используетепытаясь дублировать файлы изображений с одного компьютера на другой, было бы проще просто скопировать их в другую библиотеку libvirt (например, используя scp), а затем использовать virStorgePoolRefresh
(через virsh pool-refresh poolname
), чтобы libvirt узнала о сделанной вами копии.