News for hackers. Stuff that matters.
Re:ZFS 2.3.0 released with ZFS raidz expansion by poisonborz on Tuesday January 14, 2025 @05:17AM (#42695673)
I just don't get it how the Windows world - by far the largest PC platform per userbase - still doesn't have any answer to ZFS. Microsoft had WinFS and then ReFS but it's on the backburner and while there is active development (Win11 ships some bits time to time) release is nowhere in sight. There are some lone warriors trying the giant task of creating a ZFS compatibility layer with some projects, but they are far from being mature/usable.

How come that Windows still uses a 32 year old file system?

Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Tuesday January 14, 2025 @07:55AM (#42696612)
> How come that Windows still uses a 32 year old file system?

Simple. Because most of the burden is taken by the (enterprise) storage hardware hosting the FS. Snapshots, block level deduplication, object storage technologies, RAID/Resiliency, size changes, you name it.

Modern storage appliances are black magic, and you don't need much more features from NTFS. You either transparently access via NAS/SAN or store your NTFS volumes on capable disk boxes.

On the Linux world, at the higher end, there's Lustre and GPFS. ZFS is mostly for resilient, but not performance critical needs.

Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @08:24AM (#42696858)
>ZFS is mostly for resilient, but not performance critical needs.

Los Alamos disagrees ;)

https://www.lanl.gov/media/news/0321-computational-storage

But yes, in general you are right, Cern for example uses Ceph:

https://indico.cern.ch/event/1457076/attachments/2934445/515...

Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Tuesday January 14, 2025 @08:33AM (#42696959)
I think what LLNL did predates GPUDirect and other new technologies came after 2022, but that's a good start.

CERN's Ceph also for their "General IT" needs. Their clusters are independent from that. Also CERN's most processing is distributed across Europe. We are part of that network.

Many, if not all of the HPC centers we talk with uses Lustre as their "immediate" storage. Also, there's Weka now, a closed source storage system supporting insane speeds and tons of protocols at the same time. Mostly used for and by GPU clusters around the world. You connect terabits to that cluster casually. It's all flash, and flat out fast.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @02:49PM (#42702821)
Did you confuse LANL for LLNL?
Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Tuesday January 14, 2025 @03:21PM (#42703280)
It's just a typo, not a confusion, and I'm well beyond the edit window.
Re:ZFS 2.3.0 released with ZFS raidz expansion by poisonborz on Tuesday January 14, 2025 @09:06AM (#42697341)
So private consumers should just pay cloud subscription if they want safer/modern data storage for their PC? (without NAS)
Re:ZFS 2.3.0 released with ZFS raidz expansion by shrubble on Tuesday January 14, 2025 @09:40AM (#42697737)
No, private consumers have a choice, since Linux and FreeBSD runs well on their hardware. Microsoft is too busy shoveling their crappy AI and convincing OEMs to put a second Windows button (the CoPilot button) on their keyboards.
Re:ZFS 2.3.0 released with ZFS raidz expansion by bluGill on Tuesday January 14, 2025 @09:56AM (#42697944)
Probably. There are levels of backups, and a cloud subscription SHOULD give you copies in geographical separate locations with someone to help you (who probably isn't into computers and doesn't want to learn the complex details) restore when (NOT IF!) needed.

I have all my backups on a NAS in the next room. This covers the vast majority of use cases for backups, but if my house burns down everything is lost. I know I'm taking that risk, but really I should have better. Just paying someone to do it all in the cloud should be better for me as well and I keep thinking I should do this.

Of course paying someone assumes they will do their job. There are always incompetent companies out there to take your money.

Re:ZFS 2.3.0 released with ZFS raidz expansion by pdimitar on Tuesday January 14, 2025 @10:24AM (#42698325)
My setup is similar to yours, but I also distribute my most important data in compressed (<5GB) encrypted backups to several free-tier cloud storage accounts. I could restore it by copying one key and running one script.

I lost faith in most paid operators. Whoops, this thing that absolutely can happen to home users and we're supposed to protect them from now actually happened to us and we were not prepared. We're so sorry!

Nah. Give me access to 5-15 cloud storage accounts, I'll handle it myself. Have done so for years.

Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @09:21AM (#42697516)
If you need Windows, you can use something like restic (checksums and compression) and external drives (more than one, stored in more than one place) to make a backup. Plus "maybe" but not needed ReFS (on your non-Windows partition), which is included in the Workstation/Enterprise editions of Windows.

I trust my own backups much more than any subscription, not essentially from a technical point of view, but from an access point of view (e.g. losing access to your Google account).

EDIT: You have to enable check-summing and/or compression for data on ReFS manually

https://learn.microsoft.com/en-us/windows-server/storage/ref...

Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Tuesday January 14, 2025 @09:26AM (#42697580)
> I trust my own backups much more than any subscription, not from a technical standpoint but from an access one (for example, losing access to your google account).

I personally use cloud storage extensively, but I keep a local version with periodic rclone/borg. It allows me access from everywhere and sleep well at night.

Re:ZFS 2.3.0 released with ZFS raidz expansion by qwertox on Tuesday January 14, 2025 @09:28AM (#42697601)
NTFS has Volume Shadow Copy, which is "good enough" for private users if they want to create image backups while their system is running.
Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @09:37AM (#42697694)
First of all, that's not a backup, that's a snapshot, and NO, that's not "good enough", tell your grandma that all her digitised pictures are gone because her hard drive exploded, or that one most important jpeg is now unwatchable because of bitrot.

Just because someone is a private user doesn't mean that the data is less important, often it's quite the opposite, for example a family album vs your cloned git repository.

Re:ZFS 2.3.0 released with ZFS raidz expansion by tjoff on Tuesday January 14, 2025 @10:46AM (#42698644)
... VSS is used to create backups. Re-read parent.
Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @11:28AM (#42699443)
Not good enough, you can make 10000 backups of bitrotten data, if you don't have check-sums on your block (zfs) or files (restic) nothing can help you. That's the same integrity as to copy stuff on your thump-drive.
Re:ZFS 2.3.0 released with ZFS raidz expansion by qwertox on Wednesday January 15, 2025 @06:53AM (#42709894)
The same applies to those filesystems on Linux which don't check for bit-rottenness, which will be the majority of installs.

Your average grandma would use ext4 when using Linux. Android phones don't do that as well and I don't know about iOS, but apparently APFS only does metadata checksumming.

Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Wednesday January 15, 2025 @07:11AM (#42710011)
>> if you don't have check-sums on your block (zfs) or files (restic)

....

Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Tuesday January 14, 2025 @09:13AM (#42697409)
I think Microsoft has discontinued Windows 7 backup to force people to buy OneDrive subscriptions. They also forcefully enabled the feature when they first introduced it.

So, I think that your answer for this question is "unfortunately, yes".

Not that I support the situation.

Re:ZFS 2.3.0 released with ZFS raidz expansion by NoMoreNicksLeft on Tuesday January 14, 2025 @03:50PM (#42703652)
Having a NAS is life-changing. Doesn't have to be some large 20-bay monstrosity, just something that will give you redundancy and has an ethernet jack.
Re:ZFS 2.3.0 released with ZFS raidz expansion by j16sdiz on Tuesday January 14, 2025 @09:17PM (#42706558)
No, if they need ZFS-like function, they just pay for NAS.

ZFS is not in the same market with AWS S3.

Re:ZFS 2.3.0 released with ZFS raidz expansion by GuB-42 on Tuesday January 14, 2025 @05:43AM (#42695807)
To be honest, the situation with Linux is barely better.

ZFS has license issues with Linux, preventing full integration, and Btrfs is 15 years in the making and still doesn't match ZFS in features and stability.

Most Linux distros still use ext4 by default, which is 19 years old, but ext4 is little more than a series of extensions on top of ext2, which is the same age as NTFS.

In all fairness, there are few OS components that are as critical as the filesystem, and many wouldn't touch filesystems that have less than a decade of proven track record in production.

Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Tuesday January 14, 2025 @07:57AM (#42696627)
> Most Linux distros still use ext4 by default, which is 19 years old, but ext4 is little more than a series of extensions on top of ext2, which is the same age as NTFS.

However, ext4 and XFS are much more simpler and performant than BTRFS & ZFS as root drives on personal systems and small servers.

I personally won't use either on a single disk system as root FS, regardless of how fast my storage subsystem is.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @03:11PM (#42703140)
ZFS will outscale ext4 in parallel workloads with ease. XFS will often scale better than ext4, but if you use L2ARC and SLOG devices, it is no contest. On top of that, you can use compression for an additional boost.

You might also find ZFS outperforms both of them in read workloads on single disks where ARC minimizes cold cache effects. When I began using ZFS for my rootfs, I noticed my desktop environment became more responsive and I attributed that to ARC.

Re:ZFS 2.3.0 released with ZFS raidz expansion by jeltz on Tuesday January 14, 2025 @03:52PM (#42703686)
Not on most database workloads. There zfs does not scale very well.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @04:47PM (#42704359)
Percona and many others who benchmarked this properly would disagree with you. Percona found that ext4 and ZFS performed similarly when given identical hardware (with proper tuning of ZFS):

https://www.percona.com/blog/mysql-zfs-performance-update/

In this older comparison where they did not initially tune ZFS properly for the database, they found XFS to perform better, only for ZFS to outperform it when tuning was done and a L2ARC was added:

https://www.percona.com/blog/about-zfs-performance/

This is roughly what others find when they take the time to do proper tuning and benchmarks. ZFS outscales both ext4 and XFS, since it is a multiple block device filesystem that supports tiered storage while ext4 and XFS are single block device filesystems (with the exception of supporting journals on external drives). They need other things to provide them with scaling to multiple block devices and there is no block device level substitute for supporting tiered storage at the filesystem level.

That said, ZFS has a killer feature that ext4 and XFS do not have, which is low cost replication. You can snapshot and send/recv without affecting system performance very much, so even in situations where ZFS is not at the top in every benchmark such as being on equal hardware, it still wins, since the performance penalty of database backups on ext4 and XFS is huge.

Re:ZFS 2.3.0 released with ZFS raidz expansion by LtdJorge on Tuesday January 14, 2025 @10:01PM (#42706833)
There is no way that a CoW filesystem with parity calculations or striping is gonna beat XFS on multiple disks, specially on high speed NVMe.

The article provides great insight into optimizing ZFS, but using an EBS volume as store (with pretty poor IOPS) and then giving the NVMe as metadata cache only for ZFS feels like cheating. At the very least, metadata for XFS could have been offloaded to the NVMe too. I bet if we store set XFS with metadata and log to a RAMFS it will beat ZFS :)

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @11:58PM (#42707474)
L2ARC is a cache. Cache is actually part of its full name, which is Level 2 Adaptive Replacement Cache. It is intended to use a fast storage device as an extension of the in memory Adaptative Replacement Cache. L2ARC functions as a victim cache. While L2ARC does cache metadata, it caches data too. You can disable the data caching, but performance typically suffers when you do. While you can put ZFS metadata on a special device if you want, that was not the configuration that Percona evaluated.

If you do proper testing, you will find ZFS does beat XFS if you scale it. Its L2ARC devices are able to improve IOPS of storage cheaply, which XFS cannot do. Using a feature ZFS has to improve performance at price point that XFS cannot match is competition, not cheating.

ZFS cleverly uses CoW in a way that eliminates the need for a journal, which is overhead for XFS. CoW also enables ZFS' best advantage over XFS, which is that database backups on ZFS via snapshots and (incremental) send/recv affect system performance minimally where backups on XFS are extremely disruptive to performance. Percona had high praise for database backups on ZFS:

https://www.percona.com/blog/zfs-for-mongodb-backups/

Finally, there were no parity calculations in the configurations that Percona tested. Did you post a preformed opinion without taking the time to actually understand the configurations used in Percona's benchmarks?

Re:ZFS 2.3.0 released with ZFS raidz expansion by LtdJorge on Friday January 17, 2025 @12:55PM (#42741176)
No I didn't. I separated my thoughts in two paragraphs, the first doesn't have anything to do with the articles, it was just about the general use case for ZFS, which is using it with redundant hardware. I also conflated the L2ARC with metadata device, yes. The point about the second paragraph was that the using a much faster device just on one of the comparisons doesn't seem fair to me. Of course, if you had a 1TB ZFS HDD and 1TB of RAM as ARC the "HDD" would be the fastest on earth, lol.

About the inherent advantages of ZFS like send/recv, I have nothing to say. I know how good they are. It's one reason I use ZFS.

> If you do proper testing, you will find ZFS does beat XFS if you scale it. Its L2ARC devices are able to improve IOPS of storage cheaply, which XFS cannot do.

What does proper testing here mean? And what does "if you scale it" mean? Genuinely. From my basic testing and what I've got from online benchmarks, ZFS tends to be a bit slower than XFS in general. Of course, my testing is not thorough because there are many things to tune and documentation is scattered around and sometimes conflicting. What would you say is a configuration where ZFS will beat XFS on flash? I have 4x Intel U.2 drives with 2x P5800X empty as can be, I could test on them right now. I wanna make clear, that I'm not saying it's 100% impossible ZFS beats XFS, just that I find it very unlikely.

Edit: P4800x, actually. The flash disk are D5-P5530.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Friday January 17, 2025 @03:12PM (#42742763)
> No I didn't. I separated my thoughts in two paragraphs, the first doesn't have anything to do with the articles, it was just about the general use case for ZFS, which is using it with redundant hardware. I also conflated the L2ARC with metadata device, yes.

That makes sense.

> The point about the second paragraph was that the using a much faster device just on one of the comparisons doesn't seem fair to me. Of course, if you had a 1TB ZFS HDD and 1TB of RAM as ARC the "HDD" would be the fastest on earth, lol.

it is a balancing act. It is a feature ZFS has that XFS does not, but it is ridiculous to use a device that can fit the entire database as L2ARC, since in that case, you can just use that device directly and keeping it as a cache for ZFS does not make for a fair or realistic comparison. Fast devices that can be used with tiered storage are generally too small to be used as main storage, since if you could use them as main storage, you would.

With the caveat that the higher tier should be too small to be used as main storage, you can get a huge boost from being able to use it as cache in tiered storage, and that is why ZFS has L2ARC.

> What does proper testing here mean? And what does "if you scale it" mean?

Let me preface my answer by saying that doing good benchmarks is often hard, so I can't give a simple answer here. However, I can give a long answer.

First, small databases that can fit entirely in RAM cache (be it the database's own userland cache or a kernel cache) are pointless to benchmark. In general, anything can run that well (since it is really running out of RAM as you pointed out). The database needs to be significantly larger than RAM.

Second, when it comes to using tiered storage, the purpose of doing tiering is that the faster tier is either too small or too expensive to use for the entire database. If the database size is small enough that it is inexpensive to use the higher tier for general storage, then a test where ZFS gets the higher tiered storage for use as cache is neither fair nor realistic. Thus, we need to scale the database to a larger size such that the higher tier being only usable as cache is a realistic scenario. This is what I had in mind when I said "if you scale it".

Third, we need to test workloads that are representative of real things. This part is hard and the last time I did it was 2015 (I had previously said 2016, but upon recollection, I realized it was likely 2015). When I did, I used a proprietary workload simulator that was provided by my job. It might have been from SPEC, but I am not sure.

Fourth, we need to tune things properly. I wrote the following documentation years ago describing correct tuning for ZFS:

https://openzfs.github.io/openzfs-docs/Performance%20and%20T...

https://openzfs.github.io/openzfs-docs/Performance%20and%20T...

At the time I wrote that, I omitted that tuning the I/O elevator can also improve performance, since there is no one size fits all advice for how to do it. Here is some documentation for that which someone else wrote:

https://openzfs.github.io/openzfs-docs/Performance%20and%20T...

If you are using SSDs, you could probably just get away with setting each of the maximum asynchronous queue depth limits to something like 64 (or even 256) and benchmark that.

> From my basic testing and what I've got from online benchmarks, ZFS tends to be a bit slower than XFS in general. Of course, my testing is not thorough because there are many things to tune and documentation is scattered around and sometimes conflicting.

In 2015 when I did database benchmarks, ZFS and XFS were given equal hardware. The hardware was a fairly beefy EC2 instance with 4x high end SSDs. MD RAID 0 was used under XFS while ZFS was given the devices in what was effectively a RAID 0 configuration. With proper tuning (what I described earlier in this reply), I was able to achieve 85% of XFS performance in that configuration. This was considered a win due to the previously stated reason of performance under database backups. ZFS has since had performance improvements done, which would probably narrow the gap. It now uses B-Trees internally to do operations faster and also now has redundant_metadata=most, which was added for database workloads.

Anyway, on equal hardware in a general performance comparison, I would expect ZFS to lose to XFS, but not by much. ZFS' ability to use tiered storage and do low overhead backups is what would put it ahead.

> What would you say is a configuration where ZFS will beat XFS on flash? I have 4x Intel U.2 drives with 2x P5800X empty as can be, I could test on them right now. I wanna make clear, that I'm not saying it's 100% impossible ZFS beats XFS, just that I find it very unlikely.

You need to have a database whose size is so big that optane storage is not practical to use for main storage. Then you need to setup ZFS with Optane storage as L2ARC. You can give regular flash drives to ZFS and XFS on MD RAID in a comparable configuration (RAID 0 to make life easier, although in practice you probably want to use RAID 10). You will want to follow best practices for tuning the database and filesystems (although from what I know, XFS has remarkably few knobs). You could give XFS the optane devices to use for metadata and its journal for fairness, although I do not expect it to help XFS enough. In this situation, ZFS should win on performance.

You would need to pick a database for this. One option would be PostgreSQL, which is probably the main open source database that people would scale to such levels. The pgbench tool likely could be used for benchmarking.

https://www.postgresql.org/docs/current/pgbench.html

You would need to pick a scaling factor that will make the database big enough and do a workload simulating a large number of clients (what is large is open to interpretation).

Finally, I probably should add that the default script used by pgbench probably is not very realistic for a database workload. A real database will have a good proportion of reads from select queries (at least 50%) while the script that is being used does a write mostly workload. It probably should be changed. How is probably an exercise best left for a reader. That is not the answer you probably want to hear, but I did say earlier in this reply that doing proper benchmarks is hard, and I do not know offhand how to adjust the script to be more representative of real workloads. That said, there is definite utility in benchmarking write mostly workloads too, although that utility is probably more applicable for the database developers than as a way to determine which of two filesystems is better for running the database.

Re:ZFS 2.3.0 released with ZFS raidz expansion by LtdJorge on Sunday January 19, 2025 @03:53PM (#42761690)
Thanks for the long post. Sorry for the nerd snipe, it might or might not have been intentional :D

I agree with what you said. I'll test what you provided, first with fio and then with Postgres (was also my choice beforehand) with a TPC-E benchmark. If I remember, I'll let you know. Postgres on ZFS is specially difficult to be sure about just from theory around the internet, there's too much contradiction or outdated info.

Re:ZFS 2.3.0 released with ZFS raidz expansion by menaerus on Wednesday January 15, 2025 @03:32AM (#42708694)
Refuting the "it doesn't scale" argument with a data from a blog that showcases a single workload (TPC-C) with 200G+10tables dataset (small to medium) at 2vCPU (wtf) machine with 16 connections (no thread pool so overprovisioned) is not quite a definition of a scale at all. It's a lost experiment if anything.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Wednesday January 15, 2025 @12:27PM (#42713999)
The guy did not have any data to justify his claims of not scaling. Percona’s data says otherwise. If you don’t like how they got their data, then I advise you to do your own benchmarks.
Re:ZFS 2.3.0 released with ZFS raidz expansion by jeltz on Wednesday January 15, 2025 @03:07PM (#42716213)
It is based on data from internal benchmarks. Zfs is fine for database workloads but scales worse than Xfs based on my personal experience. It is unpublished benchmarks and I do not have access to any farm to win a discussion on the internet.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Wednesday January 15, 2025 @03:20PM (#42716367)
I did internal benchmarks at ClusterHQ in 2016. Those benchmarks showed that a tuned ZFS FS of the time had 85% the performance of XFS on equal hardware (a beefy EC2 instance with 4 SSDs, with XFS using MD RAID 0), but it was considered a win for ZFS because of the performance difference when running backups. L2ARC was not considered since the underlying storage was already SSD based and there was nothing faster, but in practice, you often can use it with a faster tier of storage and that puts ZFS ahead even without considering the substantial performance dips of backups.
Re:ZFS 2.3.0 released with ZFS raidz expansion by menaerus on Wednesday January 15, 2025 @01:31PM (#42715017)
I don't have anything to like or not to like. I'm not a user of ZFS filesystem. I'm just dismissing your invalid argumentation. Percona's data is nothing about the scale for reasons I already mentioned.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Wednesday January 15, 2025 @03:17PM (#42716331)
The argument he made was invalid without data to back it up. I at least cited something. The remarks on the performance when backups are made and the benefits of L2ARC were really the most important points, and are far from invalid.
Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Tuesday January 14, 2025 @03:19PM (#42703258)
No doubt. I want to reiterate my point. Citing myself:

> "I personally won't use either on a single disk system as root FS, regardless of how fast my storage subsystem is." (emphasis mine)

We are no strangers to filesystems. I personally benchmarked a ZFS7320 extensively, writing a characterization report, plus we have a ZFS7420 for a very long time, complete with separate log SSDs for read and write on every box.

However, ZFS is not saturation proof, plus is nowhere near a Lustre cluster performance wise, when scaled.

What kills ZFS and BTRFS on desktop systems are write performance, esp. on heavy workloads like system updates. If I need a desktop server (performance-wise), I'd configure it accordingly and use these, but I'd never use BTRFS or ZFS on a single root disk due to their overhead, to reiterate myself thrice.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @05:28PM (#42704817)
I am generally happy with the write performance of ZFS. I have not noticed slow system updates on ZFS (although I run Gentoo, so slow is relative here). In what ways is the write performance bad?

I am one of the OpenZFS contributors (although I am less active as late). If you bring some deficiency to my attention, there is a chance I might spend the time needed to improve upon it.

By the way, ZFS limits the outstanding IO queue depth to try to keep latencies down as a type of QoS, but you can tune it to allow larger IO queue depths, which should improve write performance. If your issue is related to that, it is an area that is known to be able to use improvement in certain situations:

https://openzfs.github.io/openzfs-docs/Performance%20and%20T...

https://openzfs.github.io/openzfs-docs/Performance%20and%20T...

https://openzfs.github.io/openzfs-docs/Performance%20and%20T...

Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Wednesday January 15, 2025 @03:35AM (#42708705)
What I see with CoW filesystems is, when you force the FS to sync a lot (like apt does to keep immunity against power losses to a maximum), the write performance slouches visibly. This also means that when you're writing a lot of small files with a lot of processes and flood the FS with syncs, you get the same slouching, making everything slower in the process. This effect is better controlled in simpler filesystems, namely XFS and EXT4. This is why I keep backups elsewhere and keep my single disk rootfs on "simple" filesystems.

I'll be installing a 2 disk OpenZFS RAID1 volume on a SBC for high value files soon-ish, and I might be doing some tests on that when it's up. Honestly, I don't expect stellar performance since I'll be already putting it on constrained hardware, but let you know if I experience anything that doesn't feel right.

Thanks for the doc links, I'll be devouring them when my volume is up and running.

Where do you prefer your (bug and other) reports? GitHub? E-mail? IP over Avian Carriers?

Re:ZFS 2.3.0 released with ZFS raidz expansion by gf000 on Wednesday January 15, 2025 @04:18AM (#42708966)
Hi! I am quite a beginner when it comes to file systems. Would this sync effect not be helped by direct IO in ZFS's case?

Also, given that you seem quite knowledgeable of the topic, what is your go-to backup solution?

I initially thought about storing `zfs send` files into backblaze (as backup at a different location), but without recv-ing these, I don't think the usual checksumming works properly. I can checksum the whole before and after updating, but I'm not convinced if this is the best solution.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Wednesday January 15, 2025 @01:00PM (#42714572)
No, it will not. It would be helped by APT switching to using a single sync/syncfs call after installing all files, which is the performant way to do what it wants on Linux:

https://www.man7.org/linux/man-pages/man2/sync.2.html

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Wednesday January 15, 2025 @06:12PM (#42718537)
After studying the DPKG developers’ reasoning for using fsync excessively, it turns out that there is no need for them to use fsync on a ZFS rootfs. When the rootfs is ZFS, you can use --force-unsafe-io to skip the fsync operations for a speed improvement and there will be no safety issues due to how ZFS is designed.

DPKG will write each file to a temporary location and then rename it to the final location. On ext4, without fsync, when a power loss event occurs, it is possible for the rename to the final location to be done, without any of the writes such that you have a zero length file. On ZFS, the rename being done after the writes means that the rename being done implies the writes were done due to the sequential nature of ZFS’ transaction group commit, so the file will never appear in the final location without the file contents following a power loss event, which is why ZFS does not need the fsync there.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Wednesday January 15, 2025 @12:59PM (#42714548)
Heavy synchronous IO from incredibly frequent fsync is a weak point. You can make it better using SLOG devices. I realize what I am about to say is not what you want to hear, but any application doing excessive fsync operations is probably doing things wrong. This is a view that you will find prevalent among all filesystem developers (i.e. the ext4 and XFS guys will have this view too). That is because all filesystems run significantly faster when fsync() is used sparingly.

In the case of APT, it should install all of the files and then call sync() once. This is equivalent of calling fsync on every file like APT currently does, but aggregates it for efficiency. The reason APT does not use sync() is probably a portability thing, because the standard does not require sync() to be blocking, but on Linux it is:

https://www.man7.org/linux/man-pages/man2/sync.2.html

From a power loss perspective, if power is lost when installing a package into the filesystem, you need to repair the package. Thus it does not really matter for power loss protection if you are using fsync() on all files or sync() once for all files, since what must happen next to fix it is the same. However, from a performance perspective, it really does matter.

That said, slow fsync performance generally is not an issue for desktop workloads because they rarely ever use fsync. APT is the main exception. You are the first to complain about APT performance in years as far as I know (there were fixes to improve APT performance 10 years ago, when its performance was truly horrendous).

You can file bug reports against ZFS here:

https://github.com/openzfs/zfs

I suggest filing a bug report against APT. There is no reason for it to be doing fsync calls on every file it installs in the filesystem. It is inefficient.

Re:ZFS 2.3.0 released with ZFS raidz expansion by bayindirh on Wednesday January 15, 2025 @02:06PM (#42715522)
Actually this was discussed recently [0]. While everybody knows it's not efficient, it's required to keep update process resilient against unwanted shutdowns (like power losses which corrupt the filesystem due to uncommitted work left on the filesystem).

> From a power loss perspective, if power is lost when installing a package into the filesystem, you need to repair the package.

Yes, but at least you have all the files, otherwise you can have 0 length files which can prevent you from booting your system. In this case, your system boots, all files are in place, but some packages are in semi-configured state. Believe me, apt can recover from many nasty corners without any ill effects as long as all files are there. I used to be a tech-lead for a Debian derivative back in the day, so I lived in the trenches in Debian for a long time, so I have seen things.

Again it's decided that the massive sync will stay in place for now, because the risks involved in the wild doesn't justify the performance difference yet. If you prefer to be reckless, there's "eatmydata" and "--force-unsafe-io" options baked in already.

Thanks for the links, I'll let you know if I find something. I just need to build the machine from the parts I have, then I'll be off to the races.

[0]: https://lists.debian.org/debian-devel/2024/12/msg00533.html [warning, long thread]

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Wednesday January 15, 2025 @04:39PM (#42717449)
This email mentions a bunch of operations that are done per file to ensure the file put in the final location always has the correct contents:

https://lists.debian.org/debian-devel/2024/12/msg00540.html

It claims that the fsync is needed to avoid the file appearing at the final location with a zero length after a power loss. This is not true on ZFS.

ZFS puts every filesystem operation into a transaction group that is committed atomically about every 5 seconds by default. On power loss, the transaction group either succeeds or never happens. The result is that even without using fsync, there will never be a zero length file at the final location because the rename being part of a successful transaction group commit implies that the earlier writes also were part of a successful transaction group commit.

The result is that you can use --force-unsafe-io with dpkg on ZFS, things will run faster and there should be no issues for power loss recovery as far as zero length files go.

The following email mentions that sync() had been used at one point but caused problems when flash drives were connected, so it was dropped:

https://lists.debian.org/debian-devel/2024/12/msg00597.html

The timeline is unclear, but I suspect this happened before Linux 2.6.29 introduced syncfs(), which would have addressed that. Unfortunately, it would have had problems for systems with things like a separate /usr mount, which requires the package manager to realize multiple syncfs calls are needed. It sounds like dpkg was calling sync() per file, which is even worse than calling fsync() per file, although it would have ensured that the directory entries for prior files were there following a power loss event.

The email also mentions that fsync is not called on directories. The result is that a power loss event (on any Linux filesystem, not just ZFS) could have the files missing from multiple packages marked as installed in the package database, which is said to use fsync to properly record installations. I find this situation weird since I would use sync() to avoid this, but if they are comfortable having systems have multiple “installed” packages missing files in the filesystem after a power loss, then there is no need to use sync().

Re:ZFS 2.3.0 released with ZFS raidz expansion by stephen_g on Tuesday January 14, 2025 @07:16AM (#42696329)
I’m interested to know what ‘full integration’ does look like, I use ZFS in Proxmox (Debian-based) and it’s really great and super solid, but I haven’t used ZFS in more vanilla Linux distros. Does Proxmox have things that regular Linux is missing out on, or are there shortcomings and things I just don’t realise about Proxmox?
Re:ZFS 2.3.0 released with ZFS raidz expansion by whataguy on Tuesday January 14, 2025 @07:23AM (#42696380)
The difference is that the ZFS kernel module is included by default with Proxmox, whereas with e.g. Debian, you would need to install it manually.
Re:ZFS 2.3.0 released with ZFS raidz expansion by pimeys on Tuesday January 14, 2025 @07:27AM (#42696422)
And you can't follow the latest kernel before the ZFS module supports it.
Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @07:55AM (#42696613)
Try CachyOS https://cachyos.org/ , you can even swap from an existing Arch installation:

https://wiki-dev.cachyos.org/sk/cachyos_repositories/how_to_...

Re:ZFS 2.3.0 released with ZFS raidz expansion by blibble on Tuesday January 14, 2025 @07:42AM (#42696523)
for Debian that's not exactly a problem
Re:ZFS 2.3.0 released with ZFS raidz expansion by oarsinsync on Tuesday January 14, 2025 @08:12AM (#42696740)
Unless you’re using Debian backports, and they backport a new kernel a week before the zfs backport package update happens.

Happened to me more than once. I ended up manually changing the kernel version limitations the second time just to get me back online, but I don’t recall if that ended up hurting me in the long run or not.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @05:13PM (#42704659)
There is a trick for this:

  * Step 1: Make friends with a ZFS developer.
  * Step 2: Guilt him into writing patches to add support as soon as a new kernel is released.
  * Step 3: Enjoy
Adding support for a new kernel release to ZFS is usually only a few hours of work. I have done it in the past more than a dozen times.
Re:ZFS 2.3.0 released with ZFS raidz expansion by gf000 on Wednesday January 15, 2025 @04:04AM (#42708891)
I use NixOS, and it simply updates to the latest kernel that supports zfs, with a single, declerative option.
Re:ZFS 2.3.0 released with ZFS raidz expansion by BodyCulture on Tuesday January 14, 2025 @03:58PM (#42703748)
You probably don’t realise how important encryption is.

It’s still not supported by Proxmox, yes, you can do it yourself somehow but you are alone then and miss features and people report problems with double or triple file system layers.

I do not understand how they have not encryption out of the box, this seems to be a problem.

Re:ZFS 2.3.0 released with ZFS raidz expansion by kevinmgranger on Tuesday January 14, 2025 @04:02PM (#42703806)
I'm not sure about proxmox, but ZFS on Linux does have encryption.
Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @07:29AM (#42696442)
>ZFS has license issues with Linux, preventing full integration

No one wants that, openZFS is much healthier without Linux and it's "Foundation/Politics".

Re:ZFS 2.3.0 released with ZFS raidz expansion by bhaney on Tuesday January 14, 2025 @08:17AM (#42696774)
> No one wants that

I want that

Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @08:33AM (#42696962)
Then let me tell you that FreeBSD or OmniOS is what you really want ;)
Re:ZFS 2.3.0 released with ZFS raidz expansion by bhaney on Tuesday January 14, 2025 @08:35AM (#42696998)
You're now 0 for 2 at telling me what I want
Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @08:40AM (#42697064)
The customer is not always right, however a good/modern Filesystem really would be something for Linux ;)
Re:ZFS 2.3.0 released with ZFS raidz expansion by ruthmarx on Tuesday January 14, 2025 @01:49PM (#42701903)
> The customer is not always right,

An uninvited door-to-door salesman is rarely, if ever right.

Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Wednesday January 15, 2025 @04:51AM (#42709152)
HN is more like a Tupperware party. ;)
Re:ZFS 2.3.0 released with ZFS raidz expansion by ruthmarx on Wednesday January 15, 2025 @11:28AM (#42713030)
Well then you ought to go somewhere more appreciative of your pitches ;)
Re:ZFS 2.3.0 released with ZFS raidz expansion by mogoh on Tuesday January 14, 2025 @06:53AM (#42696184)
ZFS might be better then any other FS on Linux (I don't judge that).

But you must admit that the situation on Linux is quite better then on Windows. Linux has so many FS in main branch. There is a lot of development. BTRFS had a rocky start, but it got better.

Re:ZFS 2.3.0 released with ZFS raidz expansion by lousken on Tuesday January 14, 2025 @05:45AM (#42695813)
as far as stability goes, btrfs is used by meta, synology and many others, so I wouldn't say it's not stable, but some features are lacking
Re:ZFS 2.3.0 released with ZFS raidz expansion by azalemeth on Tuesday January 14, 2025 @06:40AM (#42696095)
My understanding is that single-disk btrfs is good, but raid is decidedly dodgy; https://btrfs.readthedocs.io/en/latest/btrfs-man5.html#raid5... states that:

> The RAID56 feature provides striping and parity over several devices, same as the traditional RAID5/6.

> There are some implementation and design deficiencies that make it unreliable for some corner cases and *the feature should not be used in production, only for evaluation or testing*.

> The power failure safety for metadata with RAID56 is not 100%.

I have personally been bitten once (about 10 years ago) by btrfs just failing horribly on a single desktop drive. I've used either mdadm + ext4 (for /) or zfs (for large /data mounts) ever since. Zfs is fantastic and I genuinely don't understand why it's not used more widely.

Re:ZFS 2.3.0 released with ZFS raidz expansion by lousken on Tuesday January 14, 2025 @07:31AM (#42696451)
I was assuming OP wants to highlight filesystem use on a workstation/desktop, not for a file server/NAS. I had similar experience decade ago, but these days single drives just work, same with mirroring. For such setups btrfs should be stable. I've never seen a workstation with raid5/6 setup. Secondly, filesystems and volume managers are something else, even if e.g. btrfs and ZFS are essentialy both.

For a NAS setup I would still prefer ZFS with truenas scale (or proxmox if virtualization is needed), just because all these scenarios are supported as well. And as far as ZFS goes, encryption is still something I am not sure about especially since I want to use snapshots sending those as a backup to remote machine.

Re:ZFS 2.3.0 released with ZFS raidz expansion by hooli_gan on Tuesday January 14, 2025 @07:34AM (#42696474)
RAID5/6 is not needed with btrfs. One should use RAID1, which supports striping the same data onto multiple drives in a redundant way.
Re:ZFS 2.3.0 released with ZFS raidz expansion by johnmaguire on Tuesday January 14, 2025 @02:22PM (#42702395)
How can you achieve 2-disk fault tolerance using btrfs and RAID 1?
Re:ZFS 2.3.0 released with ZFS raidz expansion by Dalewyn on Tuesday January 14, 2025 @02:38PM (#42702631)
By using three drives.

RAID1 is just making literal copies, so each additional drive in a RAID1 is a self-sufficient copy. You want two drives of fault tolerance? Use three drives, so if you lose two copies you still have one left.

This is of course hideously inefficient as you scale larger, but that is not the question posed.

Re:ZFS 2.3.0 released with ZFS raidz expansion by johnmaguire on Tuesday January 14, 2025 @03:07PM (#42703094)
> This is of course hideously inefficient as you scale larger, but that is not the question posed.

It's not just inefficient, you literally can't scale larger. Mirroring is all that RAID 1 allows for. To scale, you'd have to switch to RAID 10, which doesn't allow two-disk fault tolerance (you can get lucky if they are in different stripes, but this isn't fault tolerance.)

But you're right - RAID 1 also scales terribly compared to RAID 6, even before introducing striping. Imagine you have 6 x 16 TB disks:

With RAID 6, usable space of 64 TB, two-drive fault tolerance.

With RAID 1, usable space of 16 TB, five-drive fault tolerance.

With RAID 10, usable space of 32 GB, one-drive fault tolerance.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @03:05PM (#42703063)
Btrfs did not support that until Linux 5.5 when it added RAID1c3. On its mirror devices instead of doing mirroring, it just stores 2 copies, no matter how many mirror members you have.
Re:ZFS 2.3.0 released with ZFS raidz expansion by crest on Tuesday January 14, 2025 @08:19AM (#42696800)
One problem with your setup is that ZFS by design can't use a traditional *nix filesystem buffer cache. Instead it has to use its own ARC (adaptive replacement cache) with end-to-end checksumming, transparent compression, and copy-on-write semantics. This can lead to annoying performance problems when the two types of file system caches contest for available memory. There is a back pressure mechanism, but it effectively pauses other writes while evicting dirty cache entries to release memory.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @09:06AM (#42697349)
Traditionally, you have the page cache on top of the FS and the buffer cache below the FS, with the two being unified such that double caching is avoided in traditional UNIX filesystems.

ZFS goes out of its way to avoid the buffer cache, although Linux does not give it the option to fully opt out of it since the block layer will buffer reads done by userland to disks underneath ZFS. That is why ZFS began to purge the buffer cache on every flush 11 years ago:

https://github.com/openzfs/zfs/commit/cecb7487fc8eea3508c3b6...

That is how it still works today:

https://github.com/openzfs/zfs/blob/fe44c5ae27993a8ff53f4cef...

If I recall correctly, the page cache is also still above ZFS when mmap() is used. There was talk about fixing it by having mmap() work out of ARC instead, but I don’t believe it was ever done, so there is technically double caching done there.

Re:ZFS 2.3.0 released with ZFS raidz expansion by taskforcegemini on Tuesday January 14, 2025 @01:42PM (#42701813)
what's the best way to deal with this then? disable filecache of linux? I've tried disabling/minimizing arc in the past to avoid the oom reaper, but the arc was stubborn and its RAM usage remained as is
Re:ZFS 2.3.0 released with ZFS raidz expansion by ssl-3 on Tuesday January 14, 2025 @02:43PM (#42702732)
I didn't have any trouble limiting zfs_arc_max to 3GB on one system where I felt that it was important. I ran it that way for a fair number of years and it always stayed close to that bound (if it was ever exceeded, it wasn't by a noteworthy amount at any time when I was looking).

At the time, I had it this way because I had fear of OOM events causing [at least] unexpected weirdness.

A few months ago I discovered weird issues with a fairly big, persistent L2ARC being ignored at boot due to insufficient ARC. So I stopped arbitrarily limiting zfs_arc_max and just let it do its default self-managed thing.

So far, no issues. For me. With my workload.

Are you having issues with this, or is it a theoretical problem?

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @02:57PM (#42702945)
These days, ZFS frees memory fast enough when Linux requests memory to be freed that you generally do not see OOM because of ZFS, but if you have a workload where it is not fast enough, you can limit the maximum arc size to try to help:

https://openzfs.github.io/openzfs-docs/Performance%20and%20T...

Re:ZFS 2.3.0 released with ZFS raidz expansion by brian_cunnie on Tuesday January 14, 2025 @09:18AM (#42697478)
> I have personally been bitten once (about 10 years ago) by btrfs just failing horribly on a single desktop drive.

Me, too. The drive was unrecoverable. I had to reinstall from scratch.

Re:ZFS 2.3.0 released with ZFS raidz expansion by worthless-trash on Tuesday January 14, 2025 @11:08AM (#42699001)
Licensing incompatibilities.
Re:ZFS 2.3.0 released with ZFS raidz expansion by _joel on Tuesday January 14, 2025 @07:58AM (#42696633)
I'm similar to some other people here, I guess once they've been bitten by data loss due to btrfs, it's difficult to advocate for it.
Re:ZFS 2.3.0 released with ZFS raidz expansion by lousken on Tuesday January 14, 2025 @08:03AM (#42696668)
I am assuming almost everybody at some point experienced data loss because they pulled out a flash drive too early. Is it safe to assume that we stopped using flash drives because of it?
Re:ZFS 2.3.0 released with ZFS raidz expansion by _joel on Tuesday January 14, 2025 @08:10AM (#42696716)
I'm not sure we have stopped using flash, judging by the pile of USB sticks on my desk :) In relation to the fs analogy if you used a flash drive that you know corrupted your data, you'd throw it away for one you know works.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @03:07PM (#42703091)
I once purchased a bunch of flash drives from Google’s online swag store and just unplugging them was often enough to put then in a state where they claimed to be 8MB devices and nothing I wrote to them was ever possible to read back in my limited tests. I stopped using those fast.
Re:ZFS 2.3.0 released with ZFS raidz expansion by fourfour3 on Tuesday January 14, 2025 @06:12AM (#42695972)
Do Synology actually use the multi-device options of btrfs, or are they using linux softraid + lvm underneath?

I know Synology Hybrid RAID is a clever use of LVM + MD raid, for example.

Re:ZFS 2.3.0 released with ZFS raidz expansion by phs2501 on Tuesday January 14, 2025 @03:46PM (#42703608)
I believe Synology runs btrfs on top of regular mdraid + lvm, possibly with patches to let btrfs checksum failures reach into the underlying layers to find the right data to recover.

Related blog post: https://daltondur.st/syno_btrfs_1/

Re:ZFS 2.3.0 released with ZFS raidz expansion by fourfour3 on Thursday January 16, 2025 @08:34PM (#42733099)
That was very interesting reading, thanks!
Re:ZFS 2.3.0 released with ZFS raidz expansion by jeltz on Tuesday January 14, 2025 @03:49PM (#42703644)
It is possible to corrupt the file system from user space as a normal user with Btrfs. The PostgreSQL devs found that when working on async IO. And as fer as I know that issue has not been fixed.

https://www.postgresql.org/message-id/CA%2BhUKGL-sZrfwcdme8j...

Re:ZFS 2.3.0 released with ZFS raidz expansion by curt15 on Tuesday January 14, 2025 @05:11PM (#42704635)
LMDB users also unearthed a btrfs data corruption bug last year: https://bugzilla.redhat.com/show_bug.cgi?id=2169947
Re:ZFS 2.3.0 released with ZFS raidz expansion by nabla9 on Tuesday January 14, 2025 @07:48AM (#42696564)
License is not a real issue. It must be just distributed in separate module. No big hurdle.
Re:ZFS 2.3.0 released with ZFS raidz expansion by crest on Tuesday January 14, 2025 @08:12AM (#42696734)
The main hurdle is hostile Linux kernel developers who aren't held accountable intentionally breaking ZFS for their own petty ideological reasons e.g. removing the in-kernel FPU/SIMD register save/restore API and replacing it with a "new" API to do the the same.

What's "new" about the "new" API? Its symbols are GPL2 only to deny it's use to non-GPL2 modules (like ZFS). Guess that's an easy way to make sure that BTRFS is faster than ZFS or set yourself up as the (to be) injured party.

Of course a reimplementation of the old API in terms of the new is an evil "GPL condom" violating the kernel license right? Why can't you see ZFS's CDDL2 license is the real problem here for being the wrong flavour of copyleft license. Way to claim the moral high ground you short-sighted, bigoted pricks. sigh

Re:ZFS 2.3.0 released with ZFS raidz expansion by Jnr on Tuesday January 14, 2025 @08:09AM (#42696710)
From my point of view it is a real usability issue.

zfs modules are not in the official repos. You either have to compile it on each machine or use unofficial repos, which is not exactly ideal and can break things if those repos are not up to date. And I guess it also needs some additional steps for secureboot setup on some distros?

I really want to try zfs because btrfs has some issues with RAID5 and RAID6 (it is not recommended so I don't use it) but I am not sure I want to risk the overall system stability, I would not want to end up in a situation where my machines don't boot and I have to fix it manually.

Re:ZFS 2.3.0 released with ZFS raidz expansion by chillfox on Tuesday January 14, 2025 @08:51AM (#42697192)
I have been using ZFS on Mint and Alpine Linux for years for all drives (including root) and have never had an issue. It's been fantastic and is super fast. My linux/zfs laptop loads games much faster than an identical machine running Windows.

I have never had data corruption issues with ZFS, but I have had both xfs and ext4 destroy entire discs.

Re:ZFS 2.3.0 released with ZFS raidz expansion by harshreality on Tuesday January 14, 2025 @10:00AM (#42698001)
Why are you considering raid5/6? Are you considering building a large storage array? If the data will fit comfortably (50-60% utilization) on one drive, all you need is raid1. Btrfs is fine for raid1 (raid1c3 for extra redundancy); it might have hidden bugs, but no filesystem is immune from those; zfs had a data loss bug (it was rare, but it happened) a year ago.

Why use zfs for a boot partition? Unless you're using every disk mounting point and nvme slot for a single large raid array, you can use a cheap 512GB nvme drive or old spare 2.5" ssd for the boot volume. Or two, in btrfs raid1 if you absolutely must... but do you even need redundancy or datasum (which can hurt performance) to protect OS files? Do you really care if static package files get corrupted? Those are easily reinstalled, and modern quality brand SSDs are quite reliable.

Re:ZFS 2.3.0 released with ZFS raidz expansion by Jnr on Wednesday January 15, 2025 @04:27AM (#42709013)
I am already using ext4 for /boot and / on nvme, and I am happy with that.

I want to use raid 5 for the large storage mount point that holds non-OS files. I want both space and redundancy. Currently I have several separate raid1 btrfs mounts since it is recommended against raid5.

Re:ZFS 2.3.0 released with ZFS raidz expansion by GuB-42 on Tuesday January 14, 2025 @08:56AM (#42697239)
It is a problem because most of the internal kernel APIs are GPL-only, which limit the abilities of the ZFS module. It is a common source of argument between the Linux guys and the ZFS on Linux guys.

The reason for this is not just to piss off non-GPL module developers. GPL-only internal APIs are subject to change without notice, even more so than the rest of the kernel. And because the licence may not allow the Linux kernel developers to make the necessary changes to the module when it happens, there is a good chance it breaks without warning.

And even with that, all internal APIs may change, it is just a bit less likely than for the GPL-only ones, and because ZFS on Linux is a separate module, there is no guarantee for it to not break with successive Linux versions, in fact, it is more like a guarantee that it will break.

Linux is proudly monolithic, and as constantly evolving a monolithic kernel, developers need to have control over the entire project. It is also community-driven. Combined, you need rules to have the community work together, or everything will break down, and that's what the GPL is for.

Re:ZFS 2.3.0 released with ZFS raidz expansion by nijave on Wednesday January 15, 2025 @12:10AM (#42707546)
I remember it being a pain in the ass on Fedora which tracks closely to mainline. Frequently a new kernel version would come out that zfs module didn't support so you'd have to downgrade and hold back the package until support was added.

Fedora packages zfs-fuse. I think some distros have arrangements to make sure kernels have zfs support. It may be less of a headache on those

In tree fs don't break that way

Re:ZFS 2.3.0 released with ZFS raidz expansion by xattt on Tuesday January 14, 2025 @05:54AM (#42695876)
ZFS on OS X was killed because of Oracle licensing drama. I don’t expect anything better on Windows either.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @06:09AM (#42695957)
There is a third party port here:

https://openzfsonosx.org/wiki/Main_Page

It was actually the NetApp lawsuit that caused problems for Apple’s adoption of ZFS. Apple wanted indemnification from Sun because of the lawsuit, Sun’s CEO did not sign the agreement before Oracle’s acquisition of Sun happened and Oracle had no interest in granting that, so the official Apple port was cancelled.

I heard this second hand years later from people who were insiders at Sun.

Re:ZFS 2.3.0 released with ZFS raidz expansion by xattt on Tuesday January 14, 2025 @07:59AM (#42696639)
That’s a shame re: NetApp/ZFS.

While third-party ports are great, they lack deep integration that first-party support would have brought (non-kludgy Time Machine which is technically fixed with APFS).

Re:ZFS 2.3.0 released with ZFS raidz expansion by throw0101a on Tuesday January 14, 2025 @07:35AM (#42696476)
> ZFS on OS X was killed because of Oracle licensing drama.

It was killed because Apple and Sun couldn't agree on a 'support contract'. From Jeff Bonwick, one of the co-creators ZFS:

>> Apple can currently just take the ZFS CDDL code and incorporate it (like they did with DTrace), but it may be that they wanted a "private license" from Sun (with appropriate technical support and indemnification), and the two entities couldn't come to mutually agreeable terms.

> I cannot disclose details, but that is the essence of it.

* https://archive.is/http://mail.opensolaris.org/pipermail/zfs...

Sun took DTrace, licensed via CDDL—just like ZFS—and put it into the kernel without issue. Of course a file system is much more central to an operating system, so they wanted much more of a CYA for that.

Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @07:09AM (#42696288)
>ZFS on OS X was killed because of Oracle licensing drama.

Naa it was Jobs ego not the license:

>>Only one person at Steve Jobs' company announces new products: Steve Jobs.

https://arstechnica.com/gadgets/2016/06/zfs-the-other-new-ap...

Re:ZFS 2.3.0 released with ZFS raidz expansion by bolognafairy on Tuesday January 14, 2025 @07:17AM (#42696338)
It’s a cute story that plays into the same old assertions about Steve Jobs, but the conclusion is mostly baseless. There are many other, more credible, less conspiratorial, possible explanations.
Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @07:45AM (#42696536)
Is that a test-run of Apples LLM?
Re:ZFS 2.3.0 released with ZFS raidz expansion by wkat4242 on Tuesday January 14, 2025 @09:58AM (#42697978)
It could have played into it though, but I agree the support contract that couldn't be worked out mentioned elsewhere in the thread is more likely.

But I think these things are usually a combination. When a business relationship sours, agreements are suddenly much harder to work out. The negotiators are still people and they have feelings that will affect their decisionmaking.

Re:ZFS 2.3.0 released with ZFS raidz expansion by cesarb on Tuesday January 14, 2025 @09:35AM (#42697677)
> Btrfs [...] still doesn't match ZFS in features [...]

Isn't the feature in question (array expansion) precisely one which btrfs already had for a long time? Does ZFS have the opposite feature (shrinking the array), which AFAIK btrfs also already had for a long time?

(And there's one feature which is important to many, "being in the upstream Linux kernel", that ZFS most likely will never have.)

Re:ZFS 2.3.0 released with ZFS raidz expansion by wkat4242 on Tuesday January 14, 2025 @09:53AM (#42697894)
ZFS also had expansion for a long time but it was offline expansion. I don't know if btrfs has also had online for a long time?

And shrinking no, that is a big missing feature in ZFS IMO. Understandable considering its heritage (large scale datacenters) but nevertheless an issue for home use.

But raidz is rock-solid. Btrfs' raid is not.

Re:ZFS 2.3.0 released with ZFS raidz expansion by unsnap_biceps on Tuesday January 14, 2025 @12:03PM (#42700092)
Raidz wasn't able to be expanded in place before this. You were able to add to a pool that included a raidz vdev, but that raidz vdev was immutable.
Re:ZFS 2.3.0 released with ZFS raidz expansion by wkat4242 on Tuesday January 14, 2025 @12:17PM (#42700328)
Oh ok, I've never done this, but I thought it was already there. Maybe this was the original ZFS from Sun? But maybe I just remember it incorrectly, sorry.

I've used it on multi-drive arrays but I never had the need for expansion.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @03:16PM (#42703224)
You could add top level raidz vdevs or replace the members of a raid-z vdev with larger disks to increase storage space back then. You still have those options now.
Re:ZFS 2.3.0 released with ZFS raidz expansion by _gea on Tuesday January 21, 2025 @06:53AM (#42779138)
You can online expand a ZFS pool for years by replacing disks with larger ones or by adding vdevs. On current OpenZFS you can even expand a Raid-Z by adding disks to it.

To shrink a pool, you can remove vdevs. On OpenZFS this is limited to mirror vdevs, native ZFS from Oracle can remove Raid-Z.

Kernel integration is not so important as long as use distributions that include ZFS support at distribution level mainly Proxmox and TrueNAS or Ubuntu.

Re:ZFS 2.3.0 released with ZFS raidz expansion by honestSysAdmin on Tuesday January 14, 2025 @05:32PM (#42704872)

  https://openzfs.github.io/openzfs-docs/Getting%20Started/index.html
ZFS runs on all major Linux distros, the source is compiled locally and there is no meaningful license problem. In datacenter and "enterprise" environments we compile ZFS "statically" with other kernel modules all the time.

For over six years now, there is an "experimental" option presented by the graphical Ubuntu installer to install the root filesystem on ZFS. Almost everyone I personally know (just my anecdote) chooses this "experimental" option. There has been an occasion here and there of ZFS snapshots taking up too much space, but other than this there have not been any problems.

I statically compile ZFS into a kernel that intentionally does not support loading modules on some of my personal laptops. My experience has been great, others' mileage may (certainly will) vary.

Re:ZFS 2.3.0 released with ZFS raidz expansion by LtdJorge on Tuesday January 14, 2025 @09:49PM (#42706758)
XFS is 22 and still the best in-tree FS there is :)
Re:ZFS 2.3.0 released with ZFS raidz expansion by nijave on Wednesday January 15, 2025 @12:06AM (#42707525)
You've been able to add and remove devices at will for a long time with btrfs (only recently supported in zfs with lots of caveats)

Btrfs also supports async/offline dedupe

You can also layer it on top of mdadm. Iirc zfs strongly discourages using anything but direct attached physical disks.

Re:ZFS 2.3.0 released with ZFS raidz expansion by mustache_kimono on Tuesday January 14, 2025 @05:26AM (#42695714)
> I just don't get it how the Windows world - by far the largest PC platform per userbase - still doesn't have any answer to ZFS.

The mainline Linux kernel doesn't either, and I think the answer is because it's hard and high risk with a return mostly measured in technical respect?

Re:ZFS 2.3.0 released with ZFS raidz expansion by ffsm8 on Tuesday January 14, 2025 @05:30AM (#42695738)
Technically speaking, bcachefs has been merged into the Linux Kernel - that makes your initial assertion wrong.

But considering it's had two drama events within 1 year of getting merged... I think we can safely confirm your conclusion of it being really hard

Re:ZFS 2.3.0 released with ZFS raidz expansion by mustache_kimono on Tuesday January 14, 2025 @05:36AM (#42695763)
> Technically speaking, bcachefs has been merged into the Linux Kernel - that makes your initial assertion wrong.

bcachefs doesn't implement its erasure coding/RAID yet? Doesn't implement send/receive. Doesn't implement scrub/fsck. See: https://bcachefs.org/Roadmap, https://bcachefs.org/Wishlist/

btrfs is still more of a legit competitor to ZFS these days and it isn't close to touching ZFS where it matters. If the perpetually half-finished bcachefs and btrfs are the "answer" to ZFS that seems like too little, too late to me.

Re:ZFS 2.3.0 released with ZFS raidz expansion by koverstreet on Tuesday January 14, 2025 @06:37AM (#42696073)
Erasure coding is almost done; all that's missing is some of the device evacuate and reconstruct paths, and people have been testing it and giving positive feedback (especially w.r.t. performance).

It most definitely does have fsck and has since the beginning, and it's a much more robust and dependable fsck than btrfs's. Scrub isn't quite done - I actually was going to have it ready for this upcoming merge window except for a nasty bout of salmonella :)

Send/recv is a long ways off, there might be some low level database improvements needed before that lands.

Short term (next year or two) priorities are finishing off online fsck, more scalability work (upcoming version for this merge window will do 50PB, but now we need to up the limit on number of drives), and quashing bugs.

Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @08:00AM (#42696647)
>except for a nasty bout of salmonella

Did the Linux Foundation send you some "free" sushi? ;)

However keep the good work rolling, super happy about a good, usable and modern Filesystem native to Linux.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @06:50AM (#42696158)
Hearing that it is missing some code for reconstruction makes it sound like it is missing something fairly important. The original purpose of parity RAID is to support reconstruction.
Re:ZFS 2.3.0 released with ZFS raidz expansion by koverstreet on Tuesday January 14, 2025 @10:57AM (#42698821)
We can do reconstruct reads, what's missing is the code to rewrite missing blocks in a stripe after a drive dies.

In general, due to the scope of the project, I've been prioritizing the functionality that's needed to validate the design and the parts that are needed for getting the relationships between different components correct.

e.g. recently I've been doing a bunch of work on backpointers scalability, and that plus scrub are leading to more back and forth iteration on minor interactions with erasure coding.

So: erasure coding is complete enough to know that it works and for people to torture test it, but yes you shouldn't be running it in production yet (and it's explicitly marked as such). What's remaining is trivial but slightly tedious stuff that's outside the critical path of the rest of the design.

Some of the code I've been writing for scrub is turning out to also be what we want for reconstruct, so maybe we'll get there sooner rather than later...

Re:ZFS 2.3.0 released with ZFS raidz expansion by pdimitar on Tuesday January 14, 2025 @08:21AM (#42696817)
FYI: the main reason I gave up on bcachefs is that I can't use devices with native 16K blocks.

Hope that's coming this year. I have a bunch of old HDDs and SSDs and I could very easily assemble a spare storage server with about 4TB capacity. Already tested bcachefs with most of the drives and it performed very well.

Also lack of ability to reconstruct seems like another worrying omission.

Re:ZFS 2.3.0 released with ZFS raidz expansion by koverstreet on Tuesday January 14, 2025 @10:41AM (#42698592)
I wasn't aware there were actual users needing bs > ps yet. Cool :)

That should be a completely trivial for bcachefs to support, it'll mostly just be a matter of finding or writing the tests.

Re:ZFS 2.3.0 released with ZFS raidz expansion by pdimitar on Tuesday January 14, 2025 @12:24PM (#42700465)
Seriously? But... NVMe drives! I stopped testing because I only have one spare NVMe and couldn't use it with bcachefs.

If you or others can get it done I'm absolutely starting to use bcachefs the month after. I do need fast storage servers in my home office.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @03:25PM (#42703339)
You can do this on ZFS today with `zpool create -o ashift=14 ...`.
Re:ZFS 2.3.0 released with ZFS raidz expansion by pdimitar on Tuesday January 14, 2025 @03:30PM (#42703408)
Yeah I know, thanks. But ZFS still mostly requires drives with the same sizes. My main NAS is like that but I can't expand it even though I want to, with drives of different sizes I have lying around, and I am not keen on spending for new HDDs right now. So I thought I'll make a secondary NAS with bcachefs and all the spare drives I have.

As for ZFS, I'll be buying some extra drives later this year and will make use of direct_io so I can use another NVMe spare for faster access.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @04:20PM (#42704033)
If you don’t care about redundancy, you could add all of them as top level vdevs and then ZFS will happily use all of the space on them until one fails. Performance should be great until there is a failure. Just have good backups.
Re:ZFS 2.3.0 released with ZFS raidz expansion by pdimitar on Friday January 17, 2025 @01:49PM (#42741882)
Yep, that's sadly my current setup. Most of my data are not super critical.

When I can spend some $3000 or so I'll absolutely buy several 20 TB drives and just nail the whole thing -- and will use ZFS -- but for now the several spare HDDs that I want dedicated to my data are set up exactly as you mentioned: root vdevs with no redundancy. ZFS is mostly handling it fine even though the drives have vastly different speeds (and one of them is actually an SSD).

So yep ZFS can still do quite a lot, it's just still not flexible enough in a manner that f.ex. bcachefs is. But the latter is still missing important features so I am sticking with ZFS for a while still.

Re:ZFS 2.3.0 released with ZFS raidz expansion by mafuy on Tuesday January 14, 2025 @08:21AM (#42696820)
Thank you, looking forward to it!
Re:ZFS 2.3.0 released with ZFS raidz expansion by kwanbix on Tuesday January 14, 2025 @05:30AM (#42695736)
Honest question. As an end user that uses Windows and Linux and does not uses ZFS, what I am missing?
Re:ZFS 2.3.0 released with ZFS raidz expansion by poisonborz on Tuesday January 14, 2025 @05:48AM (#42695830)
Way better data security, resilience against file rotting. This goes for both HDDs or SSDs. Copy-on-write, snapshots, end to end integrity. Also easier to extend the storage for safety/drive failure (and SSDs corrupt in a more sneaky way) with pools.
Re:ZFS 2.3.0 released with ZFS raidz expansion by wil421 on Tuesday January 14, 2025 @05:53AM (#42695861)
How many of us are using single disks on our laptops? I have a NAS and use all of the above but that doesn’t help people with single drive systems. Or help me understand why I would want it on my laptop.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @06:03AM (#42695912)
My thinkpad from college uses ZFS as its rootfs. The benefits are:

  * If the hard drive / SSD corrupted blocks, the corruption would be identified.
  * Ditto blocks allow for self healing. Usually, this only applies to metadata, but if you set copies=2, you can get this on data too. It is a poor man’s RAID.
  * ARC made the desktop environment very responsive since unlike the LRU cache, ARC resists cold cache effects from transient IO workloads.
  * Transparent compression allowed me to store more on the laptop than otherwise possible.
  * Snapshots and rollback allowed me to do risky experiments and undo them as if nothing happened.
  * Backups were easy via send/receive of snapshots.
  * If the battery dies while you are doing things, you can boot without any damage to the filesystem.
That said, I use a MacBook these days when I need to go outside. While I miss ZFS on it, I have not felt motivated to try to get a ZFS rootfs on it since the last I checked, Apple hardcoded the assumption that the rootfs is one of its own filesystems into the XNU kernel and other parts of the system.
Re:ZFS 2.3.0 released with ZFS raidz expansion by CoolCold on Tuesday January 14, 2025 @07:02AM (#42696231)
NTFS had compression since mot even sure when.

For other stuff, let that nerdy CorpIT handle your system.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @07:23AM (#42696373)
Its compression is slow and has a low compression ratio. ZFS has both zstd and lz4.
Re:ZFS 2.3.0 released with ZFS raidz expansion by adgjlsfhk1 on Tuesday January 14, 2025 @10:25AM (#42698339)
yes but NTFS is bad enough that no one needs to be told how bad it is.
Re:ZFS 2.3.0 released with ZFS raidz expansion by rabf on Tuesday January 14, 2025 @09:38AM (#42697717)
Not ever having to deal with partitions and instead using data sets each of which can have their own properties such as compression, size quota, encryption etc is another benefit. Also using zfsbootmenu instead of grub enables booting from different datasets or snapshots as well as mounting and fixing data sets all from the bootloader!
Re:ZFS 2.3.0 released with ZFS raidz expansion by artificialLimbs on Wednesday January 15, 2025 @01:04AM (#42707834)
Alright that's a bit mind blowing. TIL. Thank you. =)
Re:ZFS 2.3.0 released with ZFS raidz expansion by ekianjo on Tuesday January 14, 2025 @05:58AM (#42695886)
It provides encryption by default without having to deal with LUKS. And no need to ever do fsck again.
Re:ZFS 2.3.0 released with ZFS raidz expansion by Twey on Tuesday January 14, 2025 @07:29AM (#42696441)
Except that swap on OpenZFS still deadlocks 7 years later (https://github.com/openzfs/zfs/issues/7734) so you're still going to need LUKS for your swap anyway.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @08:22AM (#42696832)
Another option is to go without swap. I avoid swap on my machines unless I want hibernation support.
Re:ZFS 2.3.0 released with ZFS raidz expansion by yjftsjthsd-h on Tuesday January 14, 2025 @09:13AM (#42697412)
If the single drive in your laptop corrupts data, you won't know. ZFS can't fix corruption without extra copies, but it's still useful to catch the problem and notify the user.

Also snapshots are great regardless.

Re:ZFS 2.3.0 released with ZFS raidz expansion by Polizeiposaune on Tuesday January 14, 2025 @11:41AM (#42699691)
In some circumstances it can.

Every ZFS block pointer has room for 3 disk addresses; by default, the extras are used only for redundant metadata, but they can also be used for user data.

When you turn on ditto blocks for data (zfs set copies=2 rpool/foo), zfs can fix corruption even on single-drive systems at the cost of using double or triple the space. Note that (like compression), this only affects blocks written after the setting is in place, but (if you can pause writes to the filesystem) you can use zfs send|zfs recv to rewrite all blocks to ensure all blocks are redundant.

Re:ZFS 2.3.0 released with ZFS raidz expansion by jeroenhd on Tuesday January 14, 2025 @06:05AM (#42695929)
The data security and rot resilience only goes for systems with ECC memory. Correct data with a faulty checksum will be treated the same as incorrect data with a correct checksum.

Windows has its own extended filesystem through Storage Spaces, with many ZFS features added as lesser used Storage Spaces options, especially when combined with ReFS.

Re:ZFS 2.3.0 released with ZFS raidz expansion by abrookewood on Tuesday January 14, 2025 @06:29AM (#42696042)
Please stop repeating this, it is incorrect. ECC helps with any system, but it isn't necessary for ZFS checksums to work.
Re:ZFS 2.3.0 released with ZFS raidz expansion by _factor on Tuesday January 14, 2025 @07:07AM (#42696272)
This has nothing to do with ZFS as a filesystem. It has integrity verification on duplicated raid configurations. If the system memory flips a bit, it will get written to disk like all filesystems. If a bit flips on a disk, however, it can be detected and repaired. Without ECC, your source of truth can corrupt, but this true of any system.
Re:ZFS 2.3.0 released with ZFS raidz expansion by BSDobelix on Tuesday January 14, 2025 @07:04AM (#42696250)
On zfs there is the ARC (adaptive read cache), on non-zfs systems this "read cache" is called buffer, both reside in memory, so ECC is equally important for both systems.

Rot means changing bits without accessing those bits, and that's ~not possible with zfs, additionally you can enable check-summing IN the ARC (disabled by default), and with that you can say that ECC and "enterprise" quality hardware is even more important for non-ZFS systems.

>Correct data with a faulty checksum will be treated the same as incorrect data with a correct checksum.

There is no such thing as "correct" data, only a block with a correct checksum, if the checksum is not correct, the block is not ok.

Re:ZFS 2.3.0 released with ZFS raidz expansion by mrb on Tuesday January 14, 2025 @08:18AM (#42696792)
"data security and rot resilience only goes for systems with ECC memory."

No. Bad HDDs/SSDs or bad SATA cables/ports cause a lot more data corruption than bad RAM. And ZFS will correct these cases even without ECC memory. It's a myth that the data healing properties of ZFS are useless without ECC memory.

Re:ZFS 2.3.0 released with ZFS raidz expansion by elseless on Tuesday January 14, 2025 @12:55PM (#42701014)
Precisely this. And don’t forget about bugs in virtualization layers/drivers — ZFS can very often save your data in those cases, too.
Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @01:53PM (#42701970)
I once managed to use ZFS to detect a bit flip on a machine that did not have ECC RAM. All python programs started crashing in libpython.so on my old desktop one day. I thought it was a bug in ZFS, so I started debugging. I compared the in-memory buffer from ARC with the on-disk buffer for libpython.so and found a bit flip. At the time, accessing a snapshot through .zfs would duplicate the buffer in ARC, which made it really easy to compare the in-memory buffer against the on-disk buffer. I was in shock as I did not expect to ever see one in person. Since then, I always insist on my computers having ECC.
Re:ZFS 2.3.0 released with ZFS raidz expansion by e12e on Tuesday January 14, 2025 @06:07AM (#42695939)
Cross platform native encryption with sane fs for removable media.
Re:ZFS 2.3.0 released with ZFS raidz expansion by lazide on Tuesday January 14, 2025 @06:18AM (#42695995)
Who would that help?

MacOS also defaults to a non-portable FS for likely similar reasons, if one was being cynical.

Re:ZFS 2.3.0 released with ZFS raidz expansion by e12e on Wednesday January 15, 2025 @11:14AM (#42712761)
It would help users using USB sticks, external drives?

Couple it with encrypted zfs send/receive for cross platform secure backups.

Re:ZFS 2.3.0 released with ZFS raidz expansion by lazide on Wednesday January 15, 2025 @03:32PM (#42716517)
I meant, why would they prioritize cross platform when it doesn’t help them?
Re:ZFS 2.3.0 released with ZFS raidz expansion by madeofpalk on Tuesday January 14, 2025 @05:39AM (#42695783)
I'm missing file clones/copy-on-write.
Re:ZFS 2.3.0 released with ZFS raidz expansion by chillfox on Tuesday January 14, 2025 @09:06AM (#42697340)
Much faster launch of applications/files you use regularly. Ability to always rollback updates in seconds if they cause issues thanks to snapshots. Fast backups with snapshots + zfs send/receive to a remote machine. Compressed disks, this both let's you store more on a drive and makes accessing files faster. Easy encryption. ability to mirror 2 large usb disks so you never have your data corrupted or lose it from drive failures. Can move your data or entire os install to a new computer easily by using a live disk and just doing a send/receive to the new pc.

(I have never used dedup, but it's there if you want I guess)

Re:ZFS 2.3.0 released with ZFS raidz expansion by wkat4242 on Tuesday January 14, 2025 @10:01AM (#42698016)
Snapshots (Note: NTFS does have this in the way of Volume Shadow Copy but it's not as easily accessible as a feature to the end user as it is in ZFS). Copy on Write for reliability under crashes. Block checksumming for data protection (bitrot)
Re:ZFS 2.3.0 released with ZFS raidz expansion by johannes1234321 on Tuesday January 14, 2025 @10:27AM (#42698372)
For a while I ran Open Solaris with ZFS as root filesystem.

The key feature for me, which I miss, is the snapshotting integrated into the package manager.

ZFS allows snapshots more or less for free (due to copy on weite) including cron based snapshotting every 15 minutes. So if I did a mistake anywhere there was a way to recover.

And that integrated with the update manager and boot manager means that on an update a snapshot is created and during boot one can switch between states. Never had a broken update, but gave a good feeling.

On my home server I like the raid features and on Solaris it was nicely integrated with NFS etc so that one can easily create volumes and export them and set restrictions (max size etc.) on it.

Re:ZFS 2.3.0 released with ZFS raidz expansion by attentive on Tuesday January 14, 2025 @06:14PM (#42705246)
> is the snapshotting integrated into the package manager.

some linux distros have that by default with btrfs. And usually it's a package install away if you're already on btrfs.

Re:ZFS 2.3.0 released with ZFS raidz expansion by mustache_kimono on Monday January 20, 2025 @06:09AM (#42767433)
Re:ZFS 2.3.0 released with ZFS raidz expansion by hoherd on Tuesday January 14, 2025 @02:10PM (#42702209)
Online filesystem checking and repair.

Reading any file will tell you with 100% guarantee if it is corrupt or not.

Snapshots that you can `cd` into, so you can compare any prior version of your FS with the live version of your FS.

Block level compression.

Re:ZFS 2.3.0 released with ZFS raidz expansion by snvzz on Tuesday January 14, 2025 @09:36PM (#42706673)
>Reading any file will tell you with 100% guarantee if it is corrupt or not.

Only possible if it was not corrupted in RAM before it was written to disk.

Using ECC memory is important, irrespective of ZFS.

Re:ZFS 2.3.0 released with ZFS raidz expansion by ryao on Tuesday January 14, 2025 @05:51AM (#42695855)
What do you mean by a ZFS compatibility layer? There is a Windows port:

https://github.com/openzfsonwindows/openzfs

Note that it is a beta.

Re:ZFS 2.3.0 released with ZFS raidz expansion by MauritsVB on Tuesday January 14, 2025 @06:53AM (#42696183)
There is occasional talk of moving the Windows implementation of OpenZFS (https://github.com/openzfsonwindows/openzfs/releases) into an officially supported tier, though that will probably come after the MacOS version (https://github.com/openzfsonosx) is officially supported.
Re:ZFS 2.3.0 released with ZFS raidz expansion by badgersnake on Tuesday January 14, 2025 @05:31AM (#42695739)
NTFS is good enough for most people, who have a laptop with one SSD in it.
Re:ZFS 2.3.0 released with ZFS raidz expansion by wkat4242 on Tuesday January 14, 2025 @10:03AM (#42698036)
The benefits of ZFS don't need multiple drives to be useful. I'm running ZFS on root for years now and snapshots have saved my bacon several times. Also with block checksums you can at least detect bitrot. And COW is always useful.
Re:ZFS 2.3.0 released with ZFS raidz expansion by zamadatix on Tuesday January 14, 2025 @10:13AM (#42698170)
Windows manages volume snapshots on NTFS through VSS. I think ZFS snapshots are a bit "cleaner" of a design, and the tooling is a bit friendlier IMO, but the functionality to snapshot, rollback, and save your bacon is there regardless. Outside of the automatically enabled "System Restore" (which only uses VSS to snapshot specific system files during updates) I don't think anyone bothers to use it though.

CoW, advanced parity, and checksumming are the big ones NTFS lacks. CoW is just inherently not how NTFS is designed and checksumming isn't there. Anything else (encryption, compression, snapshots, ACLs, large scale, virtual devices, basic parity) is done through NTFS on Windows.

Re:ZFS 2.3.0 released with ZFS raidz expansion by wkat4242 on Tuesday January 14, 2025 @12:15PM (#42700295)
Yes I know that NTFS has snapshots, I mentioned that in another comment. I don't think NTFS is as relevant in comparison though. People who choose windows will have no interest in ZFS and vice versa (someone considering ZFS will not pick Windows).

And I don't think anyone bothers to use it due to the lack of user-facing tooling around it. If it would be as easy to create snapshots as it is on ZFS, more people would use it, I'm sure. But it's more of a system API than a user-facing geature.

VSS is also used by backup software to quiet the filesystem by the way.

But yeah the others are great features. My main point was though that almost all the features of ZFS are very beneficial even on a single drive. You don't need an array to take advantage of Snapshots, the crash reliability that CoW offers, and checksumming (though you will lack the repair option obviously)

Re:ZFS 2.3.0 released with ZFS raidz expansion by EvanAnderson on Tuesday January 14, 2025 @01:08PM (#42701270)
> I don't think NTFS is as relevant in comparison though. People who choose windows will have no interest in ZFS and vice versa (someone considering ZFS will not pick Windows).

ZFS on Windows, as a first-class supported-by-Microsoft option would be killer. It won't ever happen, but it would be great. (NTFS / VSS with filesystem/snapshot send/receive would "scratch" a lot of that "itch", too.)

> And I don't think anyone bothers to use it due to the lack of user-facing tooling around it. If it would be as easy to create snapshots as it is on ZFS, more people would use it, I'm sure. It's just so amazing to try something out, screw up my system and just revert :P But VSS is more of a system API than a user-facing geature.

VSS on NTFS is handy and useful but in my experience brittle compared to ZFS snapshots. Sometimes VSS just doesn't work. I've had repeated cases over the years where accessing a snapshot failed (with traditional unhelpful Microsoft error messages) until the host machine was rebooted. Losing VSS snapshots on a volume is much easier than trashing a ZFS volume.

VSS straddles the filesystem and application layers in a way that ZFS doesn't. I think that contributes to some of the jank (VSS writers becoming "unstable", for example). It also straddles hardware interfaces in a novel way that ZFS doesn't (using hardware snapshot functionality-- somewhat like using a GPU versus "software rendering"). I think that also opens up a lot of opportunity for jank, as compared to ZFS treating storage as dumb blocks.

Re:ZFS 2.3.0 released with ZFS raidz expansion by _gea on Tuesday January 21, 2025 @07:05AM (#42779223)
ZFS snapshots based on CoW are superiour to VSS previous states as they work only on a good will base on open files while ZFS snapshots represent simply the last state of the fiesystem prior a datablock write.

Luckily OpenZFS on Windows is near (currently release candidate 11) with some remaining bugs around volume mount. If you avoid encrypted volumes not a serious problem, good enough for evaluation. Development is fast with a new release candidate every few weeks to adress remaining problems.

The sister project OpenZFS on OSX has already reached release state last week.

Re:ZFS 2.3.0 released with ZFS raidz expansion by zamadatix on Tuesday January 14, 2025 @10:05AM (#42698064)
NTFS was able to be extended in various way over the years to the point what you could do with an NTFS drive 32 years ago will feel like talking about a completely different filesystem than what you can do with it on current Windows.

Honestly I really like ReFS, particularly in context of storage spaces, but I don't think it's relevant to Microsoft's consumer desktop OS where users don't have 6 drives they need to pool together. Don't get me wrong, I use ZFS because that's what I can get running on a Linux server and I'm not going to go run Windows Server just for the storage pooling... but ReFS + Storage Spaces wins my heart with the 256 MB slab approach. This means you can add+remove mixed sized drives and get the maximum space utilization for the parity settings of the pool. Here ZFS is still getting to online adds of same or larger drives 10 years later.

Re:ZFS 2.3.0 released with ZFS raidz expansion by nickdothutton on Tuesday January 14, 2025 @12:11PM (#42700240)
OS development pretty much stopped around 2000. ZFS is from 2001. I don't count a new way to organise my photos or integrate with a search engine as "OS" though.
Re:ZFS 2.3.0 released with ZFS raidz expansion by doctorpangloss on Tuesday January 14, 2025 @04:31PM (#42704174)
The same reason file deduplication is not enabled for client Windows: greed.

For example, there are numerous new file systems people use: OneDrive, Google Drive, iCloud Storage. Do you get it?

Re:ZFS 2.3.0 released with ZFS raidz expansion by _gea on Tuesday January 21, 2025 @06:16AM (#42778868)
OpenZFS on Windows has reached release candidate state (rc11) with some remaining bugs around volume mount (nothing serious, avoid encryption atm). Development is very fast (a new rc every few weeks to fix remaining problems)

Paired with Storage Spaces to pool disks of any type or size with location, redundancy or tiering defined per Space, Windows is now a premium storage platform.

With a Windows Server ex a cheap 2022/2025 Essentials you additionally can use SMB Direct/RDMA with a performance up to 10 Gbyte/s over lan and virtual harddisks .vhdx as a zero config and faster alternative to iSCSI.

This is why I have ported me ZFS web-gui napp-it cs from Solaris to Windows to manage Storage Spaces and ZFS and remotely OpenZFS servers like Proxmox (free for noncommercial use)