[SOLVED] Garbage Collect fails, permission denied on: "/run/initramfs"

Pcom

Member
Aug 8, 2023
34
3
8
Milan, Italy
Hello,

PBS 3.2.2 running as a virtual machine on Truenas.
user root@pam with 2FA enabled used only for web login, all backups run using API.

Everything works fine, except garbage collection. When I try to use Garbage Collection this is the message:

Code:
2024-05-01T14:41:23+02:00: starting garbage collection on store pbs
2024-05-01T14:41:23+02:00: Start GC phase1 (mark used chunks)
2024-05-01T14:41:23+02:00: TASK ERROR: cannot continue garbage-collection safely, permission denied on: "/run/initramfs"

I've searched this error on the forum but didn't find anything.
In my mind (but maybe I'm wrong) GC runs with root@pam user and I have only API user under "permission" but if I try to add root@pam nothing happens. Could this be the problem?
permissions.JPG


I will finish available space in a week because I'm not deleting all the old backups.

How can I solve this?
Thanks!
 
what is the path of the datastore?
 
Umh.
I thought it was /datastore/pbs like in the screenshot but there is no /datastore directory on the server :oops:

I found the command "pvesm list" but server says
-bash: pvesm: command not found

So I tried to check every directory manually and I see the hidden folder /.chunks with 65536 subdirectories and huge amount of files inside every folder.
I think this is my datastore. Is this normal or I set up something wrong? (btw backup and restore works fine)

1714637935470.png

Thanks
 
yeah, having the datastore on '/' won't work

i'd probably create a new datastore somewhere else on disk, sync the snapshots there, and then delete the datastore *manually* as i don't know if our deletion mechanism in the gui/api deletes everything in that directory (which would wipe your server)

alternatively, start with a fresh pbs install and put the datastore somewhere else (e.g. when using the 'disks' menu, the datastores will always be under '/mnt/datastore/<datastore-name>')
 
  • Like
Reactions: Pcom
Yes, the datastore should be in a subdirectory, not root. I have filed a bug [1] because IMHO PBS should not allow to create datastores in "/".

Maybe you can recover you backups creating a new datastore in the right path and doing a sync (dcsapak was faster to reply), but haven't really tested this. You will need twice the space in your drive.

Maybe you can move your backups manually to a new datastore (untested):

- mkdir /datastore/pbs.
- If needed, mount a drive, nfs, whatever.
- mv /.chunks /datastore/pbs
- mv /.gc_status /datastore/pbs
- mv /host /datastore/pbs
- mv /vm /datastore/pbs
- mv /ct /datastore/pbs
- mv /ns /datastore/pbs
- Edit /etc/proxmox-backup/datastore.cfg and modify the "path" in your "pbs" datastore to be /datastore/pbs.
- Reboot the PBS server to make sure all services get restarted (no sure which ones may need it).

[1] https://bugzilla.proxmox.com/show_bug.cgi?id=5439
 
  • Like
Reactions: Pcom
So I manually create folder /mnt/datastore/pbs and moved here ".chunks" and "vm", the only folders I had. Then I edited datastore.cfg
Seems OK.
I still see my backups and now garbage collection is working, it cleaned 600 gb in minutes.

I think this is solved, I'm going to update you in case i'll find something strange, just for future readers.

Thanks!
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!