Date: Wed, 5 Aug 2020 09:47:40 -0400 From: Karl Denninger <karl@denninger.net> To: Bob Friesenhahn <bfriesen@simple.dallas.tx.us> Cc: freebsd-fs@freebsd.org Subject: Re: zfs scrub enable by default Message-ID: <180eeb29-3cd8-efbd-41fe-97df8fd78ccc@denninger.net> In-Reply-To: <alpine.GSO.2.20.2008050808330.10299@scrappy.simplesystems.org> References: <cca34d1a-1892-41ec-ce45-84865100c6e1@FreeBSD.org> <CAJjvXiEXEdAFXpXkGvt4fymA17kNdp6XkZV5taGKLoP2GvMHbw@mail.gmail.com> <d1b580da-1539-5fc9-f7a3-3f013bba4ef3@FreeBSD.org> <CANCZdfq2PneFvB4rnz2iGu5srFFFjs8N=7FwRO3DYjosESWXtQ@mail.gmail.com> <CAGuotKD0mCS3KmMA-EGL1uH_fByYOhMKbPVDoTdB8dg5kC-u9g@mail.gmail.com> <105090343.294898.1596586694925.JavaMail.zimbra@gray.id.au> <alpine.GSO.2.20.2008042010300.10299@scrappy.simplesystems.org> <e5e7a916-4da2-6467-1616-1b1a75f32509@denninger.net> <alpine.GSO.2.20.2008050808330.10299@scrappy.simplesystems.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 8/5/2020 09:15, Bob Friesenhahn wrote:
> On Tue, 4 Aug 2020, Karl Denninger wrote:
>
>> Let me give you two allegedly "degenerate" cases that are actually
>> not degenerate at all.
>>
>> 1. A laptop or workstation. It is backed up. It uses ZFS because
>> it's faster, and I can establish a filesystem for some project very
>> easily and quickly, it's segregated, I can work on it and destroy it
>> trivially when done. I can set quotas on that, etc. If I want to
>> move its mountpoint, I can trivially do so. And so on. Note that
>> here there is no redundancy at all; no raidZx, no mirroring, etc.
>> I'm merely using it for convenience.
>
> Did you remember to set copies=2 or copies=3 for zfs filesystems where
> you hope not to experience data loss? It needs to be set as soon as
> possible since it only applies to new files. This is a way to get
> more media redundancy, although the whole drive may fail.
>
> Zfs scrub is not going to protect your precious data from loss given
> just one drive unless you increase the copies setting. Zfs itself
> already uses redundant copies for its own data structures.
>
copies=2 does nothing if the drive itself fails (as opposed to a handful
of sectors failing on said drive.)
SSDs rarely lose a block undetected by their own controller.
More-commonly when they fail they fail HARD and the entire volume
becomes inaccessible immediately. The same is frequently (but less
frequently than with an SSD) true for spinning rust. In my experience
with various "non-removable" spinning rust going back to the original
5Mb winchester devices in a decent percentage of the instances the
device becomes either completely inaccessible all at once or it may as
well be since the unreadable sectors are numerous enough and the
timeouts on attempted reads long enough that recovery of the
non-impacted data will frequently take days (or worse.)
Don't even get me started on controller/adapter failures. I've had two
in my career that scribbled on everything connected to them at once.
Even ZFS in a RaidZx or mirrored configuration won't protect you from
that. You either have backups or you have nothing.
As I said, a workstation or laptop is, in such a configuration, backed
up to some other storage (external, either plugged in or on a network)
and if the drive fails it is replaced and restored. ZFS makes this easy
to do and also quite economical in terms of time and either storage or
network bandwidth with its snapshot capability.
The latter is also a reason to use ZFS standing alone, irrespective of
redundancy of data storage.
I've had scrub catch incipient errors (but you have to look at the stats
to know it found and fixed the blocks) before the volume failed and was
able to replace the bad volume before it puked entirely. I appreciate
that when it happens but the point here is that turning on automated
scrubs is like automated patrol reads on an old-style RAID adapter; it
sounds great right up until it can cause trouble without benefit. To
have it as an option in the installer is a good thing, but to silently
turn it on, especially if it's done during an upgrade where it wasn't on
before, is IMHO a bad thing as it has at least a decent probability of
producing unpleasant surprises.
--
Karl Denninger
karl@denninger.net <mailto:karl@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
[-- Attachment #2 --]
0 *H
010
`He 0 *H
00 H^Ōc!5
H0
*H
010 UUS10UFlorida10U Niceville10U
Cuda Systems LLC10UCuda Systems CA1!0UCuda Systems LLC 2017 CA0
170817164217Z
270815164217Z0{10 UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CA0"0
*H
0
h-5B>[;olӴ0~͎O9}9Ye*$g!ukvʶLzN`jL>MD'7U 45CB+kY`bd~b*c3Ny-78ju]9HeuέsӬDؽmgwER?&UURj'}9nWD i`XcbGz \gG=u%\Oi13ߝ4
K44pYQr]Ie/r0+eEޝݖ0C15Mݚ@JSZ(zȏ NTa(25DD5.l<g[[ZarQQ%Buȴ~~`IohRbʳڟu2MS8EdFUClCMaѳ !}ș+2k/bųE,n当ꖛ\(8WV8 d]b yXw ܊:I39
00U]^§Q\ӎ0U#0T039N0b010 UUS10UFlorida10U Niceville10U
Cuda Systems LLC10UCuda Systems CA1!0UCuda Systems LLC 2017 CA @Ui0U0 0U0
*H
:P U!>vJnio-#ן]WyujǑR̀Q
nƇ!GѦFg\yLxgw=OPycehf[}ܷ['4ڝ\[p 6\o.B&JF"ZC{;*o*mcCcLY߾`
t*S!(`]DHP5A~/NPp6=mhk밣'doA$86hm5ӚS@jެEgl
)0JG`%k35PaC?σ
׳HEt}!P㏏%*BxbQwaKG$6h¦Mve;[o-Iی&
I,Tcߎ#t wPA@l0P+KXBպT zGv;NcI3&JĬUPNa?/%W6G۟N000 k#Xd\=0
*H
0{10 UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CA0
170817212120Z
220816212120Z0W10 UUS10UFlorida10U
Cuda Systems LLC10Ukarl@denninger.net0"0
*H
0
T[I-ΆϏ dn;Å@שy.us~_ZG%<MYd\gvfnsa1'6Egyjs"C [{~_K Pn+<*pv#Q+H/7[-vqDV^U>f%GX)H.|l`M(Cr>е͇6#odc"YljҦln8@5SA0&ۖ"OGj?UDWZ5 dDB7k-)9Izs-JAv
J6L$Ն1SmY.Lqw*SH;EF'DĦH]MOgQQ|Mٙג2Z9y@y]}6ٽeY9Y2xˆ$T=eCǺǵbn֛{j|@LLt1[Dk5:$= ` M 00<+00.0,+0 http://ocsp.cudasystems.net:88880 U0 0 `HB0U0U%0++03 `HB
&$OpenSSL Generated Client Certificate0U%՞V=;bzQ0U#0]^§Q\ӎϡ010 UUS10UFlorida10U Niceville10U
Cuda Systems LLC10UCuda Systems CA1!0UCuda Systems LLC 2017 CA H^Ōc!5
H0U0karl@denninger.net0
*H
۠A0-j%--$%g2#ޡ1^>{K+uGEv1ş7Af&b&O;.;A5*U)ND2bF|\=]<sˋL!wrw٧>YMÄ3\mWR hSv!_zvl? 3_ xU%\^#O*Gk̍YI_&Fꊛ@&1n } ͬ:{hTP3B.;bU8:Z=^Gw8!k-@xE@i,+'Iᐚ:fhztX7/(hY` O.1}a`%RW^akǂpCAufgDix UTЩ/7}%=jnVZvcF<M=
2^GKH5魉
_O4ެByʈySkw=5@h.0z>
W1000{10 UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CA k#Xd\=0
`He E0 *H
1 *H
0 *H
1
200805134741Z0O *H
1B@=dxR F\y&z|ں?^]
}Jm$ASmjM0l *H
1_0]0 `He*0 `He0
*H
0*H
0
*H
@0+0
*H
(0 +7100{10 UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CA k#Xd\=0*H
10{10 UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CA k#Xd\=0
*H
4N^˼RKqS%de(^P4R{ 2U>ͼb\*]LZ6l
*U)VyUU
b=;WDM5헬[d>3`q+zԾg $zbΫ6qfw+u R|ځE>