PR

Q 質問 新たに導入するサーバーに,RAID(Redundant Array of Inexpensive Disks)の導入を検討しています。どのようなポイントに注意すればよいか教えてください。

A 回答 まず,RAID導入の目的が性能向上か,耐障害性向上か,その両方かを確認します。次に,利用する容量やコストに合わせて,構成を決定します。


図1●代表的なRAIDの方式
現在利用されている主なRAIDの方式は4つある。それぞれメリットとデメリットがある

 RAID利用の目的は,およそ3つに分けることができます。(1)性能の向上,(2)耐障害性の向上,(3)性能と耐障害性両方の向上――です。まずこの目的を決めます。

複数台にデータを分散

 (1)の性能向上の目的でよく利用されるのが「RAID0」です(図1[拡大表示])。2台,または複数台のハード・ディスクにデータを分散して書き込むことで性能を向上させます。これをストライピングと言います。

 2台のハード・ディスクを利用する場合,読み書きとも性能はほぼ2倍になります。2台を超える場合も,用意したSCSI(Small Computer Systems Interface)などハード・ディスク接続インタフェースの帯域幅内であれば,ほぼ台数分向上します。容量は用意したハード・ディスクの台数分だけ利用できます。

 ただしRAID0では,耐障害性が1台のハード・ディスクを利用する場合よりも悪化します。例えば,5年利用して,1台のハード・ディスクが故障する可能性が15%の場合で,2台で構成したRAID0が故障する可能性は約28%になります。故障した場合,データを復旧するためにはバックアップからリストアするしかありません。

 比較的安価に性能を向上させることができるため,グラフィックス・ワークステーションなどで採用するケースが多いようです。

 (2)の耐障害性向上の目的で利用されるのが「RAID1」です。2台のハード・ディスクに,同一の内容を記録します。性能は向上せず,むしろ書き込みでは若干悪化する場合もありますが,耐障害性が向上します。同一のデータを2台のハード・ディスクで保持しているため,1台のハード・ディスクが故障しても,データを損失しません。容量は用意したハード・ディスク総容量の半分になります。RAID0と同様に比較的安価に構成できるため,小規模なファイル・サーバーなどで採用するケースが多いです。

性能と耐障害性を同時に向上

 (3)の性能と耐障害性を同時に向上させたい場合に利用するのが「RAID5」や「RAID0+1」と呼ぶ構成です。

 RAID5は,パリティ付きストライピングとも呼ばれ,3台以上のハード・ディスクで構成します。RAID0と同様にデータは複数台のハード・ディスクに分散しますが,耐障害性を向上させるため,書き込み時にデータから「パリティ」と呼ぶ値を計算し,このパリティも分散して書き込みます。

 あるハード・ディスクに障害が発生した場合は,作成したパリティを利用してデータを復旧します。2台以上のハード・ディスクが故障した場合,データを復元できません。容量は,用意したハード・ディスクの台数-1台分の容量になります。例えば3台のハード・ディスクでRAID5を構成する場合,総容量は2台分になります。

 性能は,読み書きともに向上しますが,書き込み時はパリティを生成するオーバーヘッドがあり,読み込みほど向上しません。耐障害性,性能とも向上する割に容量の損失が少ないことから,主にサーバー用途で広く利用されています。

 RAID0+1は,名前の通り高速性に優れるRAID0と耐障害性に優れるRAID1を組み合わせた方式です。普通4台のハード・ディスクで構成し,2つのミラー・セットに分け,ミラー・セットの中でストライピングします。読み書きともに性能が向上し,RAID5のようにパリティ生成のオーバーヘッドもありません。その代わり,容量の損失が大きくなります。RAID1と同様に,利用できる容量は総容量の半分になります。耐障害性と性能は大きく向上しますが,利用できる容量が少なく,コストがかかりやすいことから,特に書き込み性能が重要なデータベース・サーバーで利用されることが多いようです。

ハードでやるか,ソフトでやるか

 RAIDを実装するための手段は2つあります。「ソフトRAID」と呼ぶ,OSなどが備えるRAID機能を利用する方法と,「ハードRAID」と呼ぶ,RAID専用のハードウエア(RAIDコントローラ)を利用する方法です。

 前者は,例えばWindows 2000 Serverの場合,RAID0,同1,同5が利用できます。安価ですが,サーバーのCPUリソースを利用してRAIDの処理を実行するため,サーバー全体の性能に影響が出ることがあります。

 ハードRAIDでは性能の問題がありませんが,RAIDコントローラを購入する必要があります。価格はチャンネル数やサポートするRAIDの方式などによって異なり,5万~30万円程度です。RAIDコントローラには「ライトバック」という設定が可能なものもあります。RAIDコントローラ上のキャッシュにデータを書き込んだ時点で,書き込みを終了と見なす方法です。データ書き込みの信頼度はある程度犠牲になりますが,性能が向上します。また,ディスクの故障時に自動的に予備ディスクで代替し,RAIDを再構成する,ホット・スペアと呼ぶ機能も利用できます。

(本誌)