BTRFS backup storage path corrupted. How to rebuild it?


I’m running Urbackup Server v2.4.13.0 on CentOS v7.9 with Urbackup Server installed on the main boot drive and a separate BTRFS storage pool dedicated for backup storage path.

Now for various reason the BTRFS pool got corrupted and I can’t seem to be able to repair it (btrfs check --repair has been running for a week with no result).

If I blow up the backup storage pool and make a new one from scratch I will obviously lose all the backup data, but I’m wondering if there are any other consequences to this as well? If I start Urbackup server with an empty storage path attached to it, will all existing clients automatically start backing up again or do I need to reconfigure anything?

They’ll start backing up again, with the server thinking data is present that isn’t, & consequently skipping stuff, it’s my understanding that running remove-unknown should alert the server so it starts from knowing it has no data backed up, it’ll spend ages deleting entries from its database when that runs.
There is doubtless some more elegant way to do the job, but that ought to work.

The many times my BTRFS filesystem became corrupt (for seemingly unknown reasons), I would run remove-unknown. I was uneasy until all backups were, once again, up to date. I got tired of rebuilding about every 6 months, so I switched to XFS filesystem and have not found a corrupt filesystem so far.

I probably just jinxed it.

One thing w.r.t. btrfs is to use the latest LTS Linux kernel (currently 5.4.y). The 3.10 kernel in CentOS 7 is totally unsupported w.r.t. to btrfs and it is 8 years out of date (And RedHat is not back-porting btrfs fixes!).