ZFS copies=n is not a substitute for device redundancy (2016)
jrs-s.net
jrs-s.net
You can do this in FAT and mostly in NTFS and UFS - especially if your drive is defragmented.
But the complicated data structures of ZFS makes this really hard if not close to impossible - there are tools and ways of using ZFS code to help you do this, but they are exceedingly hard to use.
Source: took me 52 hours to retrieve a 16k file from a failed device. Granted it would take me less time now, but I now think of devices the have failed as if they has completely disappeared from our universe.
I interpret this in the same way as “The network is compromised.”
It may not be literally true but you can avoid pain by always assuming it is true and acting accordingly.
You can now mount a pool without the log device and only lose what was in the log, with just a flag to import.
No personal experience though, but see https://lwn.net/Articles/470517/
Dick Davies wrote:
> The only real use I'd see would be for redundant copies
> on a single disk, but then why wouldn't I just add a disk?
Some systems have physical space for only a single drive - think most
laptops!
--
Darren J Moffat
It seems this thread has disappeared from the internet. If anyone is interested in zfs-discuss@opensolaris.org archives, I can probably convince gmail to turn it into an mbox and post it somewhere.Edit: format. Sorry mobile users, I really need a block quote here.
All this depends on the filesystem issuing reads for all the copies, the drive firmware correctly deciding which to read first, and then the OS being able to cancel the reads of the other copies.
I kinda doubt all the above logic is implemented and bug free... Which is sad :-(
I wonder — do you know if the proximity unlock only detect the relative distance between the computer and AP and compare that to the distance between the watch and AP? Or is it between the watch and computer?
The former would make sense to me, because my proximity unlock doesn’t always work immediately and it would make sense if it was because my watch and computer were connected to two different APs in my house (because one of the other hasn’t switched to the closest AP yet).
Edit window has elapsed though.
I think that’s a long lost art, but it still might be done on mainframes (on the really old ones, files were mostly pre-allocated, with individual items stored in a partitioned data set (https://en.wikipedia.org/wiki/Data_set_(IBM_mainframe)#Parti...), so you could have some control where individual ‘files’ in a ‘directory’ got stored. Nowadays, you would have to partition a disk to do that)
I don’t think it has been cost effective to even think of this kind of black magic for decades, though.
Presenting the drive that consists of sectors in tracks on platters as if it is a very long string of sectors, how more abstract can you get? And that’s ignoring reallocated sectors and shingled recording shenanigans.
Yes, reallocated sectors aren't accounted for, but they should be so rare as to not matter outside of hard realtime applications, which shouldn't be using such corner-cutting devices anyways.
That spiral assumption is due to the servo tracks they need and that the inter-sector gap only has to be sized to account for how fast they can switch the write head from idle to spewing bits, so they have incentive to make it smaller than what they'd likely want the head to be able to jump when continuously streaming data.
Multiple platters would likely just mean that random writes with suitable alignment cost the same until you reach the effective platter count, as the sectors that fly by at the same time should be sequential.
SSDs on the other hand use some complicated LSM trees or similar datastructures.
It seems like the only real advantage "ZFS RAID" has over "RAID + ZFS" is that it can handle the actual write requests separately and it has better options for reading when copies are damaged. But it seems like the layout is just as inflexible as a dumb RAID so we aren't gaining as much as we could by combining the two together.
(My knowledge may be out of date)
copies=n is obviously a step in the right direction but as mentioned it doesn't really provide enough to solve the problem.
It seems to me that the only real downside is that you need to store each location of a block, instead of storing one and assuming that the other locations are the same on the "matching" disks.
Would an exact duplicate of the existing working drive, maybe done with dd, help with this? Maybe some Metadata from the drive layout would have to be changed, too.
Other than this workaround, it seems that ZFS could be changed to allow an import again. Has this been changed in recent years?
I can’t find it now but it was an interesting website.
This option is there for on-device recovery, i.e. resistance to bitrot.
A new option involving forward error coding would be even better though. In-filesystem PAR/CRC anyone?
The fact that apparently many people think otherwise makes it significant.