Next step after "progress 100%" (backup and restore) (noob)

ronejamesdo

Member
Apr 22, 2024
49
6
8
I notice on a backup (to storage, I do not have a Proxmox Backup Server) there is usually a hang after 100% but I assume that the answer is in the "archive" file size:

INFO: 27% (8.7 GiB of 32.0 GiB) in 39s, read: 223.1 MiB/s, write: 207.6 MiB/s
INFO: 29% (9.5 GiB of 32.0 GiB) in 42s, read: 263.9 MiB/s, write: 211.8 MiB/
...
INFO: 100% (32.0 GiB of 32.0 GiB) in 1m 16s, read: 1.2 GiB/s, write: 4.0 KiB/s
INFO: backup is sparse: 21.06 GiB (65%) total zero data
INFO: transferred 32.00 GiB in 76 seconds (431.2 MiB/s)
INFO: archive file size: 4.75GB

So it copies everything to the storage (or evaluates it.. whatever the progress is when referencing making a backup) and then after it has that 32 GB copied or read, it compresses it into archive size and zipping stuff takes time and that explains the a hang right there (?).

During a restore though I see similar lines called "progress":

progress 42% (read 14431092736 bytes, duration 119 sec)
progress 43% (read 14774697984 bytes, duration 119 sec)
...
progress 100% (read 34359738368 bytes, duration 134 sec)
total bytes read 34359738368, sparse bytes 22616412160 (65.8%)
space reduction due to 4K zero blocks 1.44%
rescan volumes...
etc

If I have a hang after 100%, what is actually being done there? Immediately after the hang all of the remaining lines of output post. The example hung at 100% for 47 seconds. I'm not complaining about that, just wondering what it's actually doing right then (setting up any config stuff isn't likely to take so long). Was the progress "copying" the archive and now it has to unzip it? Was the progress "reading" the archive and now it has to copy it? When the progress is done does it have to then be "combed" for space reduction or something?

Sorry for the noob stuff.
 
If I have a hang after 100%, what is actually being done there?
Your backup is writing all its data to the destination and somewhere a Write-Cache is involved. After writing 100% to the logical destination it waits for the destination to actually write the data to the destination device. (Probably over-simplified, but you get the point...)
 
yes, like @UdoB wrote that's almost certainly some part along the stack flushing I/O.