About a year ago I switched to ZFS for Proxmox so that I wouldn’t be running technology preview.
Btrfs gave me no issues for years and I even replaced a dying disk with no issues. I use raid 1 for my Proxmox machines. Anyway I moved to ZFS and it has been a less that ideal experience. The separate kernel modules mean that I can’t downgrade the kernel plus the performance on my hardware is abysmal. I get only like 50-100mb/s vs the several hundred I would get with btrfs.
Any reason I shouldn’t go back to btrfs? There seems to be a community fear of btrfs eating data or having unexplainable errors. That is sad to hear as btrfs has had lots of time to mature in the last 8 years. I would never have considered it 5-6 years ago but now it seems like a solid choice.
Anyone else pondering or using btrfs? It seems like a solid choice.
If it didn’t give you problems, go for it. I’ve run it for years and never had issues either.
btrfs has been the default file system for Fedora Workstation since Fedora 33 so not much reason to not use it.
What kind of disks, and how is your ZFS set up? Something seems amis here.
Using it here. Love the flexibility and features.
No reason not to. Old reputations die hard, but it’s been many many years since I’ve had an issue.
I like also that btrfs is a lot more flexible than ZFS which is pretty strict about the size and number of disks, whereas you can upgrade a btrfs array ad hoc.
I’ll add to avoid RAID5/6 as that is still not considered safe, but you mentioned RAID1 which has no issues.
I’ve been vaguely planning on using btrfs in raid5 for my next storage upgrade. Is it really so bad?
It’s affected by the write-hole phenomenon. In BTRFS case that can mean that perfectly good old data might corrupt without any notice.
Check status here. It looks like it may be a little better than the past, but I’m not sure I’d trust it.
An alternative approach I use is mergerfs + snapraid + snapraid-btrfs. This isn’t the best idea for a system drive, but if it’s something like a NAS it works well and
snapraid-btrfs
doesn’t have the write hole issues that normalsnapraid
does since it operates on r/o snapshots instead of raw data.
btrfs raid subsystem hasn’t been fixed and is still buggy, and does weird shit on scrubs. But fill your boots, it’s your data.
One day I had a power outage and I wasn’t able to mount the btrfs system disk anymore. I could mount it in another Linux but I wasn’t able to boot from it anymore. I was very pissed, lost a whole day of work
When did this happen?
I think 5 years ago, on Ubuntu
ACID go brrr
Did you set the correct block size for your disk? Especially modern SSDs like to pretend they have 512B sectors for some compatibility reason, while the hardware can only do 4k sectors. Make sure to set
ashift=12
.Proxmox also uses a very small volblocksize by default. This mostly applies to RAIDz, but try using a higher value like 64k. (Default on Proxmox is 8k or 16k on newer versions)
https://discourse.practicalzfs.com/t/psa-raidz2-proxmox-efficiency-performance/1694
I’m thinking of bumping mine up to 128k since I do mostly photography and videography, but I’ve heard that 1M can increase write speeds but decrease read speeds?
I’ll have a RAIDZ1 and a RAIDZ2 pool for hot storage and warm storage.
I am using btrfs on raid1 for a few years now and no major issue.
It’s a bit annoying that a system with a degraded raid doesn’t boot up without manual intervention though.
Also, not sure why but I recently broke a system installation on btrfs by taking out the drive and accessing it (and writing to it) from another PC via an USB adapter. But I guess that is not a common scenario.
For my jbod array, I use ext4 on gpt partitions. Fast efficient mature.
For anything else I use ext4 on lvm thinpools.
That doesn’t do error detection and correction nor does it have proper snapshots.
My setup is different to yours but not totally different. I run ESXi 8, and I started to use BTRFS on some of my VM’s.
I had a power failure, that was longer than the UPS could handle. Most of the system shutdown safely, a few VM’s did not. All of the EXT4 VM’s were easily recovered (including another one that was XFS). TWO of the BTRFS systems crashed into a non recoverable state.
Nothing I could do to fix them, they were just toast. I had no choice but to recover using backups. This made me highly aware that BTRFS is still not a reliable FS.
I am migrating everything from BTRFS to something more stable and reliable like EXT4. It’s simply not worth the headache.
When did this happen?
It was only a few weeks ago (maybe 4). Systems are all kept up to date with ansible. Most are Debian but there are few Ubuntu. The two that failed were both Debian.
Granted both that failed have high [virtual] disk usage compared to the other VM’s. I cannot remember the failure now, but lots of searching confirmed that it was likely unrecoverable (they could boot, but only into read only). None of the btrfs-check “dangerous” commands could recover it, spitting out tons of errors about mismatching somethings (again, forgotten the error).
Raid 5/6, only bcachefs will solve it
Btrfs Raid 5 and raid 6 are unstable and dangerous
Bcachefs is cool but it is way to new and isn’t even part of the kernel as of yet.
https://en.wikipedia.org/wiki/Bcachefs it was added as of Linux 6.7
Edit: and I’ve said raid 5/6 as what troubles btrfs have so you proved my point while trying to explain to me that I’m not right
I though was then removed later as there was a disagreement between Linus and the bcachefs dev
Yeah, i remember something like that, i don’t remember exactly which kernel version it was when they removed it
Pretty sure it’s not removed, they just aren’t accepting any changes from the developer for the 6.13 cycle
A bit of topic; am I the only one that pronounces it “butterface”?
Similarly, I read bcachefs as BCA Chefs 😅
Ah feck. Not any more.
Isn’t it meant to be like “better FS”? So you’re not too far off.
i call it “butter FS”
Not anymore.
You son of a bitch, I’m in.
I call it butter fuss. Yours is better.
Related, and I cannot help but read “bcachefs” as “bitch café”
I run it now because I wanted to try it. I haven’t had any issues. A friend recommended it as a stable option.
One time I had a power outage and one of the btrfs hds (not in a raid) couldn’t be read anymore after reboot. Even with help from the (official) btrfs mailinglist It was impossible to repair the file system. After a lot of low level tinkering I was able to retrieve the files, but the file system itself was absolutely broken, no repair process was possible. I since switched to zfs, the emergency options are much more capable.
Was that less than 2 years ago? Were you using kernel 5.15 or newer?
Yes that was may/june 23 and I was on a 6.x kernel