Skip to contentSkip to conversation

md raid resync counter

RFC Jack Wang 2 participants 5 messages Nov 1, 2013 – Nov 5, 2013 MD RAID

lore
Share & tools
lore

Jack Wang

author
#0 lore raw

Hi Neil and all,

Is there anyway to know:

1. How often does a raid start to resync?
2. How many bytes did it resync?

If not, for the first one, I think we cound add field into mddev like resync_counter, increase when resync done, and annother field into md_rdev to track how many bytes synced to the outdated disk?

Regards,
Jack

#1 lore raw
Quoted 5 lines · On Fri, 01 Nov 2013 13:59:40 +0100 Jack Wang <[email protected]> wrote:

Hi Neil and all,

Is there anyway to know:

1. How often does a raid start to resync?

Look at your logs?

Quoted 1 line

2. How many bytes did it resync?

Look at "mismatch_cnt" in sysfs (and multiply by 512).

NeilBrown

Quoted 7 lines

If not, for the first one, I think we cound add field into mddev like resync_counter, increase when resync done, and annother field into md_rdev to track how many bytes synced to the outdated disk?

Regards,
Jack

author
#2 lore raw
Quoted 8 lines · NeilBrown
Quoted 5 lines · On Fri, 01 Nov 2013 13:59:40 +0100 Jack Wang <[email protected]> wrote:

Hi Neil and all,

Is there anyway to know:

1. How often does a raid start to resync?

Quoted 9 lines

Look at your logs?

Quoted 1 line

2. How many bytes did it resync?

Look at "mismatch_cnt" in sysfs (and multiply by 512).

NeilBrown

Thanks Neil,

You're always very helpful :)

About the second one. As I checked in my system kernel 3.4.51

when raid is resync:
cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 dm-1[3] dm-2[2]

      23762944 blocks super 1.2 [2/1] [_U]
      [==>..................]  recovery = 10.7% (2562240/23762944)
finish=7.5min speed=46565K/sec
# cat /sys/block/md1/md/mismatch_cnt
0

cat /sys/block/md1/md/degraded
1
cat /sys/block/md1/md/mismatch_cnt
0

# cat /sys/block/md1/md/sync_completed
8911488 / 47525888

mismatch_cnt is 0, sync_completed look what I want?

Jack

#3 lore raw
Quoted 24 lines · On Mon, 04 Nov 2013 10:26:42 +0100 Jack Wang <[email protected]> wrote:
Quoted 8 lines · NeilBrown
Quoted 5 lines · On Fri, 01 Nov 2013 13:59:40 +0100 Jack Wang <[email protected]> wrote:

Hi Neil and all,

Is there anyway to know:

1. How often does a raid start to resync?

Quoted 9 lines

Look at your logs?

Quoted 1 line

2. How many bytes did it resync?

Look at "mismatch_cnt" in sysfs (and multiply by 512).

NeilBrown

Thanks Neil,

You're always very helpful :)

About the second one. As I checked in my system kernel 3.4.51

Quoted 7 lines

when raid is resync:
cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 dm-1[3] dm-2[2]

      23762944 blocks super 1.2 [2/1] [_U]
      [==>..................]  recovery = 10.7% (2562240/23762944)

finish=7.5min speed=46565K/sec

This array is doing "recovery", not "resync".

"Resync" is when the devices should all contains the same data but maybe don't due to some error. So md/raid1 checks and fixes the errors. "recovery" is when a spare has been added and data is being copied onto it.

Quoted 11 lines
# cat /sys/block/md1/md/mismatch_cnt
0

cat /sys/block/md1/md/degraded
1
cat /sys/block/md1/md/mismatch_cnt
0

# cat /sys/block/md1/md/sync_completed
8911488 / 47525888

mismatch_cnt is 0, sync_completed look what I want?

"sync_completed" is a number which is somewhat smaller than the number of sectors that have been be processed by the current sync/repair/recover/whatever.

Slightly smaller because it is only updated occasionally.

I don't really know what you want because you didn't say what you would do with the information, but it is possible that this is what you want.

Quoted 2 lines

Jack

NeilBrown

author
#4 lore raw
Quoted 53 lines · NeilBrown
Quoted 24 lines · On Mon, 04 Nov 2013 10:26:42 +0100 Jack Wang <[email protected]> wrote:
Quoted 8 lines · NeilBrown
Quoted 5 lines · On Fri, 01 Nov 2013 13:59:40 +0100 Jack Wang <[email protected]> wrote:

Hi Neil and all,

Is there anyway to know:

1. How often does a raid start to resync?

Quoted 9 lines

Look at your logs?

Quoted 1 line

2. How many bytes did it resync?

Look at "mismatch_cnt" in sysfs (and multiply by 512).

NeilBrown

Thanks Neil,

You're always very helpful :)

About the second one. As I checked in my system kernel 3.4.51

Quoted 7 lines

when raid is resync:
cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 dm-1[3] dm-2[2]

      23762944 blocks super 1.2 [2/1] [_U]
      [==>..................]  recovery = 10.7% (2562240/23762944)

finish=7.5min speed=46565K/sec

This array is doing "recovery", not "resync".

"Resync" is when the devices should all contains the same data but maybe don't due to some error. So md/raid1 checks and fixes the errors. "recovery" is when a spare has been added and data is being copied onto it.

Quoted 11 lines
# cat /sys/block/md1/md/mismatch_cnt
0

cat /sys/block/md1/md/degraded
1
cat /sys/block/md1/md/mismatch_cnt
0

# cat /sys/block/md1/md/sync_completed
8911488 / 47525888

mismatch_cnt is 0, sync_completed look what I want?

Quoted 8 lines

"sync_completed" is a number which is somewhat smaller than the number of sectors that have been be processed by the current sync/repair/recover/whatever.

Slightly smaller because it is only updated occasionally.

I don't really know what you want because you didn't say what you would do with the information, but it is possible that this is what you want.

Thanks Neil for clarification.
I think we need track both recovery and resync status, mismatch_cnt and sync_completed are what we want.

Regards,
Jack

Quoted 8 lines
Quoted 4 lines

Jack

NeilBrown