Tweet

RAID 故障計算の簡便法

RAID の故障モデル」の日記を書いてから1ヶ月も間が開いてしまったが,気にせず再開してみる.

簡便法

RAID クラッシュ率の簡便な計算法を考えてみる. まずは RAID5 について考えてみよう. モデルと記号に前回と同様なので省略.

  V1  V2  V3  V4
┌─┬─┬─┬─┐
│A│B│C│D│アクセス領域    r
├─┼─┼─┼─┤
│ │ │ │ │
│E│F│G│H│非アクセス領域  1 - r
│ │ │ │ │
└─┴─┴─┴─┘

RAID の故障モデルでは

「子ボリューム1の非アクセス領域に故障発生 → 子ボリューム1の非アクセス領域に故障発生 → 子ボリューム1のアクセス領域に故障発生」は復旧可能である

というように,復旧可能な場合について細かく積算してきた. 確かに正確ではあるのだが,はっきりいってめんどくさい.

というわけで,ここでは潔く

任意の子ボリュームの非アクセス領域に1つエラーが発生した時点でクラッシュ

という見かたで行ってみよう.

すると,再構築に成功するのは「アクセス領域に故障が発生した場合」のみとなるので

r

となる.

実は詳細計算の方では「子ボリュームが3の RAID5」と「子ボリュームが4の RAID5」ではクラッシュ率は微妙に異なる. また,RAID5 と RAID1 のクラッシュ率も微妙に異なる. が,簡便法では「非アクセス領域に故障が発生した場合」はクラッシュと見るので,子ボリュームの数なんてパラメータは現れない. そのような差を見たいときは詳細計算するしかない.

RAID6 / RAID1 の3重ミラー

RAID6 や RAID1 の3重ミラーについても RAID5 の計算と同様,樹形図を書いてじっくりと場合分けすれば計算は可能である. が,やはり「アクセスしてみて初めて故障を発見する」という前提がある以上,非アクセス領域が多い場合は,RAID5 と同様の問題を抱えていることになる. ただ,「2ドライブの故障までは修復可能」なので多少はマシ,という程度である.

これについても簡便法で考えると,RAID がクラッシュするのは

最初の故障が非アクセス領域で,次の故障も非アクセス領域

の場合である. つまり,クラッシュ率は

( 1 - r )^2

となる. リビルド成功率はこの余事象であるから

1 - ( 1 - r )^2 = -r^2 + 2r

となる.

グラフ

これらをグラフにしてみる.

about.png

RAID5 では簡便法が詳細計算よりもリビルド成功率がやや悪めに出ていることがグラフから読み取れる. 「本当は再構築成功」となる場合を切り捨てて「クラッシュ」としているので,それは当たり前である. RAID6 の場合は簡便法のみをプロットしている.

簡便法の使い途

簡便法はこのように「悪め」の値が出る計算法である. つまり,リビルド成功率の「下限」を表していることになる. というわけで,システム設計にはこの簡便法の値を使って計算しても構わないと言えるだろう.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-03-22 (土) 20:54:01 (4330d)