используя ubuntu 20.04 в качестве хоста kvm, инициализируя гостя с помощью cloud-init. это дает мне рабочего гостя с цепочкой изображений в результате. чтобы упростить процесс резервного копирования и повторно использовать существующий скрипт, я хотел бы объединить цепочку образов в один файл.
https://libvirt.org/kbase/merging_disk_image_chains.html#consolidating-an-entire-disk-image-chain-into-a-single-image
начальная конфигурация
тест вирша
Целевой источник
-----------------------------
vda test-rootfs.qcow2
жесткий диск -
объединить изображения
virsh blockcommit test vda --verbose --pivot --active
Блокировать фиксацию: [100 %]
Успешно повернуто
результат
тест вирша
Целевой источник
---------------------------------------------
vda /данные/libvirt/образы дисков/тест
жесткий диск -
Это ожидаемый результат. Всякий раз, когда я выключаю виртуальную машину и запускаю ее снова, конфигурация образа меняется на:
тест вирша
Целевой источник
-----------------------------
vda test-rootfs.qcow2
жесткий диск -
и объединенный образ больше не используется, вместо этого он снова использует исходную цепочку изображений... -> Мой вопрос: почему?
BR и спасибо за подсказки
//редактировать:
Я отключил cloud-init в гостевой системе, затем процедуру shudtown/start.
Вот разница, сравнение после фиксации блока и после выключения/запуска домена (используя virsh dumpxml).
$ diff 0_blockcommit 1_shutdown_start
1с1
< <тип домена='kvm' id='8'>
---
> <тип домена='kvm' id='9'>
32с32
< <тип диска='файл' устройство='диск'>
---
> <тип диска='том' устройство='диск'>
34,35с34,39
< <исходный файл='/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'>
> <тип формата='qcow2'/>
> <исходный файл='/data/libvirt/pools/disk-images/test.qcow2'/>
> <бэкингсторе/>
> </backingStore>
42с46,47
< <исходный индекс='4'/>
---
> <исходный файл='/data/libvirt/pools/disk-images/test.iso' index='1'/>
> <бэкингсторе/>
89с94
< <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'/>