Thread (21 messages) 21 messages, 5 authors, 2012-05-21

Re: Hot-replace for RAID5

From: NeilBrown <hidden>
Date: 2012-05-12 23:19:01

On Sat, 12 May 2012 17:56:04 +0200 Patrik Horník [off-list ref] wrote:
Neil,
Hi Patrik,
 sorry about the "--layout=preserve" confusion.  I was a bit hasty.
 -layout=left-symmetric-6" would probably have done what was wanted, but it
 is a bit later for that :-(
so I further analyzed the behaviour and I found following:

- The bottleneck cca 1.7 MB/s is probably caused by backup file on one
of the drives, that drive is utilized almost 80% according to iostat
-x and its avg queue length is almost 4 while having await under 50
ms.

- The variable speed and low speeds down to 100 KB are caused by
problems on drive I suspected as problematic. Its service time is
sometimes going above 1 sec.. Total avg speed is about 0.8 MB/s. (I
tested the read speed on it by running check of array and it worked
with 30 MB/s. And because preserve should only read from it I did not
specifically test its write speed )

So my questions are:

- Is there a way I can move backup_file to other drive 100% safely? To
add another non-network drive I need to restart the server. I can boot
it then to some live distribution for example to 100% prevent
automatic assembly. I think speed should be couple of times higher.
Yes.
If you stop the array, then copy the backup file, then re-assemble the
array giving it the backup file in the new location, all should be well.
A reboot while the array is stopped is not a problem.
- Is it safe to fail and remove problematic drive? The array will be
down to 6 from 8 drives in part where it is not reshaped. It should
double the speed.
As safe as it ever is to fail a device in a non-degraded array.
i.e. it would not cause a problem directly but of course if you get an error
on another device, that would be awkward.
- Why mdadm did ignore layout=preserve? I have other arrays in that
server in which I need replace the drive.
I'm not 100% sure - what version of mdadm are you using?
If it is 3.2.4, then maybe commit 0073a6e189c41c broke something.
I'll add test for this to the test suit to make sure it doesn't break again.
But you are using 3.2.2 .... Not sure. I'd have to look more closely.

Using --layout=left-symmetric-6 should work, though testing on some
/dev/loop devices first is always a good idea.

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