Skip to contentSkip to conversation

Giving top priority to a rebuild instead of serving userland?

DISCUSSION Martin Cracauer 3 participants 4 messages Jan 9, 2012 – Jan 10, 2012 MD RAID

lore
Share & tools
lore
#0 lore raw

I am doing a resize on a 4 x 1 TB raid5 array (going to 5x 1 TB).

When there is no userland I/O it reports about 1000 minutes to rebuild. However, minor amount of userland demand makes it shoot up to 3500-4000 as the rebuild puts it's own interests behind.

However, the I/O there is garbage, in this case a disk-noisy web browser. Can I tell md to give priority to it's rebuild and serve userland as it pleases with -say- a maximum of 10% rebuild time increase? Yes I know that'll make the system very sluggy.

I would be finished already but overnight I left a browser tab open that caused according to iostat 400-500 Blk_wrtn contiguously. That is when *not* actually using the browser (I'll report that as a bug). Now I am still at 38% rebuild. Didn't seem worth the price I payed :-)

Martin

Signature · 2 lines
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <[email protected]>   http://www.cons.org/cracauer/
#1 lore raw

Hi,

Have you tried to play with:
/proc/sys/dev/raid/speed_limit_max
/proc/sys/dev/raid/speed_limit_min
/sys/block/mdXXX/md/sync_speed_min
/sys/block/mdXXX/md/sync_speed_max

For me these work very well. You can also set min > max, in which case max is totally ignored.
According to the kernel code, md keeps submitting sync requests until it reaches the minimum speed, and then it checks the "userland" IO and the high speed limit.

Alex.

Quoted 16 lines · Martin Cracauer

I am doing a resize on a 4 x 1 TB raid5 array (going to 5x 1 TB).

When there is no userland I/O it reports about 1000 minutes to rebuild.  However, minor amount of userland demand makes it shoot up to 3500-4000 as the rebuild puts it's own interests behind.

However, the I/O there is garbage, in this case a disk-noisy web browser.  Can I tell md to give priority to it's rebuild and serve userland as it pleases with -say- a maximum of 10% rebuild time increase? Yes I know that'll make the system very sluggy.

I would be finished already but overnight I left a browser tab open that caused according to iostat 400-500 Blk_wrtn contiguously.  That is when *not* actually using the browser (I'll report that as a bug). Now I am still at 38% rebuild.  Didn't seem worth the price I payed :-)

Quoted 8 lines

Martin
-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <[email protected]>   http://www.cons.org/cracauer/
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw

Alexander Lyakas wrote on Mon, Jan 09, 2012 at 10:40:49PM +0200:

Quoted 8 lines

Hi,

Have you tried to play with:
/proc/sys/dev/raid/speed_limit_max
/proc/sys/dev/raid/speed_limit_min
/sys/block/mdXXX/md/sync_speed_min
/sys/block/mdXXX/md/sync_speed_max

Quoted 5 lines

For me these work very well. You can also set min > max, in which case max is totally ignored.
According to the kernel code, md keeps submitting sync requests until it reaches the minimum speed, and then it checks the "userland" IO and the high speed limit.

Looks like what I need. Thanks so much.

These two sets are identical in functionality (other than one being per-set), right?

Martin

Quoted 28 lines

Alex.

Quoted 24 lines · Martin Cracauer

I am doing a resize on a 4 x 1 TB raid5 array (going to 5x 1 TB).

When there is no userland I/O it reports about 1000 minutes to rebuild. ?However, minor amount of userland demand makes it shoot up to 3500-4000 as the rebuild puts it's own interests behind.

However, the I/O there is garbage, in this case a disk-noisy web browser. ?Can I tell md to give priority to it's rebuild and serve userland as it pleases with -say- a maximum of 10% rebuild time increase? Yes I know that'll make the system very sluggy.

I would be finished already but overnight I left a browser tab open that caused according to iostat 400-500 Blk_wrtn contiguously. ?That is when *not* actually using the browser (I'll report that as a bug). Now I am still at 38% rebuild. ?Didn't seem worth the price I payed :-)

Martin
-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <[email protected]> ? http://www.cons.org/cracauer/
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to [email protected]
More majordomo info at ?http://vger.kernel.org/majordomo-info.html

Signature · 2 lines
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <[email protected]>   http://www.cons.org/cracauer/
#3 lore raw
Quoted 15 lines · Martin Cracauer

Alexander Lyakas wrote on Mon, Jan 09, 2012 at 10:40:49PM +0200:

Quoted 8 lines

Hi,

Have you tried to play with:
/proc/sys/dev/raid/speed_limit_max
/proc/sys/dev/raid/speed_limit_min
/sys/block/mdXXX/md/sync_speed_min
/sys/block/mdXXX/md/sync_speed_max

Quoted 5 lines

For me these work very well. You can also set min > max, in which case max is totally ignored.
According to the kernel code, md keeps submitting sync requests until it reaches the minimum speed, and then it checks the "userland" IO and the high speed limit.

Quoted 4 lines

Looks like what I need. Thanks so much.

These two sets are identical in functionality (other than one being per-set), right?

Yes.

I also often set minimum sync speed for the same reasons as you (i.e. there is light-to-moderate unimportant userspace I/O going on which slows down reshape/rebuild considerably), however, at least in the past I could stall the userspace processes (almost?) completely by setting a too high minimum sync speed, so I had to leave some significant margin for userspace I/O and speed fluctuation.

It'd be nice if md could handle the kind of prioritizing you describe itself dynamically (if it is reasonably possible, that is), but I guess that would be very low-priority feature request as changing the min sync speed usually suffices :)

Quoted 31 lines

Martin

Quoted 28 lines

Alex.

Quoted 24 lines · Martin Cracauer

I am doing a resize on a 4 x 1 TB raid5 array (going to 5x 1 TB).

When there is no userland I/O it reports about 1000 minutes to rebuild. ?However, minor amount of userland demand makes it shoot up to 3500-4000 as the rebuild puts it's own interests behind.

However, the I/O there is garbage, in this case a disk-noisy web browser. ?Can I tell md to give priority to it's rebuild and serve userland as it pleases with -say- a maximum of 10% rebuild time increase? Yes I know that'll make the system very sluggy.

I would be finished already but overnight I left a browser tab open that caused according to iostat 400-500 Blk_wrtn contiguously. ?That is when *not* actually using the browser (I'll report that as a bug). Now I am still at 38% rebuild. ?Didn't seem worth the price I payed :-)

Martin
-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <[email protected]> ? http://www.cons.org/cracauer/
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to [email protected]
More majordomo info at ?http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Anssi Hannula