2012-05-03 13 views
2

ストレージアレイのIOレイテンシデータを見る。ドライブが故障する直前に、IO操作の完了までの時間が増えます。配列は、次の形式でこのデータを提供します。時間ベースの収差を探す

 Time       Disk Channels 
    seconds A  B  C  D  E  F  G  H  P  S 
     0.017 5e98bd 64008b 62a559 68eb45 676ccf 5d3a86 46242b 62dd2e 6976c9 6da51f 
     0.033 1e821c 1be769 1c372a 185134 19a2c2 21802c 2fa2ba 1d91c4 17b3ca 14cea6 
     0.050 6638e 3a93b 4b19f 258aa 28b64 4d3ae d92dc 32899 26a5b 1290d 
     0.067 2df3 1c17 1f1b 180f 1291 1f05 5201 15f4 1856 10d8 
     0.083 365 293 2b9 296 269 291 3c4 26f 2ae 25d 
     0.100  ce  ae  94  aa  92  86  ce  81  9f  91 
    ... 

(時間の繰り返しは2.00秒になり、カウントは16進数になります)。

左の列はIOが完了する時間を示し、他の列はその時間内に完了した特定のスピンドルに対するIOの数です。

ドライブが近づいている場合、そのドライブの「テール」は顕著に「より広い」となります。ほとんどのドライブでは0.2秒を超える小さなIO数があり、ドライブに障害が発生すると0.2を超えるIOが発生します秒。例:

Time Disk channels 
    seconds A  B  C  D  E  F  G  H  P  S 
    ... 
    0.200  4 52d  2  7  3  2  1  6  1  8 
    0.217  2 2a6  0  1  0  0  1  4  0  1 
    0.233  0 1a1  0  1  0  0  0  1  1  0 
    0.250  0  cb  0  1  0  0  1  1  0  1 
    0.267  0  73  0  0  0  0  0  0  0  0 
    0.283  0  44  0  0  0  0  0  0  0  0 
    0.300  0  2d  0  0  0  0  0  0  0  0 
    ... 

私はちょうど0.2秒以上10の以上のiOS用になりますが、私はより正確に故障を特定することができました数理モデルを探していました。私の最初の考えは、各列の分散を計算することでした...広すぎる分散の範囲を持つドライブのセットは、違反者にフラグを立てます。ただし、これは正常に動作するドライブのフラグを間違って指定します。

min variance is 0.0000437, max is 0.0001250. <== a good set of drives 
    min variance is 0.0000758, max is 0.0000939. <== a set with one bad drive. 

他のアイデアはありますか?

(そしてこれがmath.stackexchange.comなく、StackOverflowの上でなければなりません?)

+0

これは宿題のようですが、興味深いものです。 +1 – ashes999

+0

脚注に関しては、実際にはhttp://stats.stackexchange.com/の方が適切かもしれません。 – NPE

+0

宿題に関する質問ではなく、仕事上の質問です。 ;-)すべてのコードが動作します...それは単に私が望むことをしません。 – Jason

答えて

0

これは単なる提案ではなく任意の数学的な厳密性を含むものである、しかし、あなたはダウンだけ>を含めるようにデータセットを切ることができませんでした0.2秒の操作。その後、そのデータセットを使用して、各ドライブの> 0.2カウントの合計を計算し、それぞれの合計の割合を計算します。これらの比率をお互いに(そして合計)比較すれば、故障しているドライブを識別できるはずです。たとえば、ドライブが1つしか故障していない場合、他のドライブとの比率は非常に高く、その値は100%よりわずかに小さくなります(上記のサンプルデータに基づく)。同様に、2台のドライブが故障した場合、他のドライブの比率は非常に小さくなければならず、2台のドライブの故障率はわずか50%にしかなりません。したがって、これらの比率の比率を相互に比較し、それぞれの割合を全体と比較すると、「汚い」がありますが、失敗の候補を特定する簡単な方法です。

さらに厳密な統計量を求めている場合は、同じ統計分布からいくつかのサンプルが得られたかどうかをテストするためにKruskal-Wallis http://en.wikipedia.org/wiki/Kruskal%E2%80%93Wallis_one-way_analysis_of_varianceを調べる価値があります。私がこれを言及した理由は、各ディスクサンプルが明確に正規分布しておらず、Kruskal-Wallisに正規性が要求されていないからです。それは適切ではないかもしれませんが、あなたのデータの正しい統計テストを研究するための、または統計エキスパートを見つけるまで有用な出発点になるかもしれません。