リカバリ中にraid6-array(8台のドライブで構成)の障害ドライブを交換したところ、iostatで何か奇妙なことに気づきました。 1つのドライブ(sdi)が他のドライブよりも常に高速に読み取られていることを除いて、すべてのドライブは(予想どおり)同じ速度になっています。
また、アレイ内に合計8つのドライブがあることと関係があるかもしれない、約8分の1の速度で読み取っていますが、理由はわかりません...
これは、リカバリ全体(常に同じドライブの読み取り速度が他のすべてのドライブよりも高速)中に当てはまり、リカバリの合計統計を見ると、8分の1以上の読み取りを行った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
誰かが賢明な説明を提供できますか? 〜正確に8分の1速いことを発見したとき、それはパリティに関係していると思いましたが、それはあまり意味がありませんでした(mdadmでの特定のraid 6の実装についてはわかりませんが、確かに可能ですすべてのパリティを1つのドライブに保存しないでください...)。
更新:まあ、私はちょうど今別のドライブ(同じアレイ)を交換しました、そして私はまったく同じ結果を見ていますが、今回は別のドライブの読み取りがより速くなりました(実際、それが欲しいと決めたのは最後の回復のために追加したドライブですより多くの仕事をするために)。
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は新しいドライブで、少し大きいように見えますが、すべて同じセクターで開始されます(すべてのドライブは同じモデル(および同じコントローラー)ですが、新しいドライブは、残り)。
奇妙な。 RAID6は確かにanythingすべてを1つのドライブに保存しないため、一般に、1つのドライブが他のドライブよりも多く読み取られる理由はありません。その1つのドライブのTPSに対応する減少があることに注意してください。私の推測では、sdi
はドライブの異なるモデルまたはテクノロジーであるか、コントローラーの異なるモデルに接続されているため、異なる方法で読み取ることができます(トランザクションごとの読み取りが大きくなります)。