Thread (4 messages) 4 messages, 2 authors, 2014-06-01

Re: How to identify a failed md array

From: NeilBrown <hidden>
Date: 2014-06-01 22:54:09

On Sun, 1 Jun 2014 19:23:39 +0200 Sebastian Herbszt [off-list ref] wrote:
NeilBrown wrote:
quoted
On Mon, 26 May 2014 20:07:11 +0200 Sebastian Herbszt [off-list ref] wrote:
[snip]
quoted
quoted
How can I identify a failed array?
array_state reports "clean", the last raid member stays "in_sync" and
the value in degraded doesn't equal raid_disks.
You know the array is "failed" when you get an IO error.

When a RAID1 array gets down to just one drive remaining, it starts acting
like it is just one drive.
How do you tell if is single plain ordinary drive is failed?  You get an IO
error.  ditto with RAID1.

NeilBrown
Since md knows the current state I hoped it would provide the required
information for an application to distinguish between degraded and failed
arrays. Any reason this is not the case?
This would allow mdadm to not only report "DegradedArray" but also
"FailedArray". Currently it does not generate any event when the last drive
fails.
But md *doesn't* know the current state.

There is no state for "this device has failed".
There is only 'an IO request has failed' or 'this device has been removed'.

'an IO request has failed' does not necessarily mean that the device has
failed - sometimes that is a very important difference.

NeilBrown

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help