Ext4, my needs are simple and in all the years I’ve been using extX, never had a problem
Same. I tried btrfs and ended up with a corrupted drive. I’ve never had ext4 fail on me in a way that wasn’t recoverable. Boring and safe are features I like in my filesystems.
ZFS. I want snapshots, volumes, encryption etc. btrfs fucked me over too often. Also I prefer the semantics of the
zfs
andzpool
utils and the way mount points are handled. Thanks to ZFSBootMenu I can even have/boot
as a zfs volume and have it therefore incluced in my snapshots. And did I mention that all of that is encrypted? Anyway. Love it.ZFS is really like the god filesystem: it supports basically everything you might want out of the box. Compression, encryption, snapshots, CoW, RAID, checksumming, casefolding/case insentivity, block volumes, you name it.
You can get compression, snapshots and CoW with btrfs and some basic RAID, but not encryption. You can get encryption with ext4 but pretty much nothing else. Gotta do LUKS and LVM if you want volume management, mdadm if you want any sort of RAID. f2fs does pretty much nothing but flash friendly storage.
It’s a shame it can’t be included in the mainline kernel. Especially over what seems to be a legal technicality.
ZFS for RAID array and BTRFS for root is the way to go!
Btrfs because I’ve had constant issues with zfs in multiple different times.
Everyone praises zfs so I’m sure it’s something I’m missing, but I’ve had very little issue with btrfs, other than it’s incomplete feature set.
What kind of issues?
Its mostly that due to licensing issues it can’t be included in the Linux kernel like btrfs and thus is prone to breaking at very in-opportune times.
IMHO both are fine, but btrfs is more hassle free and good enough ™ for hobby self-hosters.
He’s talking about kernel taint. That is annoying in Linux.
I have enough to think about without the damn file system getting complicated. So plain old ext4. It’s stable, it works it’s great.
I used btrfs once and it went really badly. When it gets corrupted it refuses to even let you mount read only. The documentation isn’t good and you end up finding obscure wiki’s with big warnings to only run these commands if you know what you’re doing - but of course I don’t, there’s no where to learn it and the only people who do know are the developers who wrote the file system. No thanks! It holds your data captive, so you better have some spare time and some backups. Never again.
That’s my issue with btrfs as well. If you can’t recover a file system when something goes wrong it isn’t production ready imo.
Totally agree, plus it’s 14 years old, and at this point I think it’s fair to just give up on it.
Right now just ext4 because I’m just hosting a minecraft server and a website that’s not even up right now. I’m thinking about btrfs when I build my next system. Transparent file compression and sub-volumes looks appetizing
Btrfs, because of compression. And I’ve never had any issues with it.
ZFS raidz1 or raidz2 on NetBSD for mass storage on rotating disks, journaled FFS on RAID1 on SSD for system disks, as NetBSD cannot really boot from zfs (yet).
ZFS because it has superior safeguards against corruption, and flexible partitioning; FFS because it is what works.
@Hopfgeist @sam I prefer RAID10 on rust.
What are the advantages of raid10 over zfs raidz2? It requires more disk space per usable space as soon as you have more than 4 disks, it doesn’t have zfs’s automatic checksum-based error correction, and is less resilient, in general, against multiple disk failures. In the worst case, two lost disks can mean the loss of the whole pack, whereas raidz2 can tolerate the loss of any 2 disks. Plus, with raid you still need an additional volume manager and filesystem.
@Hopfgeist Speed on large spinning disks. Faster rebuilds. Less chance of complete failure because or URE.
Zfs I lost so much data trying to use btrfs. And zvols are neat.
I love em all, especially btrfs. But I have to stay away from xfs. Had so many weird issues with it that made no sense.
Zfs for data, vms, lxc, file server.
Ext4 for basically root partitions, maybe ufs on the non-jailed freebsd.
Old policy, separate data and OS so you can switch quickly, had it since dos and never really switched.
Zfs is perfect but heavy, especially the arc so try not to wave it at everything. Ext4 is good enough for anything where I really don’t care about integrity.
Tried btrfs but zfs is awesome because when I’m done I can always send a snapshot from my workers to the main fileserver with zfs-send and keep it around. Zfs-send/receive really change the game, as does zfs’s trusted raid and zlog/l2arc which makes spinning rust fly.
ext4 on boot drives just because it’s so standard and uncomplicated. Data drives either xfs or btrfs, depending on how froggy I’m feeling when I set it up. I don’t use the fancy features of the filesystem. Hell, I barely even use lvm. I find all that stuff just gets in the way. I just want to put files on disk.
I’ve tried zfs, and it seems nice, but when you have a lot of storage, you need to have a lot of RAM to actually make it useful, and I don’t.
Btrfs. been 7 years no issues. Those with lots of issues may have setup an unsupported Raid configuration.
Just ext4 pooled together with mergerfs for my media files. Seems to fit my use perfectly.
Ext4 because it is rock solid and a reasonable foundation for Gluster. Moving off of ZFS to scale beyond what a single server can handle. I would still run ZFS for single-server many-drive situations, though MDADM is actually pretty decent honestly.
ext4 on an mdadm raid. It works well enough, and supports growing your array.
Although if I rebuilt this from scratch, I would skip mdadm and just let minio control all the drives. Minio has an S3 compatible API, which I’d then mount into whatever apps need it.
Love MinIO but it’s not a filesystem and mounting object storage as a filesystem is not a great experience (speaking from commercial experience).
Same experience here. S3 is essentially a key/value store to simply put and retrieve large values/blobs. Everything resembling filesystem features is just convention over how keys are named. Comminication uses HTTP, so there is a lot of overhead when working with it as an FS.
In the web you can use these properties to your advantage: you can talk to S3 with simple HTTP clients, you can use reverse proxies, you can put a CDN in front and have a static file server.
But FS utils are almost always optimized for instant block based access and fast metadata responses. Something simple like a
find
will fuck you over with S3.
Love mdadm, it’s simple and straightforward.