RAIDに取って替わるもの(前編)

著者:Marc Staimer
Storage Magazine 2010年5月号より


長年にわたり、さまざまな形のRAIDが広く使用され、データの保護に役立ってきた。しかしドライブの大容量化や新たなパフォーマンス要件に後押しされて、RAIDの代替技術の開発が進んだ。

 

RAID(Redundant Array of Independent Disks)は、1989年以来、ディスクベースのデータ保護の標準となっており、実績のある信頼性の高い手法としてデータストレージの基本構成要素と見なされている。ストレージの基本的な理念は、ごくゆるやかな変化傾向にあり、RAIDもその人気ぶりと実績にかかわらず変化しつつある。

 

RAIDの代替技術が魅力的な選択肢となり得る理由をより深く理解するには、RAIDおよび増加傾向にあるRAIDの問題を、ある程度理解する必要がある。

21世紀におけるRAIDの短所

RAIDの目的は、ハードディスクドライブ(HDD)に障害が起きた場合にデータを保護することだ。HDDの障害が起きたとき、そのHDD(1台または複数)にあったデータは、使用しているRAIDのタイプに応じて、パリティから再作成またはミラーからコピーされる。電気的なメカデバイスであるディスクドライブは、あらゆるストレージシステムにおいて障害が起きる可能性が最も高く、平均故障間隔(MTBF)を最も短くしている。

データストレージの増大率は、IDC、Gartner、Enterprise Strategy Groupなどの調査会社によると年間50%から62%と言われている。このような急速な増大に対応するには、非常に多くのHDDが必要だ。統計的に言えば、HDDの数が増えるほどHDD障害の数も増えることになる。ディスクドライブメーカーが製造するHDDの密度は高まる一方で、現在SATAには2TBのものがあり、2010年末までには4TBになる可能性がある。高パフォーマンスのSASやファイバチャネル(FC)ドライブの容量までも、600GBに近付きつつある。このように高密度化が進むドライブでリビルドが必要になればRAIDの問題はすぐに顕在化する。

RAIDのタイプ(下記の「従来のRAIDレベル」を参照)には、書き込み性能、読み取り性能、データ保護レベル、データリビルド速度、各HDDのストレージ有効容量といったすべての面において完全というものはなく、ある面をとれば別の面を諦めなければならない。例えば、データ可用性を保証することが最優先事項である場合は、ミラーリングの変化形や複数ミラー(RAID1、10、トリプルミラーなど)の手法が必要となるだろう。他のHDDやRAIDセットにデータのフルコピーを置けばデータの保護とリカバリはシンプルになるが、使用できるストレージはミラーごとに元データと同じ量分減るため、目に見える形でコストが増える。さらに、各コピーにシステムリソースが必要となるため、I/Oパフォーマンスが低下するおそれがある。現実的には、大半の組織がそのような過剰な保護を避け、RAID5またはRAID6(またはその両方)を使用している。

 

RAID5セットの中でHDDに障害が起きると、システムが予備ドライブにデータをリビルドし、障害が起きたHDDに代わって予備ドライブが稼働し始める。ストレージシステムはその時、RAIDセット内の全HDDの全セクターを活用してデータを再構築する。このようにRAIDセット内の他のHDDに高い負荷がかかると、その大きさにより別のHDD障害(通常、修復不能な読み取りエラー)が起きる可能性が高まり、その結果データが失われる可能性が格段に高くなる。現在に比べてディスク容量が遥かに小さかった10年前から20年前は、リビルド所要時間は数分単位だった。しかしディスク容量がテラバイト単位になった今、リビルドには数時間、数日間、果ては数週間かかる場合もある。リビルドによるシステムパフォーマンスの低下をユーザが許容できない場合は、リビルドの優先順位が低く設定され、リビルド時間が極めて長くなる。データ再構築にかかる時間が長くなれば、多くの場合データ消失のリスクが格段に高くなる。そのため、多くのストレージ組織がRAID6に重点を移しつつある。

 

RAID6では、HDD2台に障害が起きた場合またはRAIDセット内で修復不能な読み取りエラーが生じた場合でもデータを保護する第2のパリティ、つまりストライプを生成する。データ消失のリスクは劇的に低下するが、ストライプ生成により使用できない容量が増える。また2台のドライブを同じRAIDグループから同時に再構築する必要がある場合はシステムパフォーマンスの低下が大きくなる。さらに悩ましいのは、リビルド中に第3のHDD障害が起きる、または修復不能な読み取りエラーが生じると、データ消失のリスクが高まることだ。

 

そのほかにもRAIDには、データ再構築の失敗につながるおそれのある「bit rot」(時とともに背後にある放熱、損耗、埃などの原因からHDDに隠れた欠陥が生じること)のような問題がある。大半のストレージシステムは、bit rotによって修復不能となる前にデータを読み取り、検証し、訂正する何らかの種類のバックグラウンドスクラビング機能を備えているが、スクラビング処理はシステムリソースを消費する。また容量が大きいほど、スクラビングにかかる時間も長くなる。

 

