ディスク アレイ コントローラは、物理ディスク ドライブを管理し、それらを論理ユニットとしてコンピュータに提供するデバイスです。ほとんどの場合、ハードウェア RAID を実装するため、 RAID コントローラと呼ばれることもあります。また、追加のディスクキャッシュも提供することがよくあります。
ディスク アレイ コントローラは、多くの場合、あいまいにディスク コントローラと短縮されますが、これは内部ディスク ドライブの動作を管理する回路を指す場合もあります。
フロントエンドとバックエンド側
ディスク アレイ コントローラは、フロントエンド インターフェイスとバックエンド インターフェイスを提供します。
- バックエンド インターフェイスは、制御対象のディスクと通信します。したがって、そのプロトコルは通常、ATA (別名 PATA)、SATA、SCSI、FC 、またはSASです。
- フロントエンド インターフェイスは、コンピューターのホスト アダプター(HBA、ホスト バス アダプター) と通信し、以下を使用します。
- ATA、SATA、SCSI、FC のいずれか。これらはディスクで使用される一般的なプロトコルであるため、これらのいずれかを使用することで、コントローラはコンピュータのディスクを透過的にエミュレートできます。
- 特定のソリューション向けの、あまり一般的ではない専用プロトコル: FICON / ESCON、iSCSI、HyperSCSI、ATA over Ethernet、InfiniBand。
単一のコントローラが、バックエンドとフロントエンドの通信に異なるプロトコルを使用する場合があります。多くのエンタープライズ コントローラは、フロントエンドで FC を使用し、バックエンドで SATA を使用します。
エンタープライズ コントローラー
現代のエンタープライズアーキテクチャでは、ディスクアレイコントローラ(ストレージプロセッサまたはSP [1]とも呼ばれる)は、ストレージエリアネットワーク(SAN)またはネットワーク接続ストレージ(NAS)サーバーに配置されたディスクアレイなどの物理的に独立したエンクロージャの一部です。
これらの外付けディスク アレイは、通常、RAID コントローラ、ディスク ドライブ、電源、管理ソフトウェアの統合サブシステムとして購入されます。高度な機能を提供するのはコントローラの役割です (ベンダーによって呼び方が異なります)。
- 別のコントローラへの自動フェイルオーバー(データを送信するコンピュータには透過的)
- ダウンタイムなしで長時間実行される操作
- 新しいRAIDセットの形成
- 劣化したRAID セットの再構築(ディスク障害後)
- オンラインRAIDセットにディスクを追加する
- RAID セットからディスクを削除する (まれな機能)
- RAID セットを個別のボリューム/LUN に分割する
- スナップショット
- ビジネス継続ボリューム(BCV)
- リモート コントローラーを使用したレプリケーション....
シンプルなコントローラー

