ストレージ アレイの IO レイテンシ データを確認します。ドライブに障害が発生しそうになった場合、その兆候の 1 つは、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 を超える IO を探すこともできましたが、障害をより正確に特定できる数学的モデルを探していました。私が最初に考えたのは、各列の分散を計算することでした...分散の範囲が広すぎるドライブのセットは、違反者にフラグを立てます。ただし、これはドライブが正常に動作しているという誤ったフラグを立てます。
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.
他のアイデアはありますか?
(これは、stackoverflow ではなく、math.stackexchange.com にあるはずですか?)