Redundant Array of Inexpensive Disks – RAIDの基礎知識

スポンサーリンク
dvd-shrink0011

安定性や処理速度を高めるディスク構成

RAID ( Redundant Arrays of Inexpensive Disks )は「 レイド 」と読み、直訳すると「 安価なディスクの冗長配置 」。
冗長とは良く言えば「 余裕 」、悪く言えば「 無駄 」のことで、「 システム障害に備えて、無駄な安物ディスクを用意する構成 」が RAID ということになる。



現在のハードディスク( HDD )は昔に比べて安定性も速度も飛躍的に向上しているが、物理ドライブであれば必ず劣化してくる。
HDD の劣化時期については使用環境によって異なるが、早ければ 3 年~ 5 年で注意が必要なレベルになる。
それが昔の安定性に欠ける HDD なら尚さら危険度が増すため、安価な( と言って普通に流通している ) HDD を複数台用意し、 1 台故障しても他の HDD がデータを保持している環境を作ったのが RAID 構成。

「 RAID = Backup 」なのかと言うと RAID はシステムの「 冗長化 」であってバックアップではない。
確かに RAID の構成によってはデータの自動バックアップに似た動作をするので、非常に微妙なニュアンスなのだが、 RAID は単一ディスクにあるリスクを複数のディスクを使用して速度や信頼性を向上させるもので、障害時に備えデータそのものを複製して保持するバックアップとは根本的に意味合いが異なっている。

RAID を構築する際の注意点としては、容量や回転速度の異なるドライブを混在させると最も低いスペックに合わせて処理が行わるため、 RAID メンバーにする HDD は同容量で 回転率も同じドライブ の利用が効率的で、同じベンダーで同じモデルの使用が推奨されている。

RAIDの種類

RAID は構成によって得られる効果が異なり、それぞれの欠点を補うために構成を組み合わせて使用することもできる。
RAID の種類のことを RAID レベル と言い、代表的な RAID レベル は RAID 0 / RAID 1 / RAID 5 / RAID 6 で、実際にはそれぞれの RAID レベル を組み合わせて使用するケースが多い。

RAID 0  – ストライピング

RAID 0 は「 ストライピング 」と呼ばれる RAID の基本構成で、本来の RAID 構成の目的である耐障害性はないが、複数のディスクにデータを分散させて読み書きするため高速化を図ることができる。

Redundant Array of Inexpensive Disks 1

RAID 0 を構成するためには最低 2 台の HDD を必要とし、複数の HDD を 1 台のディスクのように扱うため、1 TB の HDD を 2 台使用して RAID 0 を構成した場合 サイズ容量は 2 TB になる。
ただし、高速化は図れるものの使用している HDD が 1 台でも故障すると、全てのデータが消失してしまうため、耐障害性については単一ディスクよりも劣ってしまう。

RAID 0 の故障率は単一のディスク使用時に比べ、使用しているHDDの数だけ高くなる。

「 データは消失するためにある 」という信念を持ったスピード狂向けの構成に見えるが、実際のところ HDD は頻繁に故障するものでもない。
ただ、他の RAID 構成と比較するとデータ消失のリスクは高いので バックアップは必須。

RAID 1 – ミラーリング

ミラーリングは RAID の最も基本である耐障害性のみに特化した構成で、 最低 2 台のディスクが必要。

Redundant Array of Inexpensive Disks 2

同一データを複数のディスクに書き込みを行うため高速化は得られないが、常にバックアップをとっているようなものなので耐障害性は非常に高く、なによりもディスクが故障した際に故障したHDDを交換するだけで復旧するためメンテも容易。

ただし、容量の異なるディスクでミラーリングを構成した場合、使用可能なディスク容量は最も容量が小さいディスクサイズになる。

バックアップ作業をつい怠ってしまう怠け者には有難い構成。

RAID 5 (パリティ)

RAID 5はパリティという「誤り検出符号」をデータに追加し、欠損したデータを算出して完全なデータを生成する構成。

Redundant Array of Inexpensive Disks 3

少々ややこしいが、一定のビット数のデータを合計した結果の最小桁が偶数か奇数(0または1)かを算出し、その結果に対して「常に(予め決められている) 0または1になる」数がパリティで、要は欠損したデータが0か1かを逆算するために追加される数のこと。

