Потребовалось мне сделать repair на массиве, который был когда-то собран с --assume-clean, что привело к безумной цифре в mismatch_cnt.
Запустил ребилд, сижу, жду. Всё работает, скорость ребилда около 200МБ/с. Ребилд идёт, скорость потихоньку падает, всё как и положено. Доработало оно примерно до 2/3, и тут скорость упала с ожидаемых ~150МБ/с до 40Мб/с.
iostat показывает примерно такую картину:
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 13.64 40.91 0.00 45.45
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 14730.00 4236.00 94.00 62.00 46992.00 15616.00 802.67 7.34 28.28 31.02 24.13 2.31 36.00
sde 14728.00 4219.00 93.00 63.00 46480.00 15616.00 796.10 7.21 26.95 29.42 23.30 2.26 35.20
sdh 14693.00 4268.00 94.00 62.00 45972.00 15616.00 789.59 7.42 27.82 30.68 23.48 2.28 35.60
sdf 14692.00 4220.00 65.00 60.00 31632.00 15104.00 747.78 143.86 1327.74 135.45 2619.40 8.00 100.00
sdd 14692.00 4221.00 92.00 61.00 45968.00 15616.00 805.02 7.31 27.61 30.48 23.28 2.33 35.60
sdg 14690.00 4245.00 93.00 69.00 45968.00 15616.00 760.30 7.63 27.53 30.84 23.07 2.20 35.60
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdi 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 9.64 43.65 0.00 46.70
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 1.00 0.00 0.50 1.00 0.02 16.00 0.00 16.00 16.00 1.60
sdc 11297.00 3969.00 95.00 63.00 45568.00 16128.00 780.96 8.35 52.86 61.14 40.38 2.38 37.60
sde 11297.00 3957.00 95.00 75.00 45568.00 16128.00 725.84 9.85 57.98 72.80 39.20 2.24 38.00
sdh 11296.00 3968.00 96.00 64.00 45568.00 16128.00 771.20 10.71 66.95 81.12 45.69 2.45 39.20
sdf 11296.00 3969.00 96.00 63.00 45568.00 16128.00 776.05 9.63 60.55 73.79 40.38 2.31 36.80
sdd 11299.00 3969.00 79.00 64.00 38280.00 16128.00 760.95 154.94 1191.78 204.46 2410.50 6.99 100.00
sdg 11296.00 3968.00 96.00 64.00 45568.00 16128.00 771.20 9.96 62.27 75.29 42.75 2.30 36.80
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdi 0.00 0.00 0.00 1.00 0.00 0.50 1.00 0.02 16.00 0.00 16.00 16.00 1.60
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Да, диск со 100% нагрузкой время от времени меняется, иногда их становится сразу несколько. Данные на массиве в порядке, смарт дисков в порядке, падения производительности в повседневных задачах не ощущается.
У меня одно объяснение - винты из одной партии, в конце дисков много переназначенных на заводе секторов. Я прав, или у этого явления могут быть программные причины?
Участники событий: debian 7, mdadm, sas2008 (LSI 9210-8i в it mode), dt01aca300.