ใช้ 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
การกำหนดค่าเริ่มต้น
การทดสอบ virsh dombleklist
แหล่งที่มาของเป้าหมาย
-----------------------------
vda ทดสอบ rootfs.qcow2
ฮาร์ดดิสก์ -
รวมภาพ
virsh blockcommit ทดสอบ vda --verbose --pivot --active
บล็อกการกระทำ: [100 %]
หมุนสำเร็จ
ผลลัพธ์
การทดสอบ virsh dombleklist
แหล่งที่มาของเป้าหมาย
------------------------------------------
vda /data/libvirt/disk-images/test
ฮาร์ดดิสก์ -
นี่คือผลลัพธ์ที่คาดหวัง เมื่อใดก็ตามที่ฉันปิด VM และเริ่มใหม่อีกครั้ง การกำหนดค่าอิมเมจจะเปลี่ยนเป็น:
การทดสอบ virsh dombleklist
แหล่งที่มาของเป้าหมาย
-----------------------------
vda ทดสอบ rootfs.qcow2
ฮาร์ดดิสก์ -
และอิมเมจที่รวมจะไม่ถูกใช้อีกต่อไป แต่จะใช้อิมเมจเชนเดิมอีกครั้งแทน ... -> คำถามของฉัน: ทำไม
BR และขอบคุณสำหรับคำแนะนำ
//แก้ไข:
ฉันได้ปิดใช้งาน cloud-init ในแขก จากนั้นจึงปิดการใช้งาน shudtown / ขั้นตอนการเริ่มต้น
นี่คือความแตกต่างโดยเปรียบเทียบหลังจากบล็อกคอมมิทและหลังจากปิด / เริ่มโดเมน (โดยใช้ virsh dumpxml)
$ แตกต่าง 0_blockcommit 1_shutdown_start
1c1
< <ประเภทโดเมน='kvm' id='8'>
---
> <ประเภทโดเมน='kvm' id='9'>
32c32
< <ประเภทดิสก์='ไฟล์' อุปกรณ์='ดิสก์'>
---
> <ประเภทดิสก์='ไดรฟ์ข้อมูล' อุปกรณ์='ดิสก์'>
34,35c34,39
< <ไฟล์ต้นฉบับ='/data/libvirt/pools/disk-images/test.qcow2' ดัชนี='3'/>
< <backingStore/>
---
> <source pool='disk-images' volume='test-rootfs.qcow2' ดัชนี='2'/>
> <backingStore type='ไฟล์' ดัชนี='3'>
> <ประเภทรูปแบบ='qcow2'/>
> <ไฟล์ต้นฉบับ='/data/libvirt/pools/disk-images/test.qcow2'/>
> <backingStore/>
> </backingStore>
42c46,47
< <ดัชนีแหล่งที่มา='4'/>
---
> <ไฟล์ต้นฉบับ='/data/libvirt/pools/disk-images/test.iso' ดัชนี='1'/>
> <backingStore/>
89c94
< <โหมดแหล่งที่มา='ผูก' เส้นทาง='/var/lib/libvirt/qemu/channel/target/domain-8-test/org.qemu.guest_agent.0'/>
---
> <โหมดแหล่งที่มา='ผูก' เส้นทาง='/var/lib/libvirt/qemu/channel/target/domain-9-test/org.qemu.guest_agent.0'/>