libvirt API — наложения, резервное изображение

#overlay #virtualization #qemu #libvirt #backing

#наложение #виртуализация #qemu #libvirt #резервное копирование

Вопрос:

Есть ли возможность создать 2 (или более) разных наложения из одного базового изображения, используя libvirt API?

 FedoraBase.img <-- FedoraGuest1.qcow2
                
                  <-- FedoraGuest2.qcow2
  

Итак, FedoraBase выполняет резервное копирование образа для оверлеев Guest1 и Guest2…

Используя инструмент qemu-img, вы можете создать его следующим образом:

 qemu-img create -b /export/vmimages/FedoraBase.img -f qcow2  
       /export/vmimages/FedoraGuest1.qcow2

qemu-img create -b /export/vmimages/FedoraBase.img -f qcow2  
       /export/vmimages/FedoraGuest2.qcow2
  

Но я не могу найти ни одного libvirt API, делающего то же самое.

Ответ №1:

Эта задача требует от вас использования API пула хранения libvirt — в частности, образы qcow2 могут быть созданы с использованием virStorageVolCreateXML() API. Этот API принимает XML-документ, который описывает желаемую конфигурацию и дает вам возможность указать файл резервной копии. Это должно позволить достичь уровня, который вы описываете.

Комментарии:

1. не могли бы вы привести более подробный пример? довольно сложно проанализировать документацию libvirt…