RAID5は元データに対してパリティという冗長数を追加したデータを分散して書き込むため、最低3台のディスクが必要になる。
3台のHDDで構成する場合、単純に2台のHDDに分散して書き込み、追加されたパリティ分として別に1台のHDDが必要だと考えれば良いが、実際は元データもパリティも3台のHDDに分散されて書き込まれる。
ただし、使用するHDDの台数が増加してもパリティ用のHDDは1台のため、RAID5のサイズ容量は使用するHDD数から1台マイナスした台数の合計サイズになる。

1 台のHDDが破損してもパリティからデータを復元するため、速度は低下するもののシステムは稼働する。が、1台のHDDが故障した状態はRAID0(ストラ イピング)と同じなので、2台以上のHDDが故障するとデータの回復は不可能になる。
また、データ分散により読込は高速だが、パリティを追加するので書き込みは遅くなる。

RAID5はパリティによってデータを復元できる優れた構成だが、パリティ演算は負荷がかかるため、チップセットに集積されているRAIDコントローラーでの使用は不向き。

RAID 10 (ミラーリング+ストライピング)

RAID10はRAID1(ミラーリング)を高速化するために、ミラーセットをRAID0(ストライピング)にした構成。
次項目のRAID0+1(ストライピング+ミラーリング)と混同しがちだが、両者は似ていて異なる。

Redundant Array of Inexpensive Disks 5

図のデータ「A・C・E」と「B・D・F」はそれぞれミラーセットになっており、1つのミラーセット内の HDDが同時に故障しない限り、システムは稼働可能。

RAID10は最低4台のHDDが必要なため、容量効率とコスト面でRAID5より劣ってしまうが、 RAID5 のようにパリティの追加がないため負荷が少なく、RAID0とRAID1の欠点を補った構成で、高速化と耐障害性を実現している。

RAID 0+1 (ストライピング+ミラーリング)

RAID10がミラーセットをストライピングするのに対し、RAID0+1はRAID0のアレイをミラーリングする。

Redundant Array of Inexpensive Disks 4

図の場合、HDD1・HDD2のアレイとHDD3・HDD4のアレイが1台ずつ(計2台)のHDDが故障した時点でデータが消失してしまう。

RAID10とRAID0+1を比較した場合、図のように4台のHDDで構成すると耐障害性は同じように思えるが、確率論ではデータが破壊されるのはRAID0+1の方が高いらしい。

Windows上でのRAID設定方法

一部制限はあるものの 手っ取り早くRAIDを構成するなら Windows のディスク管理での設定が便利。

制限というのは、Windowsが「Home Edition」の場合、構成できるRAIDは「RAID0」のストライピングのみで、「Professional」では「RAID0」と「RAID1」のミラーリングが可能になるが、いずれの場合もディスク管理方式は「ダイナミックディスク」になる。

Windowsのディスク管理は標準で「ベーシックディスク」になっており、ダイナミックディスクへの変換は既存データを維持したまま変換できるが、一般的にダイナミックディスクをベーシックディスクへ戻す際は、フォーマットされるためデータのバックアップ作業が必要になる。

また、1つのドライブをパーテーションで区切り、複数のOSをインストールしてマルチブート環境を構築している場合、ダイナミックディスクに変換すると起動できるOSが1つだけになるので要注意。

ベーシックディスクからダイナミックディスクへはデータを維持したまま変換できるが、RAID0を構成する際にはフォーマットするので、必要なデータは事前にバックアップしておく

Redundant Array of Inexpensive Disks 31「コントロールパネル」から「管理ツール」を選択し、「コンピュータの管理」をクリック。

Redundant Array of Inexpensive Disks 032

「ディスクの管理」をクリック。

Redundant Array of Inexpensive Disks 030

Cドライブのほかに、500GBのHDDを3台追加した状態。

Redundant Array of Inexpensive Disks 033

追加したドライブを1つ選択し、コンテキストメニュー(右クリックメニュー)から「新しいストライプボリューム」を選択。

Redundant Array of Inexpensive Disks 034

セットアップウィザードが開始するので「次へ」。

Redundant Array of Inexpensive Disks 035

ストライプボリュームを構成するドライブを選択して「追加」。

Redundant Array of Inexpensive Disks 036

ドライブを追加したら「次へ」。
ディスク領域は最大サイズになっているが、サイズを変更することも可能。

