RAIDのアプローチには、ハードウェアRAIDとソフトウェアRAIDの2つがあります。
ハードウェアベースのRAIDシステムは、RAIDサブシステムをホストから独立したものとして管理します。ホストからは、各RAIDアレイは単一のディスクに見えます。
ハードウェアRAIDデバイスの例としては、SCSIコントローラに接続したデバイスがあり、この場合RAIDアレイは単独のSCSIドライブのように見えます。外部RAIDシステムは、RAIDの処理機能をすべて外部ディスクサブシステムに存在するコントローラに移します。サブシステム全体が通常のSCSIコントローラを介してホストに接続されるため、ホストからは単一のディスクのように見えます。
RAIDコントローラもカードの形をしており、オペレーティングシステムに対するSCSIコントローラのような役割を果たしますが、ドライブとの実際の通信はすべて自分自身で処理します。この場合、ドライブはSCSIコントローラの場合と同様にRAIDコントローラに接続されますが、ドライブはRAIDコントローラの設定に追加されるため、オペレーティングシステムからは違いを認識することはできません。
ソフトウェアRAIDは、カーネルディスク(ブロックデバイス)コードの中で各種RAIDレベルを実現するものです。高価なディスクコントローラカードやホットスワップシャーシ[1]を必要としない、最も安価なソリューションでもあります。SCSIディスクだけでなく、安価なIDEディスクを使用する場合でも機能します。最近の高速なCPUを使用した場合、ソフトウェアRAIDの性能がハードウェアRAIDをしのぐこともあります。
Linuxカーネルに含まれるMDドライバはRAIDソリューションの一例であり、ハードウェアから完全に独立しています。ソフトウェアベースのアレイの性能は、サーバーCPUの性能と負荷に依存します。
Red Hat LinuxインストーレーションプログラムでのソフトウェアRAIDの設定については、第5章を参照してください。
ソフトウェアRAIDで実現可能な機能についてさらに詳しく知りたい場合は、以下の重要な機能に注目してください。
スレッド化された再構築プロセス
完全にカーネルに基づいた構成
再構築せずにLinuxマシン間でアレイを移動可能
アイドル状態のシステム資源を使用する、バックグラウンドでのアレイ再構築
ホットスワップ可能なドライブをサポート
自動CPU検出により、特定のCPU最適化機能を利用
| [1] | ホットスワップシャーシを使用すれば、システムの電源を落とすことなくハードディスクドライブを取りはずすことができます。 |