How do you determine version/release number of ZFS on ubuntu and FreeNAS? I am trying to find out how far behind is ZFS on Linux compared to FreeBSD.
OpenZFS website had a feature-comparison i believe. But generally, the pool features do not vary much per platform. ZFS on Linux has pretty much the same on-disk features. That doesn't mean it supports the exclusive BSD features though; like automatic SWAP ZVOLs, booting from RAID-Z, TRIM on ZFS and more.
But ZFS isn't simply a program you install and then it works. It has to be integrated with the operating system. And this is where you get major differences. So you could have the same ZFS version with the same ZFS pool features, but still behave and perform very different, because the memory management differs greatly from Solaris to BSD to Linux.
ZFS on Linux still has stability problems. The only people who has failed ZFS pools recently, were running ZFS on Linux. More often, after a regular update (update manger) from Ubuntu the pool cannot be imported anymore, or problems like that. But those bugs do not cause permanent dataloss. It is only frustrating.
If you ask me, ZFS on Linux is where BSD was years ago. Then it 'simply worked' in virtually all cases, but still had issues and since then various dataloss bugs have been found and resolved. I would not advise ZoL - but it is making big progress and starts getting usable. But to say it is mature or production quality - well some have claimed it to be but i remain highly sceptical. The one major danger of using ZFS is its complexity. That can lead to bugs which only occur in very specific circumstances, but have catastrophic result. Best is to stick to the mainstream. And for ZFS that is a BSD-implementation.
FreeNAS has no opton to display SMART outputs.
It doesn't? That would surprise me. SMART was one of the first features to make it into ZFSguru.
People are *still* quoting that article?
Because it is very relevant; and exposes an inherent weakness of legacy RAID and filesystems.
That is, the RAID and/or filesystem is not designed for disks which get unreadable sectors. RAID is designed to work with disks that either are 100% good, or bad. It doesn't really accept anything in between.
This is especially true for FakeRAID (like Intel/AMD/nVidia/VIA/ASMedia/Silicon Image/Promise/JMicron) and many hardware RAID. Those RAIDs will drop a disk from the RAID array even if one tiny sector cannot be read. Most drop disks if they exceed the timeout (of 10-25 seconds). Rebooting will not help: it will update the metadata of the other disks to make this chance permanent.
And this is why quite a lot of people have lots their data; not because any disk is bad but because the legacy RAID layer decides it is time to drop the disks from the array.
We can talk about the maths used by Robin Harris. But i find that not so interesting. Because the issue that the article exposes, is truly inherent to the technology. RAID simply does nothing to protect against bad sectors. That is why 'everyone' is replacing legacy RAID and filesystems with new-generation filesystems like ZFS (multi-platform, Btrfs (linux-only) and ReFS (Windows-only). Microsoft even wanted to introduce bitrot correction in DE 2.0 used in Windows Home Server (WHS). But it abandoned the project and went for ReFS instead. It is the least mature 3rd generation filesystem, which is designed to fight bitrot.
So:
legacy stuff = works great for binary failures (DEAD or ALIVE)
modern stuff = works great for disks that work fine only cannot read a few sectors.
Because the latter is becoming much more common. As you know, the uBER specification has stayed at 10^-14 meaning consumer drives get 1 bad sector every day on average when using 100% duty cycle. With a more normal duty cycle for consumer usage, this would translate to a bad sector every 3 to 6 months.
Because do not fool yourself: the uBER specificfation specifies bits, but in reality this means one uncorrectable bit = one unreadable sector of 4KiB. It also assumes that the unreadable sectors are related to duty cycle, which is not totally true. With 0,001% duty cycle you get much more than 0,001% unreadable sectors as opposed to the 100% duty cycle rated uBER specification.
If you take the assumptions at face value (URE really is 1e-14 and
any single bit failure will cause a rebuild to fail), you'll calculate that the chance of surviving a RAID5 failure is low and even RAID1/10 is pretty bad. I recall something about that particular article getting the math wrong but it doesn't really matter - the assertion that the data loss chance looks scary when calculated like that is correct. What's not mentioned is it looks pretty scary for a single drive or RAID 1/10 too.
In practice though RAID arrays don't have anywhere near that sort of total failure chance (do the vast majority of your single drive RAID5 failures and a good percentage of your RAID1/10s result in total data loss?). Data loss happens sure, but it's the exception rather than an almost certainty on drive failure.
Why? The assumptions are wrong. At the very least a raid controller that refuses to rebuild anything else because of a single bit error is downright malicious, and whether 1e-14 is an accurate number is certainly not established.
Well that is what the manufacturer tells you. And virtually all ZFS users i know have had uBER bad sectors on their consumer-grade drives already. So it's not some theoretical thing this happens all the time.
In the past, with lower data densities, the uBER wasn't a big deal. Only about 10% of all unreadable sectors were due to insufficient bitcorrection (uBER) - and 90% were physically damaged sectors. Today, it is the other way around; 90% of unreadable sectors are due to uBER - while only 10% is physically damaged. This can be seen in the SMART data. Damaged sectors get replaced with reserve sectors (Reallocated Sector Count) while undamaged uBER sectors simply get overwritten and stay in use, only the Current Pending Sector is subtracted; removing all evidence of there ever been an unreadable sector.
Legacy RAID is not suitable for todays hardware. That is de rough conclusion and the whole point of that article. I would say it is very much valid; even if the math is off a bit.