Hello Peter: Thank you for your reply.
I've found the page difficult to follow. There's 13 steps listed, but I found the numbering and heading confusing. I've followed 10 of the 13 steps. After following these 10 steps, I'm asking about purge of files. Have I followed the steps incorrectly? 1. (FOLLOWED) Start the guest: 2. (FOLLOWED) Enumerate the disk(s) in use: 3. (FOLLOWED) Begin the backup: 4. (FOLLOWED) Check the job status ("None" means the job has likely completed): 5. (FOLLOWED) Check the completed job status: 6. (FOLLOWED) Now we see the copy of the backup: Full backup with older libvirt versions 1. (considered optional) Start with a guest with a single disk image, base.raw, which is where the live QEMU is pointing at, and recording the guest writes: 2. (considered optional) List the current block device(s) in use: 3. (considered optional) Create the live "external disk snapshot" (or more correctly, "an overlay"): 1. (FOLLOWED) Now, take a backup the original image, base.raw, to a different location using cp or rsync: 2. (FOLLOWED) Enumerate the current block device(s) in use, again. Notice that the current disk image in use is the above-created overlay, overlay1.qcow2: 3. (FOLLOWED) Once the backup of the original image completes, now perform the "active block-commit" to live-merge the contents of overlay1.qcow2 into base.raw and pivot the live QEMU back to the original: 4. (FOLLOWED) After the above operation completes, again list the current block device(s) in use. And notice that the live QEMU is now writing to the original base image: + onlinebackup + repo=SHACKLETON1210 date +%Y-%m-%d_%H-%M-%S ++ date +%Y-%m-%d_%H-%M-%S + LOGDATE=2025-08-26_19-00-24 basename $0 .sh ++ basename /share/CACHEDEV3_DATA/SHACKLETON12-scripts/qnap-backup.sh .sh + LOGFILE=/share/CACHEDEV3_DATA/SHACKLETON12-scripts/log/qnap-backup.2025-08-26_19-00-24.SHACKLETON1210.log + virsh -v 8.6.0 + virsh domblklist acf333b4-0a75-48fd-ba0d-be26ed48b088 Target Source ------------------------------------------------------------------------------- vda /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 hda /share/Virtual-Machines/debian-12.10.0-amd64-netinst.iso + V_RETURN_CODE=0 + printf 'V_RETURN_CODE: %d\n' 0 V_RETURN_CODE: 0 + [[ 0 -ne 0 ]] + virsh backup-begin acf333b4-0a75-48fd-ba0d-be26ed48b088 Backup started + V_RETURN_CODE=0 + printf 'V_RETURN_CODE: %d\n' 0 V_RETURN_CODE: 0 + [[ 0 -ne 0 ]] + true + sleep 30 Error relocating /QVS/usr/lib/libudev.so.1: canonicalize_file_name: symbol not found + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 30438 ms File processed: 3.481 GiB File remaining: 71.519 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 65427 ms File processed: 7.446 GiB File remaining: 67.554 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 95548 ms File processed: 21.457 GiB File remaining: 53.543 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 125589 ms File processed: 25.455 GiB File remaining: 49.545 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 155638 ms File processed: 29.009 GiB File remaining: 45.991 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 185690 ms File processed: 32.445 GiB File remaining: 42.555 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 215727 ms File processed: 36.395 GiB File remaining: 38.605 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 245766 ms File processed: 46.733 GiB File remaining: 28.267 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 275804 ms File processed: 50.947 GiB File remaining: 24.053 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 305847 ms File processed: 64.445 GiB File remaining: 10.555 GiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: Unbounded Operation: Backup Time elapsed: 335933 ms File processed: 74.500 GiB File remaining: 512.000 MiB File total: 75.000 GiB + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: None virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=None + [[ None == \C\o\m\p\l\e\t\e\d ]] + true + sleep 30 + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 Job type: None + virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed --keep-completed Job type: Completed Operation: Backup Time elapsed: 340009 ms File processed: 75.000 GiB File remaining: 0.000 B File total: 75.000 GiB virsh domjobinfo ${VM_DOMAIN_GUID:-} --completed|awk '$1~/Job/{print $3}' ++ virsh domjobinfo acf333b4-0a75-48fd-ba0d-be26ed48b088 --completed ++ awk '$1~/Job/{print $3}' + V_VIRSH_STATUS=Completed + [[ Completed == \C\o\m\p\l\e\t\e\d ]] + break + V_PROCESS_ID=20435 + echo 'PID: 20435' PID: 20435 + cp -p /share/CACHEDEV2_DATA/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.img /share/CACHEDEV2_DATA/Virtual-Machines-local-backup/SHACKLETON1210/SHACKLETON1210_00.img-backup-1 + rclone -v --log-file /share/CACHEDEV3_DATA/SHACKLETON12-scripts/log/qnap-backup.2025-08-26_19-00-24.SHACKLETON1210.log copy /share/CACHEDEV2_DATA/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.img 'anna_onedrive:Virtual-Machines-img-(DO-NOT-ERASE)/SHACKLETON1210/SHACKLETON1210_00.img-backup-1' + V_RETURN_CODE=0 + printf 'V_RETURN_CODE: %d\n' 0 V_RETURN_CODE: 0 + [[ 0 -ne 0 ]] + wait 20435 + V_RETURN_CODE=0 + printf 'V_RETURN_CODE: %d\n' 0 V_RETURN_CODE: 0 + [[ 0 -ne 0 ]] + virsh domblklist acf333b4-0a75-48fd-ba0d-be26ed48b088 Target Source ------------------------------------------------------------------------------- vda /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 hda /share/Virtual-Machines/debian-12.10.0-amd64-netinst.iso + V_RETURN_CODE=0 + printf 'V_RETURN_CODE: %d\n' 0 V_RETURN_CODE: 0 + [[ 0 -ne 0 ]] virsh domblklist ${VM_DOMAIN_GUID:-} | awk '/vda/{print $2}' ++ virsh domblklist acf333b4-0a75-48fd-ba0d-be26ed48b088 ++ awk '/vda/{print $2}' + V_PURGE_IMG=/share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 + virsh blockcommit acf333b4-0a75-48fd-ba0d-be26ed48b088 vda --active --verbose --pivot Block commit: [ 6 %] Block commit: [ 99 %] Block commit: [100 %] Successfully pivoted + V_RETURN_CODE=0 + printf 'V_RETURN_CODE: %d\n' 0 V_RETURN_CODE: 0 + [[ 0 -ne 0 ]] + virsh domblklist acf333b4-0a75-48fd-ba0d-be26ed48b088 Target Source ------------------------------------------------------------------------ vda /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.img hda /share/Virtual-Machines/debian-12.10.0-amd64-netinst.iso + V_RETURN_CODE=0 + printf 'V_RETURN_CODE: %d\n' 0 V_RETURN_CODE: 0 + [[ 0 -ne 0 ]] dirname ${V_PURGE_IMG:-} ++ dirname /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 + ls -alF /share/Virtual-Machines/SHACKLETON1210 total 237749684 drwxrwxrwx 4 admin administrators 20480 2025-08-26 19:00 ./ drwxrwxrwx 8 admin administrators 4096 2025-05-02 06:44 ../ drwxrwxrwx 3 admin administrators 4096 2025-08-26 10:40 .acf333b4-0a75-48fd-ba0d-be26ed48b088.meta/ drwxrwxrwx 2 admin administrators 4096 2025-08-26 10:40 SHACKLETON1210/ -rw-r--r-- 1 admin administrators 203751424 2025-08-26 11:32 SHACKLETON1210_00.1756219420 -rw-r--r-- 1 admin administrators 166920192 2025-08-26 14:18 SHACKLETON1210_00.1756222321 -rw------- 1 admin administrators 40506884096 2025-08-26 12:07 SHACKLETON1210_00.1756222321.1756224117 -rw-r--r-- 1 admin administrators 6684672 2025-08-26 18:26 SHACKLETON1210_00.1756247131 -rw-r--r-- 1 admin administrators 111345664 2025-08-26 21:48 SHACKLETON1210_00.1756247188 -rw------- 1 admin administrators 40511209472 2025-08-26 19:06 SHACKLETON1210_00.1756247188.1756249224 -rw-rw-rw- 1 admin administrators 40508194816 2025-08-26 21:48 SHACKLETON1210_00.img -rw------- 1 admin administrators 40511078400 2025-08-26 17:00 SHACKLETON1210_00.img.1756241663 -rw-rw-rw- 1 admin administrators 40464941056 2025-08-24 00:26 SHACKLETON1210_00.img.2 -rw-rw-rw- 1 admin administrators 40464941056 2025-08-24 00:26 SHACKLETON1210_00.img.3 + ls -alF /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188.1756249224 -rw-r--r-- 1 admin administrators 111345664 2025-08-26 21:48 /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 -rw------- 1 admin administrators 40511209472 2025-08-26 19:06 /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188.1756249224 + [[ 0 -eq 0 ]] + [[ /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 != *img* ]] + rm /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188 /share/Virtual-Machines/SHACKLETON1210/SHACKLETON1210_00.1756247188.1756249224