XFS online filesystem check and repair
lwn.net
lwn.net
I'd have real reservations about knowingly using it again these days because of bad experiences, though this bias is based on really old experiences which are quite possibly no longer relevant.
I ran XFS on our Linux distribution/package mirror. We ended up having some sort of error and the filesystem wouldn't mount, so I tried running the fsck. After around a day, it bombed out with out of memory. I scrounged around, took down another server or two to max out the memory on the mirror server and eventually was able to get it to complete the fsck in a couple more days.
For a while I ran XFS on my laptop. This was some Thinkpad that had fancy-pants graphics, and the graphics drivers made the system quite unstable It would oops every 2-4 hours of normal use. XFS had this bad habit at the time (long since fixed, IIRC) of reverting files to HOURS old data after the reboot.
A peer of this comment mentioned btrfs. Around the same time I played around with btrfs. For around a year I ran a couple of my company laptops on btrfs with zero problems. Then, after one set of updates, both of them completely corrupted their filesystems. I stopped using it, hoping that btrfs would fairly quickly stabilize, but have never ended up going back to it. I love the idea of btrfs, but am a bit gun-shy.
I used Reiser extensively for map tile file-systems, largely because their idea of a "small file" was 1-2 orders of magnitude smaller than most other filesystems. This particular use case was full world tiles, and a lot of them were solid blue (oceans, you know), I want to say 37 bytes. My current gig puts tiles on XFS and it works great for that.
ZFS is a filesystem that has never let me down. Performance can often be spotty, especially if you think you can use dedup, but I've had some pretty bad things happen to ZFS volumes and have never lost data on one of them. It's really the only place I'll put archive data. I've run a lot of backup servers using ZFS, even back in the days of zfsfuse, and it's just been a workhorse. Even in early days when zfsfuse had some pretty obscure bugs and would choke about every month or two. Kudos to the zfs+fuse developers, they quickly tracked down every issue I ran into once I had a stress test use case going.
EXT has been a real workhorse too. I've lost data, rarely, but considering it's 99% of the filesystems I've run over the decades... Pretty good track record.
Veritas vx on HP-UX was like a space age filesystem back in the mid '90s, but also was kind of painful. My memories of it are just vague and bad.
I'd love to have HAMMER under Linux. :-)
Ok, discuss!
In many ways ZFS feels like the last hurrah of “traditional” file systems. The fact that ZFS finds itself without genuine alternatives isn’t because it’s just that good, it’s because industry players have moved on. If all you need is a monster file server or a local data archive, sure, use ZFS.
thats all you want from a fs, isn't it?
everything else is temporary data, living in memory.
On sad note qgroup qouta (it is fancy qouta - you can limit disk usage per subvolume basis https://btrfs.readthedocs.io/en/latest/btrfs-quota.html#perf... sounds much more positive than real impact :/ although didn't test with latest kernel ) starts struggle when there are load using 5 users (using docker containers with jupyterhub) and when load goes near 10 docker instances, new docker container creation literally crawls - start taking minutes
What a time. People would recommend ReiserFS back then. Big fan club.
For me, /etc/fstab was zeroed a couple of times, which lead to a bricked system (before 2000).
Fortunately, this bug was eventually solved and I have been using XFS for more than twenty years on a great variety of hardware, with excellent results and no data loss whatsoever.
XFS was created to manage big multimedia files, such as uncut/unedited RAW photos and videos.
There are fault-tolerant ways of coding operating systems and filesystem but it does not seem like those ways are practiced by Linux.
On NVME? Not really.
GRIO (Guaranteed Rate IO) XFS support was added to IRIX due to a request by a US Gov't agency. This agency was doing electronic signal collection with IRIX on SGI HW, and wanted to a way to guarantee that whatever their sensors captured would be written to the storage media, no matter what else is going on at the OS level.
ext4 gives me questionable performance with writing a huge amount (like 50k+) of small files, but other than that its great.
the NFS client will issue the unlink() call, not hear anything back from the NFS server as it's blocking doing the unlink(), and then eventually time out and retry the operation. at which point the server immediately will return ENOENT as the is no visible file at that path.
the annoying thing is that this interaction leaks through into userland programs, and then to users, who see "no such file or directory" errors which cause great confusion. I've seen this multiple times in HPC environments.
xfs is for when you have a big file system, maybe some some unusual loads but you want stability.
zfs is for when you want RAID and snapshots but are prepared to have it blow up every now and then.
First time I've heard that about ZFS, is that really a thing? It was made by Sun to be the ultimate industrial strength FS.
Me, I'm waiting for bcachefs - Linux native and carefully designed.
I've been hearing about this bcachefs for ages
Apologies to the ZFS people
> "professional Sysadmin"
If you need a robust, straightforward and fast filesystem - use xfs. If you need more advanced features - use btrfs or zfs. bcachefs should be an option for that at some point and unlike others it also aims to compete with xfs in speed.
When you want both Y2038 support and compatibility with slightly older kernels. AFAIK, the Y2038 support was added to XFS only very recently, while ext4 had it for much longer.
xfs integrates well into linux and has had excellent performance. zfs is rather odd as a filesystem and circumvents several common linux mechanisms, making it rather awkward. You need to special case everything for zfs in monitoring (sizes are hierarchical overlapping instead of exclusive), ACL support and admin tooling (volume management and partitioning is completely different for zfs, trim is weird, booting is weird). zfs performance is also lacking due to it being very odd and special-casey in the linux kernel, as well as RAM-hungry.