Mounting Backblaze B2: s3fs / rclone / GeeseFS / goofys?

Deebster@lemmyrs.org to Selfhosted@lemmy.world – 15 points –

I want to mount some B2 buckets on Linux for read/write access. What do people recommend?

s3fs, rclone or GeeseFS seem to be the sensible choices, but please share your hard-won opinions with me.

edit: or goofys?

12

What's your use-case? What do you want to achieve?

Using blob storages as filesystems doesn't work well and could - with B2's pricing structure - became excessively expensive. Blob storages are designed for easily writing and reading individual blobs. Filesystems are designed for random access, listing, traversal, etc.

It's for storing a few terabytes of fairly static media (for the most part, write-once). The codebases using it don't natively support object storage (and will be in Docker containers).

It's on a Hetzner server, and Backblaze (even after the price increase) will be a lot cheaper than normal drives, although their storage box option is probably better value over about two GB.

But the thing is: B2 is cheap for storage, but retrieval and traversal are very expensive. And if that happens transparently on the filesystem (because you accidentally run grep or the service in question regularly hashes the files or something), you would implicitly download everything stored. And IIRC retrieval costs ten times the storage costs... each time.)

I have a similar use case and whilst I’m not quite there yet I’m intending to go with a storage box

I plan to switch over later when it makes sense to - the nice thing about Backblaze is that it scales with your storage, whereas with Hetzner you have to jump from 1 TB to 5 TB.

Oh I know, I had the same thoughts

Object storage does really bad as a filesystem and it may very seriously be cheaper for you to have a 5TB storage box over 2TB of object storage

S3 has no list operation, so any time the computer wants to β€œlist” a directory in object storage that is expensive

My use case is different (B2 for offsite data backups) but I went down the path of rclone and it has been working out very well. A lot better than I expected. I read their official docs (installation, usage, the backblaze setup and crypt) to get started. Played at the command line for a few minutes and realize how quick and easy it was. Wrote a script to automate it and off to the races I went!

I've had better experiences with rclone mount vs s3fs, but the experience isn't great. It's not a posix filesystem so stuff like file locking won't work. Which makes it dangerous to run databases (incl SQLite) on top of.

Rclone has options to enable a local cache as well. It helps with performance, but I haven't tested the performance too much yet.