普段業務でRAIDを構築することがあるかと思います。
あんまり細かいことに触れずに、ざっくりと説明していこうと思います。
サーバ製品といえども、PCと同じくデータそのものはHDD(SSD)に保存されます。
HDDもいつかは壊れます。
HDDが壊れたら、サーバは停止します。
RAIDというのは複数のHDDを使用してデータを冗長しようとする技術のことです。
RAIDにはいくつかの種類があります。
一つずつ簡単に紹介してみましょう。
・RAID0・・・ストライピングと言います。2つ(以上)のHDDを用意してデータを細切れにして両方のHDDに保存します。HDDを増やせば増やすほど高速化が期待できるのですが、一つでもHDDが壊れるとデータは読み出しできなくなります。
つまり、RAIDと名前がついているものの冗長していないのでRAIDとは呼べません。
1TBのHDDを2つ買ってきてRAID0で構築すると2TBのデータが書き込めます。(100%)
・RAID1・・・ミラーリングと言います。2つ(以上)のHDDを用意して両方に同じデータを書き込みます。一つ壊れてもデータはまるまる残っています。
壊れたディスクを交換するとRAIDの再構築(まるっぽコピー)が始まります。
1TBのHDDを2つ買ってきてRAID1で構築しても1TBのデータしか書き込めません。(50%)
・RAID0+1・・・RAID10と表現されることもあります。
上述のRAID0とRAID1を組み合わせたものです。
速度と冗長性を成立させることができます。
1TBのHDDを4つ買ってきてRAID0+1で構築すると2TBのデータが書き込みできます。(50%)
・RAID5・・・ここから、実際によく使用されるRAIDとなります。
HDDを3台(以上)用意して(A,B,Cとしましょう)データをA,Bに保存します。Cにはパリティ情報というものを書き込みます。
パリティ情報はデータの復旧に必要なデータだと思ってください。
さらに追加のデータを書き込むときにはまた違うディスクにパリティを書き込みします。
RAID5では1台のHDDが壊れても、それを新品に入れ替えることでデータの復元が可能です。
1TBのHDDを3つ買ってきてRAID5で構築すると2TBのデータが書き込みできます。(66.7%)
・RAID6・・・RAID5のようにパリティ情報を生成しますが、RAID6ではこのパリティを2種類生成して、おのおの違うディスクに書き込みます。
このRAIDでは同時に2つまでHDDが壊れても復旧できます。
1TBのHDDを6つ買ってきてRAID6で構築すると5TBのデータが書き込みできます。(88.3%)
RAID3やRAID4などもあるにはあるのですが、ほとんど使用されていません。(少なくともわたしは構築した経験がありません。)
興味のある方は以下リンクをどうぞ。
RAIDを実装するには目的のRAID種別に対応したRAIDカードが必要です。
RAIDカードには電池が搭載されています。
サーバのマザーボードにもともとRAID機能がついていることもあります。
RAIDにはソフトウェアRAIDとハードウェアRAIDがありますが、ソフトウェアRAIDはほとんど使われていないと思います。
ソフトウェアRAIDではRAID処理にCPUを使用しますので負荷が増大するのと、OSの起動後にしか有効にならないので起動ディスクには使用できません。
また障害発生後にHDDを入れ替えると始まるリビルド処理のあいだ、負荷が大きすぎてほとんどなにも出来ない時間が発生します。(最近の高性能CPUではなんとか凌げるかも知れませんが・・・)
ハードウェアRAIDはOSから見ると単一のHDDにしか見えません。
「設定したのに1個しかHDDがない!」と慌てないでくださいね。
以上はサーバの内蔵HDDを想定して紹介してきましたが、外部接続されるストレージ製品(iStorageやNetAppなど)も同様にRAID構成されることがほとんどです。
ストレージ製品についてはここでは紹介しませんが、似たようなものだと思ってください。
障害が発生した場合、HDDを交換する必要があります。
この交換はサーバのシャットダウンを(基本的には)伴いません。
これを「ホットスワップ」と呼びます。
対応していないということはほぼ無いかと思いますが、機器選定に携わる可能性がある人は気にしておいてください。
またRAID製品(主にRAIDカード)には巡回ソフトがついてくることがあります。
OS起動中は常にディスク内を巡回して異常検知(物によっては通報まで)してくれるものです。
OSだけをみているとRAIDを構成するディスクが1つ壊れても通常通り稼働しているので、管理者にどうやって壊れたことを伝えることができるのかは気にしておいてください。
1つ壊れた(この時点ではちゃんと動いている)ことに気が付かないで運用を続けて、さらにもう1台HDDが壊れると目も当てられません。なんのためにRAIDにしたのかと責められることでしょう。