It seems we got a new toy to fiddle with and if its good enough for Linus to accept commits is good enough to me to start playing with it.
This file system has come to take on both ZFS and BTRFS and its written mostly by a lone wolf dude. The best kind of open source software. Seriously the code is quite good.
For me, personally, the draw is that it aims to solve a few problems not solved by any other file systems (not even ZFS):
Read/write cache (promote/foreground targets)
Elimination of the RAID write hole problem
Tiering compression and RAID levels: recognizing that compression and erasure coding is detrimental to high performance, bcachefs introduces the concept of compressing and erasure coding data written to background devices while metadata, read, and write caches remain uncompressed and mirrored for performance.
There’s also this:
btrfs doesn’t have this problem, but suffers from a few other dealbreakers.
I’m curious as to how this pans out in real workloads.
I learned about bcache some years ago, just before the guy started serious dev work on bcachefs. Looks indeed promising and as I’m a strong proponent of RAID6 I’m hoping bcachefs can handle RAID6.
If someone could write a shim that lets me zfs send from bcachefs to ZFS that would be amazing. I would love to try it out but don’t want to risk my real data set, and I don’t have any need for these filesystems outside of a NAS.
I’ll try to reinstall my fun laptop with bcachefs encrypted root. It uses 2 nvme as system drive. Downloading the steam library is normally a good way to test throughput. Will report disasters.
Installation on Nixos unstable went fine but had to change UUIDs to raw device paths. It seems systemd-boot has an issue finding the UUIDs of multi devices and/or encrypted volumes.
It’s raid1 encrypted. It doesn’t use LUKS though.
I’m on 6.8.1. Other than the weird way the array UUID is set (which makes other user land programs to not be able to see it) everything is alright so far.
I plan to eventually test this out [and might publish benchmarks here] once I have all my “new” hardware set up (see my username). Does anyone know if BCacheFS has an effective alternative to ZFS’s ARC, my reading of the documentation I could find suggests no. Personally I share concerns others (see Proposal: Consider adding warnings against using zfs native encryption along with send/recv in production · Issue #494 · openzfs/openzfs-docs · GitHub ) seem to have about newer ZFS features [ mainly block cloning and native encryption] and instability/corruption and I do see a future where for SSD’s where either https://www.purestorage.com/ or something akin to it is the path forward, there still needs to be a good alternative that is more generic.
Also does anyone know if there is anyone who has done work on making Bcachefs work with QAT as I did pick up a QAT device that I hope gets good use, right now I have a lot of ideas on how to use it mainly for ZFS, but also for other things.
I got the dreaded deadlock issue on fsck after my computer started to shutdown (for unrelated issues, suspect temperatures). FSCK wouldn’t work so I had to prepare a Nixos ISO with 6.9-RC5 so I could run the new FSCK code. It froze the computer while running it but it worked.
Extremely fast and low latency FS even though I was running full disk encryption (native not LUKS). Userland tools are kinda weird as the dm and systemd doesn’t recognize the array UUIDs, df shows the summed size of the array instead of available etc.
It was a good run. I’m reinstalling NixOS so everything should be back to normal. Only hassle will be to download the Steam library again.