Garbage collection not happening on automated Removable Datastores

Mar 30, 2026
4
2
3
We have an offline backup plan that involves a set of removable SSD drives that are taken offsite by different techs. We're in the process of moving from ESXI and Veeam to PVE and PBS (with some Veeam remaining). A drive for each weekday, for use in absolute worst case scenarios where everything else is gone

I thought we had mostly duplicated the functionality we had with Veeam and Synology USB Copy, but we ran into an issue late last week where our removable drive backups started hanging up because the drives were full.

We have the Sync Jobs set to Mount the disks automatically, Run on Mount, Unmount when done, and Remove Vanished. They're copying a local Datastore on the PBS server, so it's very fast, which is nice.

1774883848285.png

After doing some looking, it looks like the 'Remove Vanished' doesn't run garbage collection on the disks. If we disable Run on Mount on the stuck disk, we can run Garbage Collection on the datastore, and it empties out that majority of the drive.
1774883928882.png
1774884301790.png
Is there a way to have PBS run Garbage Collection as part of the removed Vanished before the sync is considered complete? Am I right in my assumption that Remove Vanished is basically just running the Prune?

The only other solution I've been able to brainstorm that keeps things as slick and automated as we're used to is to set Garbage collection to run roughly when they usually get connected in the morning, and hope that it is enough to maintain the disk space, but not sure how well that will play with the unmount when done.
 
Is there a way to have PBS run Garbage Collection as part of the removed Vanished before the sync is considered complete? Am I right in my assumption that Remove Vanished is basically just running the Prune?
Yes, the remove vanished will only prune vanished snapshots, not run garbage collection. Currently there is no way to run other tasks in an automated manner, unless you script this via the API yourself. Another option would be to not check the unmount when done flag and trigger a manual garbage collection before unmounting the disk.
 
Not on any roadmap AFAIK, no.. this might make sense to add as task to be executed as part of an unmount, e.g. GC before unmount, but not to sure... This needs a more in depth discussion and evaluation. We most likely will not support any complex scheduling of tasks for removable datastores.

You can open an enhancement request at https://bugzilla.proxmox.com, but for more complex/custom task chains scripting via API remains the way to go for the foreseeable future.
 
Not on any roadmap AFAIK, no.. this might make sense to add as task to be executed as part of an unmount, e.g. GC before unmount, but not to sure... This needs a more in depth discussion and evaluation. We most likely will not support any complex scheduling of tasks for removable datastores.

You can open an enhancement request at https://bugzilla.proxmox.com, but for more complex/custom task chains scripting via API remains the way to go for the foreseeable future.
Thanks, I was hoping it could be linked to the Remove Vanished part of the process fairly easily, or even as part of an on-mount cleanup to free up space before the sync even happens. That was an issue we ran into on Synology's USB copy, as the cleanup happened at the end, so you could end up hitting the space limit before it got to removing things in it's mirroring settings.

I'll look into the API scripting and see if that's something that will work for us.