RAIDNASの基礎知識

RAIDの方式

RAIDの方式

RAIDを実装する方法としては、ハードウェアで実現する方法(ハードウェア方式)とソフトウェアで実現する方法(ソフトウェア方式)がある。この2方式は明確に分類できるものではなく、中間的な方式がいくつか存在する。

ハードウェア方式

ハードウェア方式は、RAIDコントローラカードを使用するものとディスクアレイユニットを用いる2方式が存在する。

RAIDコントローラカードシリアルATA RAIDカードこの方式は、RAIDコントローラと呼ばれるカードを装置に取り付け、パリティ演算やディスクの管理などを任せるものである。一部のマザーボードにはRAIDコントローラをあらかじめ実装している製品がある。

純粋なハードウェア方式では、ホストが僅かな指示を送るだけでRAIDコントローラが具体的な処理を全て行うため、CPUの負荷が低減される。しかし、コントローラ毎に制御方法が異なるため、OS側で各RAIDコントローラカードへの対応が必要であり、専用のデバイスドライバが必要となる。

一方、RAIDコントローラカードの中には、RAID機能の大部分をソフトウェアで実現しているものもある。この場合、OS起動前にRAID機能を使用可能であるがCPUの負荷はソフトウェア方式と大差ない。このため、ソフトウェア方式に分類される。





ディスクアレイユニット

コンピュータやOS側からは単なるSCSIやファイバーチャネルのドライブとして見えるため、特別なドライバが必要なく、CPUへの負荷が全くない。更に、ホットスワップやホットスペアはもとよりオートリカバリ機能を備えているため、運用コストを低減することも出来る。ディスクアレイユニット内のハードディスクが故障した場合は、シリアルポートやイーサネットを通じて状態を監視ソフトに通知する機能が備わっている。また、ディスクアレイユニットの中にはデファレンシャルSCSIやファイバーチャネルを使い、2台のサーバで1台のディスクアレイユニットを共有出来るものもある。複数台のディスクアレイユニットを組み合わせて専用の制御用サーバがセットになったものもある。

ディスクアレイユニットを接続したい装置に必要な外部接続インタフェースがすでにあれば装置の筐体を開けることもなく、ケーブルをつなぐだけで使えるようになる。


ソフトウェア方式

純粋なソフトウェア方式は、OS自身が普通のドライブコントローラ(IDE、SCSI、FC など)を通して複数台のディスクを管理する。この方式はハードウェア方式と比較し、CPUへの負荷が高いが、特別なハードウェアを購入する必要がないという利点がある。

上記の純粋なソフトウェア方式以外のソフトウェアRAIDの実現には、ファイルシステム・単体ソフトウェア・チップセット・増設RAIDボードなど複数の方式が存在する。

Windowsは、NTFSファイルシステムにおいてRAID機能をサポートしている。Linuxは、カーネル(2.4系以降)にてRAID0/1/4/5/6をサポートしている。FreeBSDは、gmirrorというソフトウェアにてサポートしている。ファイルシステムのZFSもNTFS同様に自身でRAID機能をもち、RAID5またはRAID6相当の機能としてRAID-ZまたはRAID-Z2が実装されており、ZFS自身の機能もあいまってUSBメモリを何本もUSBポートに挿してRAID化してしまうという離れ業さえ容易である。インテルのチップセットでは、マトリックス・ストレージ・マネージャー機能によりRAID機能をサポートしている。Adaptecの低価格RAIDボードでは、HostRAIDによりソフトウェアRAIDを行っている。

近年、サーバ向けチップセットだけでなくメインストリーム向けのチップセットでもRAIDコントローラ機能(0/1/0+1/5など)を集積したものが広く普及しつつある。インテルのチップセットでは、マトリックス・ストレージ・マネージャー機能によりRAID機能をサポートしている。基本的な構造はMUX(マルチプレクサ)/DEMUX(デマルチプレクサ)で構成されており、CPUが発行したディスクI/O操作を複数のハードディスクへのディスクI/Oに分散・またディスクからの読み出しの多重化を行う(パリティ演算機能を持つものと持たないものがある)。信頼性はもとより、ディスクI/O速度を高速化する総合アクセラレータ的要素が強い。このため、ソフトウェア方式に分類される場合が多い。
TOP