Thread (5 messages) 5 messages, 2 authors, 2013-11-15

Re: mdadm --fail requires writeable drive.

From: Benjamin ESTRABAUD <hidden>
Date: 2013-11-14 17:33:01

Hi Neil,

This does work but I was looking for a way to explicitely set a 
particular device as Failed (I want to process devices one by one).

But right now I was reading from the array to force it detecting the 
failure as opposed to using "detached" which orders of magnitude better.

Thanks for the tip, I'll use that for now.

Regards,
Ben.

On 14/11/13 00:44, NeilBrown wrote:
On Wed, 13 Nov 2013 12:17:21 +0000 Benjamin ESTRABAUD [off-list ref] wrote:
quoted
Hi,

I noticed that mdadm --fail will only work if a disk is present and is
writeable.

mdadm's Manage.c seems to first make sure the drive can be "stat"ed
before proceeding (which will fail if the drive is gone), and then
seemingly try to write "Faulty" to the drive's superblock as well as
notifying MD of the drive failure.

However, in many cases, a drive must be set faulty because it has gone
offline. MD will do a very good job to set the drive faulty itself,
provided that IOs are running on the array. If no IOs are running on the
array, removing a drive and then trying to set it as failed will not
work. Trying to "-r" the drive will also fail since the drive is not yet
marked as failed, so deemed still in use.

Looking through the code it seemed to me that MD could be told to fail a
drive even if that drive was no longer present (the /dev/sdX device node
file still is in this case), in the same way as remove works. Would that
be possible? Am I missing something here?
Does
   mdadm /dev/mdXX --fail detached

do what you want?

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