大事なデータを守る!RAIDとは?
これまで見てきたように、HDDは壊れやすいんじゃ。
SSDも壊れにくいとはいえ、壊れないわけではない。
その上で、HDDやSSDに入った重要なデータを守るにはどうすればいいじゃろう?
さっきの「二重化」ですね!(ドヤ)
そうじゃな、しかしドライブの場合、二重化では十分でない場合も多い。
仮に、二重化した両方のドライブが壊れた場合データ損失の恐れがある。
だったら三重化とか四重化とか五重化にするんでしょうか?
ふむ、考え方は悪くないが、仮に三重化したとすると
必要な容量の3倍以上の容量のドライブが必要ということになる。
それではあまりに費用がかかり過ぎてしまうのう。
ここで登場するのがRAIDという技術じゃ!
RAID(レイド)とは?
RAID(Redundant Arrays of Inexpensive Disks) は、直訳すると「冗長性のある安価なディスクの配列」という意味であるように、複数のドライブを組み合わせて、仮想的な1つのドライブとして運用し、信頼性や性能を向上させる技術。
複数のドライブを組み合わせて
1つの大きなドライブとして使用できる!
よく使われているRAIDは下記の通りじゃ。
代表的なRAIDの種類
RAID 0(ストライピング)
データを複数のドライブに分散させて書き込むことで、
性能を向上させる方式
・高速な書き込み/読み取りを実現できる
・ディスクの利用効率が高い
・構成されているドライブのうち、1本でも障害が発生すると
 故障したドライブのデータがロストする(=冗長性がない)
RAID 1(ミラーリング)
同じデータを2本のドライブに並列に書き込みを行い、
耐障害性を高める方式
・1本のドライブに障害が発生しても、処理の継続が可能
・2本のドライブに同じデータを二重で保存するため
 2本で1本分の容量しか使用できない
 (=利用効率が低い)
RAID 10 (1+0)
性能の良いRAID0の弱点である耐障害性を、RAID1と組み合わせる
ことによって補い、性能と耐障害性を両立させた方式
・同一のミラーセットを構成するドライブの両方に
 障害が発生しない限り、処理の継続が可能
 ※左の例の場合、
  ドライブ1とドライブ2が同時に障害 ⇒ アウト
  ドライブ1とドライブ4が同時に障害 ⇒ セーフ 
・2本のドライブに同じデータを二重で保存するため
 2本で1本分の容量しか使用できない
(=利用効率が低い)
分散して書き込む!
二重に書き込む!
RAID0とRAID1の合わせ技!
RAID 5(パリティレイド)
RAID0同様に、データを複数のドライブに分散させて書き込むが、
併せてパリティデータ(誤り訂正補正)も同時に書き込む方式
・1本のドライブに障害が発生しても、処理の継続が可能
 (パリティ情報と正常なディスクのデータから、元データの回復が可能)
・読み込み時のパフォーマンスは高速
・パリティの保存に必要なのは、構成ドライブ本数に関わらず
 1本分の容量なので、ドライブ本数が多い場合、利用効率が高い
・書き込みの際は、パリティデータを算出・生成するため
 書き込み性能は劣る
・同時に2本以上のディスク障害の場合は、データの回復が不可能
RAID 6(ダブルパリティレイド)
RAID 5同様、書き込みの際にパリティデータを書き込むが、
パリティデータを2本のドライブに分散して書き込むことで、
耐障害性を高めた方式
・2本のドライブに障害が発生しても、処理の継続が可能
 (パリティ情報と正常なディスクのデータから、元データの回復が可能)
・書き込みの際に、2重でパリティデータを算出・生成するため
 書き込み性能はRAID 5より劣る
・パリティデータ保存のために、ドライブ2本分の容量が必要と
 なるため使用効率もRAID 5と比較すると劣る
パリティによってデータ復元可能!
パリティによってデータ復元可能!
パリティ のイメージがあまり湧かないです。
あくまでイメージじゃが・・
「1」と「3」というデータを書き込むときに、パリティデータとして1と3の合計である「4」を書き込んでおくとしよう。
もしドライブ2に障害が起きて、「3」というデータが失われた場合、
パリティデータの「4」と正常なドライブ1のデータ「1」から、4-1=3ということで
ドライブ2の「3」というデータを復元できる、というイメージじゃ。
復元されたデータはどこにいくんですか?
いいところに気づいたのう。
復元用にホットスペアディスクと言われる、予備のディスクを搭載しておくんじゃ。
予備のディスクにデータを復元することを、リビルド(再構築) と言う。
なるほど! ドライブが故障しても修復できるというのがなんとなく理解できました。
RAID6だと、ドライブが2本壊れても大丈夫ってすごいですね。
でもその分、実際に使える容量が減ってしまうんでしょうか?
そうなんじゃ。
例えば2TBのHDDが5本あったとして、実際に使える容量を考えてみよう。
実際には、システムで使用される領域等も考慮する必要があるので、
上記の値よりもさらに使える容量は少なくなってしまうんじゃ。
わー、こんなに減ってしまうんですね。
さらにホットスペアディスクも必要なんですよね?
ちょっと勿体ない気がするけど・・・それよりもシステムを止めないこと、
データを守ることのほうが重要ですもんね!
追加の容量が必要だったら、ディスクを増やせばいいんですよね?
うむ、企業向けのストレージは拡張性に優れているものが多い。
本体にドライブが収まらなければ、拡張シェルフを接続して
さらに多くのドライブを使用することができる製品が一般的じゃよ。
大きなシステムだと、何十段もの拡張シェルフが接続されていることもあるんじゃ。
じゃあRAIDと拡張シェルフがあれば安心ですね!
ところがどっこい、最近はハードディスクの1本あたりの容量が大きくなった
ことでリビルド(再構築)時間の長時間化が課題になることがある。
容量の大きいHDDだと、リビルドに丸一日以上かかる場合もあるんじゃ。
そこでRAIDに代わる新たな技術として注目されているのが
イレイジャーコーディング という技術じゃ。
イレイジャーコーディング
イレイジャーコーディングの
メリット
・ドライブやストレージノードの複数同時障害に耐えられる
・RAIDのようにリビルドが発生しないため、より可用性が高くなる

pagetop