RAID構成の比較

古いストレージからデータ移行を考えるときに出てくる話。
RAID1+0とRAID6どちらの方が信頼性に優れているのかということがたまに話題にあがる。

RAID1+0は2本故障でも問題ない場合と問題がある場合に分かれる一方、RAID6については2本故障は問題ない。
そういう点では直感的にはRAID6の方が信頼性が高いように感じる。

現行ストレージと新ストレージの製品間の信頼性を比較する話だと、それぞれの部品の故障率とかが分からないと難しい。
一般的な評価を行う上で、簡単なモデルでそれぞれの方式の差を評価してみる。

前提

あまり複雑なモデルを考えるとそもそも理解が難しいのと、私もよくわからなくなるので、凄く簡略化して考える。
まず、ディスクの1日あたりの故障率を10%とする。
同じ日に複数のディスクが故障し、稼働に必要なディスク本数を下回った状態をRAIDグループの故障とする。
ディスクの容量は1本あたり500GBとする。
ホットスペア等は考慮しないものとする。

要するに今回はホットスペアへの切替(データコピー)中の故障とか、問題を難しくする話は抜きということで...。
また、各RAIDの詳細な説明しません。構成や特徴を知りたい人はwikipediaを見てください。
RAID - Wikipedia

RAID1+0

RAID1+0の場合、ミラー(RAID1)したディスクをストライピング(RAID0)する。
ミラーしたディスクの稼働率は1 - [2本とも故障する確率]ということで、となる。
ミラーしたディスクをストライピングした場合(全4本構成)の稼働率はとなる。
ストライピング数をnとした場合の稼働率はとなる。

RAID5

RAID5の場合、3本構成の場合の稼働率は[3本のうち0本が故障する確率] + [3本のうち1本が故障する確率]となる。
3本のうち0本が故障とは○を正常、×を故障とした場合、○○○の1通りがある。
3本のうち1本が故障とは×○○、○×○、○○×の3通りがある。
すなわち、稼働率はとなる。
ディスク本数をnとした場合の稼働率はとなる。

RAID6

RAID6の場合、4本構成の場合の稼働率は[4本のうち0本が故障する確率] + [4本のうち1本が故障する確率] + [4本のうち2本が故障する確率]となる。
RAID5と同様の考え方のため、詳細は省略するが、ディスク本数をnとした場合の稼働率はとなる。

比較

容量毎に稼働率をプロットした。
(※前提に記載のとおり、ディスク1本の故障率は10%と置いているので注意)
raid_compare.png

同容量のディスクを提供する場合に、RAID6が最も稼働率が高い。
といってもディスクの本数が増える(=相対的に冗長領域が減る)のに従い、稼働率はRAID1+0より急速に低下する。
(一般的にはメーカー推奨のディスク本数まで増えたらRAIDグループを分けて稼働率を維持するので問題にはならないが。)

RAID5については...RAID1+0、RAID6と比べると稼働率に大きな差があるように見える。
RAID1+0とRAID6ではRAID6の方が信頼性観点では同等以上だと思うし、何よりディスクの容量効率が圧倒的にRAID6の方がよい。

というわけで、世の中の潮流通り?にRAID6がほとんどの用途には最適でしょう。