無料ダウンロード
IT業界の新人必見!インフラ知識が学べる
  1. TOP
  2. Lv.1_ストレージを最初に学ぶ人が読む記事
更新日:2024-11-01
Level 1 ストレージを最初に学ぶ人が読む記事
第1章 ストレージの基礎

第4節 RAID/イレイジャーコーディング/Dynamic Disk Poolsとは?

第3節ではドライブ(HDD,SSD)の概要とハイブリッドストレージ、オールフラッシュストレージの違いについて解説しました。
今回はHDDやSSDの故障に備える「RAID」と、新たな冗長化技術を解説します。

二重化じゃダメ?HDD/SSDの故障に備える冗長化技術

ストレージ博士
これまで見てきたように、HDDは壊れやすいんじゃ。
SSDも壊れにくいとはいえ、壊れないわけではない。
その上で、HDDやSSDに入った重要なデータを守るにはどうすればいいじゃろう?
hakase
tameru_laugh
出板 ためる
さっきの「二重化」ですね!(ドヤ)
ストレージ博士
そうじゃな、しかしドライブの場合、二重化では十分でない場合も多い。仮に二重化した両方のドライブが壊れた場合、データ損失の恐れがある。
hakase
二重化のデータ損失
tameru_surprise
出板 ためる
だったら三重化とか四重化とか五重化にするんでしょうか?
ストレージ博士
ふむ、考え方は悪くないが、仮に三重化したとすると必要な容量の3倍以上の容量のドライブが必要ということになる。それではあまりに費用がかかり過ぎてしまうのう。
ここで登場するのがRAIDという技術じゃ!
hakase
三重化は高コスト

RAIDとは

RAID(Redundant Arrays of Inexpensive Disks) は、直訳すると「冗長性のある安価なディスクの配列」という意味であるように、複数のドライブを組み合わせて、仮想的な1つのドライブとして運用し、信頼性や性能を向上させる技術。

RAID
ストレージ博士
よく使われているRAIDは次の通りじゃ。
hakase

RAID0 (ストライピング):分散して書き込む

データを複数のドライブに分散させて書き込むことで、性能を向上させる方式

RAID0
メリット
  • 高速な書き込み/読み取りを実現できる
  • ディスクの利用効率が高い
