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?
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.)
This is no longer the case. Starting in October egress is free up to 3x the volume stored with them.
Backblaze recently revised B2 storage, it’s gone up by $1 and they offer free egress equal to I believe 2x or 3x the data you have stored with them. Let me try find a link to this…
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.
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.