シンプルなディスク アレイ コントローラは、 PCI 拡張カードとして、またはマザーボードに内蔵されて、コンピュータ内に収まる場合があります。このようなコントローラは通常、物理スペースを節約するために、ホスト バス アダプタ(HBA) 機能自体を提供します。そのため、 RAID アダプタと呼ばれることもあります。
2007 年 2 月現在、Intel はより高級なマザーボードに独自のMatrix RAID コントローラを統合し始め、4 つのデバイスと追加の 2 つの SATA コネクタを制御し、合計 6 つの SATA 接続 (各 3 Gbit/s) を実現しています。下位互換性のために、2 つの ATA デバイス (100 Mbit/s) を接続できる 1 つの IDE コネクタも用意されています。 [アップデート]
歴史
ハードウェア RAID コントローラは長い間利用可能でしたが、高価なSCSIハードドライブを必要とし、サーバーやハイエンド コンピューティング市場を対象としていました。SCSI テクノロジの利点には、1 つのバスで最大 15 台のデバイスを接続できること、独立したデータ転送、ホットスワップ、はるかに高いMTBFなどがあります。
1997 年頃、ATAPI-4 (およびCPU使用率を抑えて高速データ転送を可能にするUltra-DMA-Mode 0 ) の導入により、最初の ATA RAID コントローラが PCI 拡張カードとして導入されました。これらの RAID システムは、高価な SCSI ドライブに投資することなく RAID のフォールト トレランスを求める消費者市場に浸透しました。
ATA ドライブを使用すると、SCSI よりも低コストで RAID システムを構築できますが、ほとんどの ATA RAID コントローラには、パリティ計算用の専用バッファや高性能 XOR ハードウェアがありません。その結果、ATA RAID のパフォーマンスは、ほとんどの SCSI RAID コントローラに比べて劣ります。さらに、停電によって中断された書き込みを完了するための バッテリバックアップがない場合、データの安全性が損なわれます。
OSサポート
ハードウェア RAID コントローラは組み立てられたRAIDボリュームを提供するため、オペレーティング システムでは各コントローラの完全な構成と組み立てを実装する必要はありません。多くの場合、オープン ソース ソフトウェアドライバには基本機能のみが実装され、拡張機能はハードウェア製造元によって直接 バイナリ ブロブを通じて提供されます。
通常、RAID コントローラは、オペレーティングシステムが起動する前にカードBIOSを介して完全に構成でき、オペレーティングシステムが起動した後は、各コントローラの正確な機能セットが各メーカーおよび製品に固有の場合があるため、各コントローラの製造元から独自の構成ユーティリティが利用可能になります。通常、サードパーティのツールを必要とせずに、 Unixのifconfigなどの一般的なオペレーティングシステムパラダイムを通じて完全に構成およびサービス提供できるEthernetのネットワークインターフェイスコントローラとは異なり、各 RAID コントローラの各メーカーは通常、サポートすると見なしたオペレーティングシステムごとに独自のソフトウェアツールを提供しており、ベンダーロックインが確実に発生し、信頼性の問題の一因となっています。[2]
例えば、FreeBSDでは、 Adaptec RAIDコントローラの設定にアクセスするには、ユーザーはLinux互換レイヤーを有効にし、AdaptecのLinuxツールを使用する必要がありますが[3]、特に長期的な視点で考えると、セットアップの安定性、信頼性、セキュリティが損なわれる可能性があります。[2]ただし、これはコントローラと、ドライバを書くための適切なハードウェアドキュメントが利用可能かどうかに大きく依存し、一部のコントローラでは設定ユーティリティのオープンソースバージョンが用意されており、例えばFreeBSD 8.0(2009年)以降でmfiutilはmptutilFreeBSDで利用可能であり[4] [5]mpsutil 、 /ではmprutil2015年以降[6] 、それぞれが対応するデバイスドライバのみをサポートしており、この後者の事実がコードの肥大化の一因となっています。
他のオペレーティングシステムの中には、RAID コントローラと連携するための独自の汎用フレームワークを実装し、RAID ボリュームの状態を監視するツールや、LED の点滅によるドライブの識別、アラーム管理、ホットスペアディスクの指定、およびカード BIOS に再起動することなくオペレーティングシステム内からRAID のデータスクラブ § RAID を実行するツールを提供しているものもあります。たとえば、これは2005 年にOpenBSDが採用したアプローチで、 bio(4) 疑似デバイスドライバとbioctlユーティリティによってボリュームの状態が提供され、LED/アラーム/ホットスペアの制御や、ヘルスモニタリング用のセンサー (ドライブセンサーを含む) が可能になります。 [7]このアプローチはその後、 2007 年にNetBSDでも採用され、拡張されました。 [8]
bioctlでは、各コントローラをツールで同じようにサポートできるように、機能セットが意図的に最小限に抑えられています。コントローラの初期設定はカードのBIOS [7]を通じて実行されるようになっていますが、初期設定後は、日常的な監視と修復はすべて統合された汎用ツールで実行できるはずであり、これが bioctl の目的です。
参考文献
- ^ 「ストレージの基礎 - パート V: コントローラー、キャッシュ、結合」。2010 年 3 月 23 日。
- ^ ab "3.8: "Hackers of the Lost RAID"". OpenBSD Release Songs . OpenBSD . 2005-11-01 . 2019-03-23閲覧。
- ^ Scott Long; Adaptec, Inc (2000). 「aac(4) — Adaptec AdvancedRAID コントローラ ドライバ」. BSD 相互参照. FreeBSD .
- 「aac -- Adaptec AdvancedRAID コントローラ ドライバ」。FreeBSD マニュアル ページ。
- ^ 「mfiutil — LSI MegaRAID SAS コントローラを管理するためのユーティリティ」BSD相互参照。FreeBSD 。
- 「mfiutil -- LSI MegaRAID SAS コントローラを管理するためのユーティリティ」。FreeBSD マニュアル ページ。
- ^ 「mptutil — LSI Fusion-MPT コントローラを管理するためのユーティリティ」BSD 相互参照。FreeBSD。
- 「mptutil -- LSI Fusion-MPT コントローラを管理するためのユーティリティ」。FreeBSD マニュアル ページ。
- ^ 「mpsutil — LSI Fusion-MPT 2/3 コントローラを管理するためのユーティリティ」BSD 相互参照。FreeBSD。
- 「mpsutil、mprutil -- LSI Fusion-MPT 2/3 コントローラを管理するためのユーティリティ」。FreeBSD マニュアル ページ。
- ^ ab Theo de Raadt (2005-09-09). 「OpenBSD 3.8 で RAID 管理サポートがサポートされる」. misc@ (メーリング リスト). OpenBSD.
- ^ Constantine A. Murenin (2010-05-21). 「1.1. 動機; 4. センサー ドライバー; 7.1. NetBSD envsys / sysmon」。 OpenBSD ハードウェア センサー — 環境モニタリングとファン制御 ( MMath論文)。ウォータールー大学: UWSpace。hdl :10012/5234。 ドキュメント ID: ab71498b6b1a60ff817b29d56997a418。
- ストレージの基礎: RAID コントローラの選択、2004 年 5 月 7 日、Ben Freeman 著
