Bcachefs

That’s the best thing I read so far on file systems:

Bugs aside bcachefs is the most advanced filesystem I am aware of. It really delivered on that promise of “just add all of your disks, then dump your data on and it does the right thing.”

For example: Do you have disks of different sizes? That’s fine just works. Do you have disks of different speeds? That’s fine it will measure them and read from the faster ones. Or you can configure to write to the fast disks first then migrate them to the slower disks later. You can also configure to migrate to the faster disks during read.

On top of that all of the settings were configurable at the file or directory level. So if you have one directory that is huge but replaceable just mark it as unreplicated. You have one directory that needs consistent great performance? Mark it as always stored on the fast disks (unless they run out of space of course). Do you have a directory of videos that don’t need faster storage? Mark them as HDD only. Or maybe write to SDD first for fast writes but then migrate to HDD as you don’t need to read them very fast.

And again, all of these settings are configurable at runtime. No need for different partitions, datasets or whatever. No need for different mountpoints for each different service directory. Just tag the directory with the settings you want and you are good. Change your mind? No problem, just update the directory settings. You get a lot of advantages from having a single filesystem for example you can hardlink or reflink between any directories on the system, no worrying if they happen to be different datasets. You also get whole-system atomic snapshots.

Most people compare it to ZFS but I don’t think it really compares. ZFS is really just RAID + a CoW filesystem. Sure, there is good integration for things like read errors but fundamentally there isn’t really anything that it does that RAID can’t do (the ZFS AnyRaid project may change this). You basicaslly build up your vdevs using regular RAID patterns then put a filesystem on top of it. bcachefs is a step further in flexibility.

That being said a lot of these differences matter most for more “home” use. For larger scale you typically provision a server with a full set of matching drives and you more or less know what you are using it for. In that case ZFS really isn’t missing much functionality and of course it is rock solid.

Short, and in simple words! Kudos, Kevin!

••• Quotes Linux

Reply by Email