Redundant Array of Inexpensive Disks 037

デフォルトのまま「次のドライブ文字を割り当てる」にチェックが入った状態で「次へ」。
ちなみにドライブパスを割り振らないとアクセスできない。

Redundant Array of Inexpensive Disks 038

「このボリュームを次の設定でフォーマットする」にチェックを入れ、各項目はデフォルトのまま「次へ」。

ボリュームラベルは後から変更可能だが、設定する場合は任意で入力。

Redundant Array of Inexpensive Disks 039

設定は異常なので「完了」をクリック。

Redundant Array of Inexpensive Disks 040

フォーマットが完了したら約1.5TBのドライブとして利用可能。
ただし、RAID0なのでディスクパフォーマンスは向上するが、RAIDメンバーのドライブが1台でも故障したら、アクセスできなくなるリスクはある。

dvd-shrink0011

Basic Disk and Partition – ベーシックディスクとパーティション

Windows 標準のディスク管理 ベーシックディスク と パーティションについて Windows のディスク管理には「 ベーシックディスク 」と「 ダイナミックディスク 」があり、デフォルトでは「ベーシックディスク」に […]

dvd-shrink0011

Dynamic disc and RAID – ダイナミックディスクとRAID

スパンボリュームや ソフトウェアRAID が可能な Windows 独自のディスク管理 Windows のディスク管理には「 ベーシックディスク 」と「 ダイナミックディスク 」があり、デフォルトでは「ベーシックディスク […]

BIOS(UEFI)からのRAID設定方法

データを分散したり冗長数の追加など、RAIDの処理には少なからず負荷がかかるため、本来ならRAIDに関する処理を行う機能を持つRAIDカードを使用するのがベスト。

ただ、一昔前と比べるとCPUの処理能力は飛躍的に向上しており、RAID0,1,10程度ならチップセットのRAID機能でも十分に対応できる。
チップセットに実装しているRAIDレベルはマザーボードによって異なってくるが、RAID0,1,10(0+1)あたりがサポートされていることが多い。
また、RAID機能を実装していてもサポートされていないRAIDレベルは使用できないので、構成したいRAIDが予め決まっている場合はマザーボード購入時に要注意。
厄介なのがRAID10で、スペック表にRAID10と記載があっても「1+0」とは限らず、今回の例にあるように「0+1」の場合もあるので、気になるようなら販売店かベンダーに問い合わせたほうが良い。

BIOS(UEFI)からのRAID構成はOSのインストール前に行う必要があり、後からSATAモードを RAIDに変更すると、起動ディスクをRAIDメンバーから外していても認識しなくなる。

Redundant Array of Inexpensive Disks 7

見づらいがASRockのAMD FX990チップセットを搭載しているマザーボードのスペック表。
「SATA3」の項目にサポートされているRAIDレベルの記載があり、「RAID 0、RAID 1、RAID 0+1、JBODおよびRAID 5」に対応しているのが分かる。Redundant Array of Inexpensive Disks 8INTEL Z77チップセット搭載のマザーボードの同項目では、「RAID 0、RAID 1、RAID 10、RAID 5」のレイドレベルをサポートしている。

これらのRAIDレベルは同一チップセットを使用していてもモデルやベンダーによって異なってくる。

ちなみに安価だとオンボードRAIDに非対応、高価だとRAID対応というわけではなく、稀ではあるがASUSのM5A99FX PRO R2.0のように1万円を超えるMBでもRAID非対応モデルは存在する。

RAIDモードに変更する

RAIDを構成する際、まず初めに行うのがRAIDモードへの変更。

Redundant Array of Inexpensive Disks 27

UEFI(Unified Extensible Firmware Interface)はBIOSに替わるファームウェアで、BIOSでは不可能だった2TB以上のHDDからの起動が可能になる。
ただ、その他の違いはグラフィカルなインターフェイスとマウスが使用可能といったくらいで、基本的な項目はBIOSと同じ。

UEFIもBIOSと同様、起動直後に「Deleteキー」を押すと設定画面に移行する。
※UEFIの起動ショートカットはマザーボードのマニュアル参照。

Redundant Array of Inexpensive Disks 6

UEFIのメニュー画面に移行したら「Storage Configuration」を選択。