そのほかにRAIDで問題となるのは、障害が起きたHDDの交換に際してHDDの処理履歴を文書化することだ。処理履歴には障害が起きたHDDを取り出した時から破棄または再調整した時までの証跡(「誰が」「何を」「いつ」「どこで」という情報)が含まれる。この文書化は煩雑で、手作業の多いタスクであり、HDDが暗号化されている場合には厳密さが若干損なわれる。さらに悩ましいのは、障害が起き、工場に送られて解析や再調整を受けたHDDの大多数(67%から90%の間)が、「正常である」または「障害が見られない」と判定されることだ。残念ながら、そのことが判明するのはシステムでHDDに障害が起き、HDDが取り出され、データが再構築され、処理履歴が文書化された後だ。「障害が見られない」と判定されると運用上大きな損失となる。

 

ソリッドステートストレージデバイスでは、実のところ前述のRAIDの問題はさらに深刻化する。ソリッドステートドライブ(SSD)は高パフォーマンスのアプリケーションを処理できるため、高パフォーマンスHDDは少なくして、より高密度で低パフォーマンスのHDDでストレージシステムを構築できる。NetAppのCEOであるTom Georgens氏は先日、「将来は高速アクセスデータはフラッシュに格納され、その他のデータはSATAドライブに格納されるようになるだろう」と述べた。システムの設備投資と運用費用が低くなっても、RAIDの問題が増えるために結局運用費用が高くなってしまうおそれがある。

 

このようなRAIDの諸問題に触発されて、多くのベンダ、学者、起業家がRAIDの代替技術を考案した。ここではそのようにして考案された革新的な代替技術を、「RAID革新型」、「RAID変革型」、「パラダイムシフト型」の3つに分けて説明する。

”(後編に続く)”

※ 従来のRAIDレベル

RAIDレベル 説明 データ保護可能な最大HDD故障数 特定ベンダか
または標準か
RAID 0 ・書き込み性能を最大限に高めるためデータを複数のハードディスクドライブ(HDD)にストライピング
・実際にはデータは保護されない
0 標準
RAID 1 ・各HDDからのすべてのデータを完全複製HDDに同期ミラーリング
・HDD1台に障害が起きてもデータ消失なし
・高パフォーマンスと引き替えに実効容量が減る典型的なRAIDレベル
1 標準
RAID 2 ・エラー訂正符号(ECC)でデータを保護
・必要なパリティHDD数はHDD数の対数に比例
・パフォーマンスと信頼性の低いRAID5やRAID6よりも柔軟性がやや劣り、使用効率が劣る
・あまり使用されない
1 標準
RAID 3 ・N+グループ内のHDDの障害に対してデータを保護
・RAID5に似ているが、ブロックは複数のHDDに分散
・パリティはビット単位(RAID5ではブロック単位)
・パリティは全ディスクに分散するのではなく1台のHDDに格納
・ランダム書き込み性能は低く、ランダム読み取り性能はかろうじて十分という程度
1 標準
RAID 3
ダブルパリティ
・RAID3にバイト単位の第2のパリティディスクを追加したもの
・第2のHDD障害またはパリティHDDの障害時にもデータを保護
・パフォーマンスは標準的なRAID3に比べて若干遅い程度だが、HDD2台の同時リビルド時にシステムパフォーマンスが著しく低下するおそれあり
2 NEC Dシリーズ
RAID 4 ・RAID3と同様に、複数のHDDにデータをブロック単位(RAID3ではバイト単位)でストライピングし、ランダムアクセス性能を向上
・パリティ専用HDDでデータを保護
・RAID5に似ているが、パリティを分散せずにパリティ専用HDDを使用
・パリティ専用HDDがボトルネック(特にランダム書き込み性能)
1 標準
RAID 5 ・最もよく使用されるRAID
・RAID0並みのパフォーマンスと、より効率的な冗長性を実現
・ブロックデータを複数のHDDにストライピングし、パリティを複数のHDDに分散
・読み取り/書き込み処理を同時に複数実行してHDDをより効率的に使用
・RAID1や10に比べてより多くのストレージ実効容量を確保
・障害が起きたドライブのデータを再構築するために使用されるパリティ情報でデータを保護
・RAIDグループあたり最小3台、通常5台のHDD
・リビルドによりストレージシステムパフォーマンスが低下
・リビルド中に第2のドライブ障害が起きるとRAIDグループ全体のデータが失われるおそれあり
・パリティデータを各HDDに分散するため、読み取り性能は他のRAIDタイプより低くなる傾向あり
1 標準
RAID 6 ・RAID5に似ているが、第2のパリティを生成してRAIDグループの複数HDDに分散
・二重パリティで第2のHDD障害が起きた場合にデータを保護
・RAID5よりストレージシステムパフォーマンスが低くなる傾向、HDD2台の同時リビルド時に急激に低下するおそれあり
2 標準
RAID 10 ・RAID1にストライピングを組み合わせたもの
・書き込み性能が向上
1 標準
RAID 50 ・RAID5にストライピングを組み合わせたもの
・書き込み性能をRAID1に近い程度まで向上
1 標準
RAID 60 ・RAID6にストライピングを組み合わせたもの
・書き込み性能をRAID1に近い程度まで向上
2 標準
※Storage Magazine 2010年5月号より

 

略歴:Marc Staimer氏は、オレゴン州ビーヴァートンにあるDragon Slayer Consultingの創業者にしてシニアアナリスト。
同社はハイテク製品の戦略的計画立案、製品開発、市場開発を主力とするコンサルティング会社。
連絡先はmarcstaimer@mac.com




February 2010