Re: How to handle a RAID5 arrawy with a failing drive?

Duncan
2014-03-18T09:02:40Z

Marc MERLIN posted on Sun, 16 Mar 2014 15:20:26 -0700 as excerpted:

> Do I have other options?
> (data is not important at all, I just want to learn how to deal with
> such a case with the current code)

First just a note that you hijacked Mr Manana's patch thread. Replying
to a post and changing the topic (the usual cause of such hijacks) does
NOT change the thread, as the References and In-Reply-To headers still
includes the Message-IDs from the original thread, and that's what good
clients thread by since the subject line isn't a reliable means of
threading. To start a NEW thread, don't reply to an existing thread,
compose a NEW message, starting a NEW thread. =:^)

Back on topic...

Since you don't have to worry about the data I'd suggest blowing it away
and starting over. Btrfs raid5/6 code is known to be incomplete at this
point, to work in normal mode and write everything out, but with
incomplete recovery code. So I'd treat it like the raid-0 mode it
effectively is, and consider it lost if a device drops.

There *IS* a post from an earlier thread where someone mentioned a
recovery under some specific circumstance that worked for him, but I'd
consider that the exception not the norm since the code is known to be
incomplete and I think he just got lucky and didn't hit the particular
missing code in his specific case. Certainly you could try to go back
and see what he did and under what conditions, and that might actually be
worth doing if you had valuable data you'd be losing otherwise, but since
you don't, while of course it's up to you, I'd not bother were it me.

Which I haven't. My use-case wouldn't be looking at raid5/6 (or raid0)
anyway, but even if it were, I'd not touch the current code unless it
/was/ just for something I'd consider risking on a raid0. Other than
pure testing, the /only/ case I'd consider btrfs raid5/6 for right now,
would be something that I'd consider raid0 riskable currently, but with
the bonus of it upgrading "for free" to raid5/6 when the code is complete
without any further effort on my part, since it's actually being written
as raid5/6 ATM, the recovery simply can't be relied upon as raid5/6, so
in recovery terms you're effectively running raid0 until it can be.
Other than that and for /pure/ testing, I just don't see the point of
even thinking about raid5/6 at this point.

--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman