Я только что заменил неисправный диск в моем raid6-массиве (состоящем из 8 дисков) во время восстановления. Я заметил что-то странное в iostat. Все диски имеют одинаковую скорость (как и ожидалось), за исключением одного диска (sdi), который постоянно читает быстрее, чем остальные.
Он также читает примерно на одну восьмую быстрее, что может быть связано с тем, что всего в массиве восемь дисков, но я не знаю почему ...
Это было верно в течение всего восстановления (всегда один и тот же диск читается быстрее, чем все остальные), и если посмотреть на общую статистику восстановления, все диски прочитали / записали примерно одинаковое количество, за исключением sdi, которые прочитали на одну восьмую больше.
Некоторые статистические данные iostat усреднены за 100 секунд:
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdb 444.80 26.15 0.00 2615 0
sdb1 444.80 26.15 0.00 2615 0
sdc 445.07 26.15 0.00 2615 0
sdc1 445.07 26.15 0.00 2615 0
sdd 443.21 26.15 0.00 2615 0
sdd1 443.21 26.15 0.00 2615 0
sde 444.01 26.15 0.00 2615 0
sde1 444.01 26.15 0.00 2615 0
sdf 448.79 26.15 0.00 2615 0
sdf1 448.79 26.15 0.00 2615 0
sdg 521.66 0.00 26.15 0 2615
sdg1 521.66 0.00 26.15 0 2615
sdh 443.32 26.15 0.00 2615 0
sdh1 443.32 26.15 0.00 2615 0
sdi 369.23 29.43 0.00 2942 0
sdi1 369.23 29.43 0.00 2942 0
Может кто-нибудь дать толковое объяснение? Когда я обнаружил, что он был примерно на одну восьмую быстрее, я решил, что это связано с четностью, но это действительно не имело особого смысла (я не знаю о конкретной реализации рейда 6 в mdadm, но, с одной стороны, это определенно может не хранить всю четность на одном диске ...).
ОБНОВЛЕНИЕ: Что ж, я только что заменил другой диск (тот же массив), и я вижу точно такие же результаты, но на этот раз с другим диском, быстрее читающим (на самом деле, это диск, который я добавил для последнего восстановления, который решил, что он хочет делать больше работы).
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdb 388.48 24.91 0.00 2490 0
sdb1 388.48 24.91 0.00 2490 0
sdc 388.13 24.91 0.00 2491 0
sdc1 388.13 24.91 0.00 2491 0
sdd 388.32 24.91 0.00 2491 0
sdd1 388.32 24.91 0.00 2491 0
sde 388.81 24.91 0.00 2491 0
sde1 388.81 24.91 0.00 2491 0
sdf 501.07 0.00 24.89 0 2489
sdf1 501.07 0.00 24.89 0 2489
sdg 356.86 28.03 0.00 2802 0
sdg1 356.86 28.03 0.00 2802 0
sdh 387.52 24.91 0.00 2491 0
sdh1 387.52 24.91 0.00 2491 0
sdi 388.79 24.92 0.00 2491 0
sdi1 388.79 24.92 0.00 2491 0
Это 4k-диски (но, как и все диски (или, по крайней мере,), они по-прежнему сообщают о 512-байтовых секторах). Итак, я подумал, что, возможно, я как-то неправильно выровнял разделы (какие последствия это могло иметь, я не знаю, зависит от того, как работает mdadm и размер полосы, я думаю, в любом случае достаточно легко проверить):
debbie:~# fdisk -l -u /dev/sd[bcdefghi] | grep ^/dev/sd
/dev/sdb1 2048 3906988207 1953493080 fd Linux raid autodetect
/dev/sdc1 2048 3906988207 1953493080 fd Linux raid autodetect
/dev/sdd1 2048 3906988207 1953493080 fd Linux raid autodetect
/dev/sde1 2048 3906988207 1953493080 fd Linux raid autodetect
/dev/sdf1 2048 3907024064 1953511008+ fd Linux raid autodetect
/dev/sdg1 2048 3907024064 1953511008+ fd Linux raid autodetect
/dev/sdh1 2048 3906988207 1953493080 fd Linux raid autodetect
/dev/sdi1 2048 3906988207 1953493080 fd Linux raid autodetect
f и g - это новые диски, которые кажутся немного больше, но все они начинаются с одного сектора (все диски одной модели (и на одном контроллере), но новые покупаются на 6 месяцев позже, чем остальное).
Любопытно. RAID6 точно не хранит что-нибудь все на одном диске, поэтому в целом нет причин для чтения одного диска больше, чем других. Отмечу, что есть соответствующий уменьшение в TPS на этом диске; я предполагаю, что sdi
представляет собой другую модель или технологию привода или подключен к другой модели контроллера и, следовательно, может читаться по-разному (большее количество операций чтения за транзакцию).