デメリット
  • 構成されているドライブのうち、1本でも障害が発生すると故障したドライブのデータがロストする(=冗長性がない

RAID1(ミラーリング):二重に書き込む

同じデータを2本のドライブに並列に書き込みを行い、耐障害性を高める方式

RAID1
メリット
  • 1本のドライブに障害が発生しても、処理の継続が可能
デメリット
  • 2本のドライブに同じデータを二重で保存するため 2本で1本分の容量しか使用できない(=利用効率が低い)

RAID10 (1+0):RAID0とRAID1の合わせ技

性能の良いRAID0の弱点である耐障害性をRAID1と組み合わせることによって補い、性能と耐障害性を両立させた方式

RAID10
メリット
  • 同一のミラーセットを構成するドライブの両方に障害が発生しない限り、処理の継続が可能
※上記の例の場合、
  • ドライブ1とドライブ2が同時に障害⇒アウト
  • ドライブ1とドライブ4が同時に障害⇒セーフ
デメリット
  • 2本のドライブに同じデータを二重で保存するため2本で1本分の容量しか使用できない(=利用効率が低い

RAID5 (パリティレイド):パリティによってデータ復元可能

RAID0同様にデータを複数のドライブに分散させて書き込むが、併せてパリティデータ(誤り訂正補正)も同時に書き込む方式

RAID5
メリット
  • 1本のドライブに障害が発生しても、処理の継続が可能(パリティ情報と正常なディスクのデータから、元データの回復が可能)
  • 読み込み時のパフォーマンスは高速
  • パリティの保存に必要なのは、構成ドライブ本数に関わらず1本分の容量なので、ドライブ本数が多い場合、利用効率が高い
    • ドライブ4が同時に障害⇒セーフ
デメリット
  • 書き込みの際は、パリティデータを算出・生成するため書き込み性能は劣る
  • 同時に2本以上のディスク障害の場合は、データの回復が不可能

RAID6 (ダブルパリティレイド):パリティによってデータ復元可能

RAID5同様、書き込みの際にパリティデータを書き込むが、パリティデータを2本のドライブに分散して書き込むことで、耐障害性を高めた方式

RAID6
メリット
  • 2本のドライブに障害が発生しても、処理の継続が可能(パリティ情報と正常なディスクのデータから、元データの回復が可能)
デメリット
  • 書き込みの際に、2重でパリティデータを算出・生成するため書き込み性能はRAID5より劣る
  • パリティデータ保存のために、ドライブ2本分の容量が必要となるため使用効率もRAID5と比較すると劣る
tameru_cry
出板 ためる
パリティのイメージがあまり湧かないです。
ストレージ博士
あくまでイメージじゃが…
「1」と「3」というデータを書き込むときに、パリティデータとして1と3の合計である「4」を書き込んでおくとしよう。
hakase
パリティ=4
ストレージ博士
もしドライブ2に障害が起きて、「3」というデータが失われた場合、パリティデータの「4」と正常なドライブ1のデータ「1」から、4-1=3ということでドライブ2の「3」というデータを復元できる、というイメージじゃ。
hakase
パリティ4-1=3

予備ディスクに復元するリビルド(再構築)

tameru_question
出板 ためる
復元されたデータはどこにいくんですか?
ストレージ博士
いいところに気づいたのう。
復元用にホットスペアディスクと言われる、予備のディスクを搭載しておくんじゃ。予備のディスクにデータを復元することを、リビルド(再構築)と言う。
hakase
正常時
ホットスペアディスク
ディスク故障時
リビルド
tameru_idea
出板 ためる
なるほど!ドライブが故障しても修復できるというのがなんとなく理解できました。RAID6だとドライブが2本壊れても大丈夫ってすごいですね。
でもその分、実際に使える容量が減ってしまうんでしょうか?
ストレージ博士
そうなんじゃ。例えば2TBのHDDが5本あったとして、実際に使える容量を考えてみよう。
hakase
RAIDを構成していない場合
2TB×5本=10TB
RAID6の場合
2TB×3本=6TB
tameru_surprise
出板 ためる
わー、こんなに減ってしまうんですね!
さらにホットスペアディスクも必要なんですよね?ちょっと勿体ない気がするけど…
それよりもシステムを止めないこと、データを守ることのほうが重要ですもんね!追加の容量が必要だったら、ディスクを増やせばいいんですよね?
ストレージ博士
うむ、企業向けのストレージは拡張性に優れているものが多い。
本体にドライブが収まらなければ、拡張シェルフを接続してさらに多くのドライブを使用することができる製品が一般的じゃよ。
大きなシステムだと、何十段もの拡張シェルフが接続されていることもあるんじゃ。
hakase
多段の拡張シェルフ

イレイジャーコーディングでリビルド時間を短縮

tameru_laugh
出板 ためる
じゃあRAIDと拡張シェルフがあれば安心ですね!
ストレージ博士
ところがどっこい、最近はハードディスクの1本あたりの容量が大きくなったことでリビルド(再構築)時間の長時間化が課題になることがある。
そこでRAIDに代わる新たな技術として注目されているのがイレイジャーコーディングという技術じゃ。
hakase

イレイジャーコーディング

イレージャーコーディングは数学的関数を使用し、一連のデータをあらかじめ冗長性を含む形式に変換する技術。データを複数の細かな塊に分割し、それぞれのパリティを別々に保存することで、複数台のディスクやノードが故障しても復元が可能です。

書き込み時
パリティ生成し分散書き込み
読み出し時
一部のデータとパリティで復元
イレイジャーコーディングのメリット
  • ドライブやストレージノードの複数同時障害に耐えられる
  • RAIDのようにリビルドが発生しないため、より可用性が高くなる

Dynamic Disk Pools(DDP)で耐障害性とドライブの効率化を両立

バックアップ博士
また、RAID6をベースにした新しいRAIDの概念として、「Dynamic Disk Pools(DDP)」がある。製品によって「Virtual Pool」とも言う。Dynamic Disk Pools(DDP) とは、複数のドライブをプール化する機能じゃ。 プール内全てのドライブに「データ」、「パリティ」、「ホットスペア」領域を分散し配置することで、ホットスペア専用ドライブが不要となり全てのドライブを効率的に利用することが可能になる。
hakase

Dynamic Disk Pools(DDP)とは

Dynamic Disk Pools(DDP) とは、RAID6をベースに複数のドライブをプール化する機能。耐障害性を保ちつつ従来のRAIDよりも容量追加が柔軟。

従来のRAID
容量追加は物理ディスク構成に依存する

容量は各ディスクグループの利用可能領域までしか増やせない。領域を超えて容量を増やしたい場合は物理的にRAIDグループを構成する必要がある。

物理的にRAIDグループを構成
Dynamic Disk Pools
複数の物理ディスク構成で容量をプールするため、耐障害性とドライブの効率化を両立

増設時に物理ディスクは一つから追加できるためコストを最小限に抑えた容量追加が可能。

容量をプール
メリット
  • ホットスペア用のドライブが不要なため、すべてのドライブを無駄なく活用できる。
  • ディスク故障時、プール内の全ドライブに対しリビルド(再構成)の平行処理が行うため、リビルド時間を大幅に短縮し、性能劣化を最小限に抑える。
  • 増設時、1本ずつディスクを追加可能でパフォーマンスのスケールが可能
デメリット
  • ホットスペアを固定できない

今回はHDDやSSDの故障に備える「RAID」と、新たな冗長化技術「イレイジャーコーディング」と「Dynamic Disk Pools(DDP)」について解説しました。求める耐障害性レベルによって選択すべき冗長化技術は異なります。検討中のストレージ製品がどのくらいの冗長化レベルか確認してみましょう。
次回はストレージの容量を決める上で必ず理解しておかなくてはならないデータ量の表し方「ビット」「バイト」を解説します。次のページに進んでみましょう。

  1. TOP
  2. Lv.1_ストレージを最初に学ぶ人が読む記事