操作はマウスカーソルでクリックしても、BIOS同様カーソルキーと「Enter」キーでもどちらでもOK。

Redundant Array of Inexpensive Disks 11

従来のBIOSでも項目は同じ。

Redundant Array of Inexpensive Disks 9

「SATA Mode」を「RAID Mode」に変更する。

Redundant Array of Inexpensive Disks 12

BIOSの画面。
図は「SATA Port1 - Port4」になっているが、このあたりはマザーボードによって表記が異なってくる。
RAIDを構成するSATAのPortを「RAID」に変更。

Redundant Array of Inexpensive Disks 10

変更したら「ESC」を数回押すと上図のように「設定を保存してセットアップメニューから出ますか?」というメッセージがでるので「YES」を選択。

Redundant Array of Inexpensive Disks 13変更を保存してBIOSを出て完了。

RAIDの設定

オンボードRAIDの場合、搭載しているチップセットによって設定方法が異なり、同じチップセットでもマザーボードによってメニューの表記や操作が違っていることがある。

また、オンボードRAID で RAID を構成した場合、 RAIDドライブ は初期状態で未フォーマットのため、 Windows を起動後に コントロールパネルの「管理ツール」にある「コンピュータの管理」から「ディスクの管理」で認識している RAID ドライブをフォーマットしてドライブレターの割当が必要。

Intelチップセット

Intelのチップセットを搭載したマザーボードを使用している場合、BIOSやUEFIで「RAID Mode」に変更すると、起動時にIntel Rapid Storage Technology - Option ROMの画面が表示されるようになる。

Redundant Array of Inexpensive Disks 14

RAIDの設定画面へのショートカットは、上図赤枠部分に表示されるので、この画面が表示されている間にショートカットキーを押す。

RAIDメニュー呼び出しのショートカットキーは「Ctrl + I」が多いが、「Ctrl+M」の場合もある。

Redundant Array of Inexpensive Disks 15

この画面が開いたらRAIDの設定は終わったも同然。

ショートカットキーを押すタイミングが悪ければ、そのままUEFIもBIOSも起動ディスクを読みに行くので、当然ながら「No bootable device」と表示されるか、OSのインストールディスクを光学ドライブに入れている場合は、「Press any key to boot ~」と表示されるので、その場合は「Ctrl + Alt + Delete」で再起動し、RAIDメニューに移行するまで繰り返す。

Redundant Array of Inexpensive Disks 16

「Name」は構成するRAIDの名前なので「Volume0」のままで特に問題ない。

次に「RAID Level」を選択する。
上図の赤枠部分にカーソルを移動して「Enter」キーを押すと、サポートされているRAIDレベルが表示されるので、作成したいRAIDレベルを選択して「Enter」キーを押す。

RAIDレベルを決定したら、使用するHDDを選択するため「Disks」の「Select Disk」を選択して「Enter」キーを押す。

Redundant Array of Inexpensive Disks 17

画面が切り替わり、チップセット側で認識されているHDDが表示される。
RAIDのメンバーにするHDDを画面の指示通り「SPACE」キーで選択していく。
HDDを選択したら同様に「Save」するキーを押してメニューへ戻る。

※RAIDメンバーに含まれていないHDDやSSDは通常通りシングルディスクとして認識される。

ちなみにSATA3I2-PCIeのようなSATAインターフェイスカードを使用した場合、そのカードに接続されたHDDは認識されない。
カードがRAIDに対応していれば別途、インターフェイスカードに搭載されているRAIDメニューで構成する必要がある。

RAID18

メニューに戻ったら構成を再度確認。
RAIDレベルと表示されているサイズが、選択したHDDの数と合致していれば問題ない。

図はRAID10になっているが、構成は表記通り「0+1」。
2TBのHDDを4台使用しているので、2TBの実サイズ1862.89GB x 2で3725.78GB。
4TBのRAID 0のアレイをミラーリングしていることになる。

Strip Sizeについてはシーケンシャルアクセス(先頭からの読込)とランダムアクセスどちらを重視するかによって変わってくるようだが、小さくするとランダムアクセスでRAID構成のないHDDより読込も書込も遅くなるので、そこまでこだわりがなければ32KBか64KBでOK。

確認して問題がなければ「Create Volume」を選択して「Enter」キーを押す。

RAID19

