Ncp: Maintenance for the btrfs disk

The other day nextcloud stopped working, because mouting the data disk failed. Error in a nutshell “can’t read superblock on /dev/sda1”, which is a btrfs. ( First aid:

mount -t btrfs -o recovery,rescan_uuid_tree /dev/sda1 /mnt/clouddrive


That made me worry about maintance for the btrfs. There is a package called “btrfsmaintenance”, but I never paid attention to maintaining the data disk.

Here Btrfs - Debian Wiki under “Maintenance” periodic defragmentation is discussed among other maintenance tasks.

Since nextcloudpi suggests using btrfs, I’m afraid I missed the howto regarding btrfs maintenance. Is it yet to be written or am I wrong to assume that a btrfs needs regular maintenance?

Perhaps it could be added in this howto:

Until there is such a howto, you have to check existing manuals. Don’t forget to do backups. It could be fragmentation, the tools should help you to detect it. I’d also use the smartmontools to check the general health of your disks, depending on each model there can be different indicators to show a hard drive reaching end of life.

Thank you for the confirmation. Users of nextcloudpy need to know that BTRFS needs some maintenance.

Unfortunately I’m a novice to the internals of BTRFS. If I didn’t battle an file corruption error on my hdd, I’d try to config btrfsmaintenance.

every filesystem needs maintenance. with btrfs you can do an online scrub with btrfs scrub which is recommended once a month
on heavily-used servers i run it one a week via cron. (and yes, if you do not maintain it, it might (and probably will) stop working.)
personally i do not recomemnd using btrfs on cheap external 2,5"-USB-disks SD-cards since i have made some really nasty experiences with btrfs on that kind of hardware.