Консолидация дисков KVM / libvirt

с использованием ubuntu 20.04 в качестве узла kvm, инициализация гостевой системы с помощью cloud-init. это дает мне рабочего гостя с цепочкой изображений в результате. Чтобы упростить процесс резервного копирования и повторно использовать существующий сценарий, я хотел бы объединить цепочку изображений в один файл.

https://libvirt.org/kbase/merging_disk_image_chains.html # Consolidating-an-all-disk-image-chain-into-a-single-image

исходная конфигурация

virsh domblklist test
 Target   Source
-----------------------------
 vda      test-rootfs.qcow2
 hdd      -

объединить изображения

virsh blockcommit test vda --verbose --pivot --active
Block commit: [100 %]
Successfully pivoted

результат

virsh domblklist test
 Target   Source
------------------------------------------
 vda      /data/libvirt/disk-images/test
 hdd      -

Это ожидаемый результат. Каждый раз, когда я выключаю виртуальную машину и начинаю заново, конфигурация образа меняется на:

virsh domblklist test
 Target   Source
-----------------------------
 vda      test-rootfs.qcow2
 hdd      -

, и консолидированный образ больше не используется, вместо этого он снова использует исходную цепочку образов ... -> Мой вопрос: Почему?

BR и спасибо за подсказки

// edit:

Я отключил cloud-init в гостевой системе, затем процедуру shudtown / start.

Вот разница, сравниваемая после фиксации блока и после выключения / запуска домена (с использованием virsh dumpxml).

$ diff 0_blockcommit 1_shutdown_start 
1c1
< <domain type='kvm' id='8'>
---
> <domain type='kvm' id='9'>
32c32
<     <disk type='file' device='disk'>
---
>     <disk type='volume' device='disk'>
34,35c34,39
<       <source file='/data/libvirt/pools/disk-images/test.qcow2' index='3'/>
<       <backingStore/>
---
>       <source pool='disk-images' volume='test-rootfs.qcow2' index='2'/>
>       <backingStore type='file' index='3'>
>         <format type='qcow2'/>
>         <source file='/data/libvirt/pools/disk-images/test.qcow2'/>
>         <backingStore/>
>       </backingStore>
42c46,47
<       <source index='4'/>
---
>       <source file='/data/libvirt/pools/disk-images/test.iso' index='1'/>
>       <backingStore/>
89c94
<       <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-8-test/org.qemu.guest_agent.0'/>
---
>       <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-9-test/org.qemu.guest_agent.0'/>
0
задан 2 November 2021 в 09:42

0 ответов

Другие вопросы по тегам:

Похожие вопросы: