ディスクの冗長性の確保

サーバやPCで最も壊れやすいのは、物理的な可動部を持つ「ハードディスク(HDD)・光学式ドライブ・ファン類(CPU・ケース・電源ユニット)」が上げられます。
中でも、電源投入時にスピンアップするHDDや都度回転数が変わる光学式ドライブは壊れやすい印象を受けます。
(何よりもコスト優先の結果な気もしますが...)。

光学式ドライブは常用することは少ないと思いますので「いざ使おうとした時に故障に気がつく」というケースが多いような気がします。
これがHDDだとこうはいかず、致命的な事態になります。
昨今のサーバ・PCではHDDが故障すると起動もままならず、データの損失もありえるからです。

そのため、データを保護する仕組みとして、RAID(A Case for Redundant Arrays of Inexpensive Disks)という概念が生まれました。
RAIDの論文が発表された1988年は、HDDがまだ小容量で非常に高価だったこともあり

  • データ保護
  • 複数のHDDをまとめて1つの大きいHDDに見せる

の2つの側面がありました。
この論文では、RAIDは1~5までの5種類が定義されていますが、後に拡張され複雑になっています。

現在、使われているRAID技術を簡単にまとめてみたいと思います。
ちなみに冗長性とは「不慮の事態に備えて余分な部品を用意しておきましょう」ということです。
コストと安全性は両天秤ですからね。

RAID
規格 耐障害性 *1 特徴 構成本数 (>=)
RAID0 読み書きを分散することで、読み書きともに高速だが、冗長性なし。 2
RAID1 データを複製することで冗長性を確保。読み出しは高速化される傾向あり。 2
RAID5 データにパリティを持たせることで冗長性を確保。読み出しは高速化される傾向があるが、書き込みは低速。 3
RAID6 データにRAID5の2倍のパリティを持たせることで冗長性を確保。RAID5の傾向がより顕著に出る。 4
RAID1+0 RAID1構成のボリュームをRAID0で冗長化することで、耐障害性とシングルドライブ以上の書き込み速度を実現。 4
RAID1+5 RAID1構成のボリュームをRAID5構成で冗長化することで、耐障害性をUP。読み出し速度はRAID5を上回る傾向。 6
RAID1+6 RAID1構成のボリュームをRAID6構成で冗長化することで、耐障害性をUP。傾向はRAID1+5と同じ。 8

*1:最低限耐えられる故障台数

上記表の構成本数から耐障害性を引いた分が使える容量になります。
一般的には、I/O重視のDBサーバ類にはRAID1やRAID1+0を、読み出し重視のWebサーバ等にはRAID5等を割り当てます。

コメントを残す