MdadmRAID1で構成された2つのCrucialM500SSDを備えたCentOS6を実行しているサーバーがあります。このサーバーもXenで仮想化されています。
最近、本番VMのtop -c
統計でiowait
のパーセンテージが上昇し始めました。物理ディスク(/ dev/sdaや/ dev/sdbなど)のアクティビティを検査できるように、dom0でiostatを調査して実行することにしました。これは私が使用したコマンドです:iostat -d -x 3 3
これが私が受け取った出力の例です(%util
番号を右にスクロールしてください):
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.33 0.00 38.67 0.00 337.33 8.72 0.09 2.22 0.00 2.22 1.90 7.33
sdb 0.00 0.33 0.00 38.67 0.00 338.00 8.74 1.08 27.27 0.00 27.27 23.96 92.63
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
md1 0.00 0.00 0.00 1.00 0.00 8.00 8.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
md127 0.00 0.00 0.00 29.33 0.00 312.00 10.64 0.00 0.00 0.00 0.00 0.00 0.00
drbd5 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
drbd3 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
drbd4 0.00 0.00 0.00 8.67 0.00 77.33 8.92 2.03 230.96 0.00 230.96 26.12 22.63
dm-0 0.00 0.00 0.00 29.67 0.00 317.33 10.70 5.11 171.56 0.00 171.56 23.91 70.93
dm-1 0.00 0.00 0.00 8.67 0.00 77.33 8.92 2.03 230.96 0.00 230.96 26.12 22.63
dm-2 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
dm-3 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
dm-4 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
dm-5 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
dm-6 0.00 0.00 0.00 20.00 0.00 240.00 12.00 3.03 151.55 0.00 151.55 31.33 62.67
dm-7 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
dm-8 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
dm-9 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
dm-10 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
dm-11 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
驚いたことに、await
(2ms対27ms)と/dev/sda
(7%対92%)の/dev/sdb
と%util
の間に有意差があることに気づきました。これらのドライブは相互にミラーリングされており、同じCrucial M500 SSDであるため、これがどのようになるかわかりません。 /dev/sda
には、/dev/sdb
でも発生してはならないアクティビティはありません。
これらのディスクの両方のSMART値を定期的にチェックしましたが、Percent_Lifetime_Used
の/dev/sda
は66%が使用されていることを示し、/dev/sdb
は無意味な値(454%が使用されている)を報告していることに気付きました。 。Reallocated_Event_Count
は両方のドライブで比較的低いままであり、すぐには変更されていないため、この時点まであまり心配していませんでした。
/dev/sdb
ディスクにハードウェアの問題がありますか?他に考えられる説明はありますか?
私は最終的に、このシステムが適切にTRIMされておらず、不十分なオーバープロビジョニングでパーティション化されていることを発見しました(Crucial M500には7% レベル2オーバープロビジョニング が組み込まれていますが)。この2つの組み合わせにより、 ライトアンプリフィケーション という深刻なケースが発生しました。
さらに、このシステムには、書き込みアクティビティが非常に多いデータベースが格納されているため、小さなランダム書き込みが非常に多くなります。この種のIOアクティビティには 非常に悪い結果 ライトアンプリフィケーションがあります。
Iostatで/dev/sda
のパフォーマンスが/dev/sdb
よりも優れていた理由はまだ100%わかりません-おそらくそれは シリコン宝くじ ここで/dev/sda
は/dev/sdb
よりわずかに優れているため、/dev/sdb
が最初にボトルネックになります。
私たちにとって、2つの重要なポイントは次のとおりです。