「RAID構成のメンバーとして選択したHDDの全データが消失するけど、ホントに作成する?」みたいな内容のメッセージが出るので、「Y」を押してRAIDボリュームを作成。

これでRAID設定が完了。

設定した構成を削除したい場合は、RAIDメニューの「Delete RAID Volume」を選択し、削除したいボリュームを指定する。

AMDチップセット

AMDの場合もIntelと同様 UEFIまたはBIOSでSATAのモードをRAIDに変更すると RAID Option ROMが表示される。

RAID25

RAID Option ROMが表示されている間に 上図赤枠部分のショートカットキー「Ctrl + F」でRAIDメニューを呼び出す。

RAID20

AMD の RAID メニューは Intel と比べると非常にシンプルで、使用するメニューを数字で選択するのだが、マザーボードによってメニューの仕様が異なっている。

新たにRAIDを構成するメニューは「 Define LD 」。
このLDは Logical Drives(論理ドライブ)の略で 「Define LD」は「論理ドライブの定義」を意味している。

メインメニューに「 Define LD 」が表示されている場合もあるが、マザーボードによっては「 Ctrl + C 」などの入力が必要なため、メニュー画面に表示される操作コマンドを確認して「 Define LD 」を呼び出す。

RAID21

メニューによっては すでに作成する RAID の理論ドライブに名前が割り当てられており、リストから選択すれば良いものもあるが、 名前の入力を求められる場合もあるので「LD1」など任意の名前を半角英数で入力する。

RAID22

使用するRAIDレベルを決定する。
図はRAID 0 (ストライピング)を選択している状態。

Stripe BlockはIntelのStripe Sizeと同じで 特にこだわりがなければ32KBか 64KBでOK。

RAID23

RAIDを構成するドライブを指定する。
カーソルでメンバーにするHDDを選択して「SPACE」キーを押すと「Assignments」の項目が「Y」に変わる。

RAID24

設定が完了したら再確認後「 Ctrl + Y 」を押して設定を保存。

メッセージが出た後、再度「Ctrl + Y」を押すと構成したRAIDレベルのMAXサイズで割り当てが行われて設定完了する場合と、構成するRAIDの容量( Capacity )の入力を求められる場合があるので、表示されるメッセージを確認しながら操作を行う。

※詳細設定についてはマザーボードに付属しているマニュアルを参照。

Marvell 88SE9128

玄人志向から販売されているSATA3I2-PCIeはMarvell 88SE9123搭載という記載があるが、このインターフェイスカードはRAIDに対応しているため、実装しているのはMarvell 88SE9128。

玄人志向 Marvell社製 88SE9128搭載 SATA インターフェースカードlink

 

raid30

このインターフェイスカードにSATAを2台接続した場合、INTELやAMDのRAID Option ROMからではHDDを認識せず、インターフェイスカードに接続された2台のみでの構成になるため、使用できるRAIDレベルはRAID 0とRAID 1 のみになる。

RAIDを設定する際は、INTELやAMD同様、起動時に「Ctrl + M」を押すよう画面に表示されるので、MarvellのBIOSを呼び出す。

RAID26

BIOSメニューが表示されたら、「HBA0:Marvell 0」を選択して「Enter」キーを押すとポップアップメニューが開くので、「Enter」キーでウィザードを開始。
後はRAIDレベルを選択して完了。
※詳細は付属の取説(英文)を参照。





関連記事

dvd-shrink0011

Dynamic disc and RAID – ダイナミックディスクとRAID

スパンボリュームや ソフトウェアRAID が可能な Windows 独自のディスク管理 Windows のディスク管理には「 ベーシックディスク 」と「 ダイナミックディスク 」があり、デフォルトでは「ベーシックディスク […]

dvd-shrink0011

Basic Disk and Partition – ベーシックディスクとパーティション

Windows 標準のディスク管理 ベーシックディスク と パーティションについて Windows のディスク管理には「 ベーシックディスク 」と「 ダイナミックディスク 」があり、デフォルトでは「ベーシックディスク」に […]

dvd-shrink0011

Redundant Array of Inexpensive Disks – RAIDの基礎知識

安定性や処理速度を高めるディスク構成 RAID ( Redundant Arrays of Inexpensive Disks )は「 レイド 」と読み、直訳すると「 安価なディスクの冗長配置 」。 冗長とは良く言えば「 […]