コンピューター ウィンドウズ インターネット

バジェットRAID。 パフォーマンスをテストします。 シングルディスクRAID0のパフォーマンス

この記事に興味がある場合は、コンピュータで次の問題のいずれかに遭遇したか、すぐに遭遇することを期待しているようです。

-単一の論理ディスクとして、ハードドライブの物理ボリュームが明らかに十分ではありません。 ほとんどの場合、この問題は大きなファイル(ビデオ、グラフィック、データベース)を操作するときに発生します。
-明らかにハードドライブのパフォーマンスが不足しています。 ほとんどの場合、この問題は、ノンリニアビデオ編集システムを使用している場合、または多数のユーザーが同時にハードドライブ上のファイルにアクセスする場合に発生します。
-ハードドライブの信頼性は明らかに十分ではありません。 ほとんどの場合、この問題は、失われることのないデータ、またはユーザーが常に利用できるデータを処理する必要がある場合に発生します。 悲しい経験によれば、最も信頼性の高い機器でさえ、故障することがあり、原則として、最も不適切な瞬間に故障することがあります。
コンピューター上にRAIDシステムを作成すると、これらの問題やその他の問題を解決できます。

「RAID」とは何ですか?

1987年、カリフォルニア大学バークレー校のPatterson、Gibson、およびKatzは、安価なディスクの冗長アレイ(RAID)のケースを公開しました。 この記事では、RAIDと呼ばれるさまざまなタイプのディスクアレイについて説明しました。これは、独立した(または安価な)ディスクの冗長アレイです。 RAIDは、次のアイデアに基づいています。複数の小型ドライブや安価なドライブをアレイに組み合わせることで、ボリューム、速度、信頼性の点で最も高価なドライブを超えるシステムを実現できます。 その上、コンピュータの観点からは、このようなシステムは1つのフロッピードライブのように見えます。
ディスクアレイの平均故障間隔は、単一ドライブの平均故障間隔をアレイ内のドライブ数で割ったものであることがわかっています。 その結果、アレイのMTBFは、多くのアプリケーションにとって短すぎます。 ただし、ディスクアレイは、いくつかの方法で単一のドライブの障害に対して回復力を持たせることができます。

上記の記事では、RAID-1、RAID-2、...、RAID-5の5つのタイプ(レベル)のディスクアレイが定義されています。 各タイプは、フォールトトレランスと、単一のドライブに比べてさまざまな利点を提供しました。 これら5種類に加えて、冗長性のないRAID-0ディスクアレイも人気を博しています。

RAIDレベルとは何ですか?どのレベルを選択すればよいですか?

RAID-0..。 通常、冗長な非パリティドライブグループとして定義されます。 RAID-0は、アレイに含まれるドライブ間で情報を配置する方法の観点から、「ストライピング」と呼ばれることもあります。

RAID-0は冗長ではないため、1つのドライブに障害が発生すると、アレイ全体に障害が発生します。 一方、RAID-0は、最大の為替レートとディスクスペース効率を提供します。 RAID-0は複雑な数学的または論理的な計算を必要としないため、実装コストは最小限に抑えられます。

アプリケーション:単一のドライブでは提供できない高い連続データ転送速度を必要とするオーディオおよびビデオアプリケーション。 たとえば、ノンリニアビデオ編集ステーションに最適なディスクシステム構成を決定するためにMylexが実施した調査によると、1台のドライブと比較して2台のドライブのRAID-0アレイでは、書き込み/読み取り速度が96%向上します。 3台のドライブ-143%(Miro VIDEO EXPERTベンチマークテストによる)。
「RAID-0」アレイのドライブの最小数は2個です。

RAID-1..。 より一般的には「ミラーリング」として知られ、同じ情報を含み、1つの論理ドライブを構成するドライブのペアです。

書き込みは、各ペアの両方のドライブに対して行われます。 ただし、ペアのドライブは同時読み取り操作を実行できます。 したがって、「ミラーリング」は読み取り速度を2倍にすることができますが、書き込み速度は変わりません。 RAID-1は100%冗長であり、単一のドライブに障害が発生してもアレイ全体に障害が発生することはありません。コントローラーは、読み取り/書き込み操作を残りのドライブに切り替えるだけです。
RAID-1は、特にマルチユーザー環境で、すべてのタイプの冗長アレイ(RAID-1からRAID-5)の中で最速のパフォーマンスを提供しますが、ディスクスペースの使用率が最も低くなります。 RAID-1は複雑な数学的または論理的な計算を必要としないため、実装コストは最小限に抑えられます。
「RAID-1」アレイのドライブの最小数は2個です。
複数のRAID-1アレイをRAID-0に組み合わせて、書き込み速度を向上させ、データストレージの信頼性を確保できます。 この構成は、「2レベル」RAIDまたはRAID-10(RAID 0 + 1)と呼ばれます。


「RAID0 + 1」アレイのドライブの最小数は4個です。
範囲:安価なアレイ。主なものはデータストレージの信頼性です。

RAID-2..。 ドライブグループ全体のセクターサイズのストライプにデータを分散します。 一部のドライブは、ECC(エラー訂正コード)ストレージ専用です。 ほとんどのドライブはデフォルトで各セクターのECCコードを保存するため、RAID-2はRAID-3に比べて多くの利点を提供せず、したがって実際には使用されません。

RAID-3..。 RAID-2の場合と同様に、データは1つのセクターのストライプにまたがってストライプ化され、アレイ内のドライブの1つはパリティ情報を格納するために予約されています。

RAID-3は、各セクターに格納されているECCコードに依存してエラーを検出します。 いずれかのドライブに障害が発生した場合、残りのドライブの情報に基づいて排他的論理和(XOR)を計算することにより、ドライブに保存されている情報を復元できます。 通常、各書き込みはすべてのドライブに分散されるため、このタイプのアレイは、ディスクサブシステムのトラフィックが多いアプリケーションでの作業に適しています。 各I / O操作はアレイ内のすべてのドライブを参照するため、RAID-3は同時に複数の操作を実行することはできません。 したがって、RAID-3は、書き込みが長いシングルユーザー、シングルタスク環境に適しています。 短いレコードを処理するには、ドライブのローテーションの同期が必要です。そうしないと、為替レートの低下が避けられないためです。 使用されることはめったにありません。 ディスクスペースの使用量の点でRAID-5に負けます。 実装にはコストがかかります。
「RAID-3」アレイのドライブの最小数は3個です。

RAID-4..。 RAID-4はRAID-3と同じですが、ストライプサイズが1セクターよりはるかに大きい点が異なります。 この場合、読み取りは1つのドライブから実行されるため(パリティ情報を格納するドライブはカウントされません)、同時に複数の読み取り操作を実行することができます。 ただし、書き込みごとにパリティドライブの内容を更新する必要があるため、複数の書き込みを同時に実行することはできません。 このタイプのアレイには、RAID-5アレイに比べて目立った利点はありません。
RAID-5。 このタイプのアレイは、「回転パリティアレイ」と呼ばれることもあります。 このタイプのアレイは、RAID-4に固有の欠点である複数の書き込みを同時に実行できないことをうまく克服します。 このアレイは、RAID-4と同様に、 ストライプ ビッグサイズ、ただし、RAID-4とは異なり、パリティ情報は1つのドライブに保存されるのではなく、すべてのドライブに順番に保存されます。

書き込み操作は、パリティ情報を持つ1つのデータドライブと別のドライブを参照します。 異なるストライプのパリティ情報は異なるドライブに保存されるため、データストライプまたはパリティストライプのいずれかが同じドライブ上にあるというまれなケースでのみ、複数の同時書き込みはできません。 アレイ内のドライブが多いほど、情報とパリティストライプの場所が一致する頻度は低くなります。
アプリケーションエリア:大容量の信頼性の高いアレイ。 実装にはコストがかかります。
「RAID-5」アレイのドライブの最小数は3個です。

RAID-1またはRAID-5?
RAID-1と比較して、RAID-5は情報の「コピー」ではなく、冗長性のチェックサムを格納するため、ディスクスペースをより経済的に使用します。 その結果、RAID-5では任意の数のドライブを組み合わせることができ、そのうちの1つだけに冗長情報が含まれます。
ただし、情報交換の速度が低下する代わりに、ディスク領域の使用効率が向上します。 RAID-5に情報を書き込むときは、毎回パリティ情報を更新する必要があります。 これを行うには、どのパリティビットが変更されたかを判別する必要があります。 まず、更新する古い情報を読み込みます。 次に、この情報はXORされます。 新情報..。 この操作の結果はビットマスクになります。各ビット= 1は、対応する位置のパリティ情報の値を置き換える必要があることを意味します。 次に、更新されたパリティ情報が適切な場所に書き込まれます。 したがって、情報を書き込むすべてのプログラム要求に対して、RAID-5は2つの読み取り、2つの書き込み、および2つのXORを実行します。
ディスクスペースがより効率的に使用されるという事実にお金を払う必要があります(データのコピーの代わりに、パリティブロックが保存されます):パリティ情報の生成と書き込みには追加の時間がかかります。 これは、RAID-5の書き込み速度がRAID-1の書き込み速度よりも3:5または1:3の比率で遅いことを意味します(つまり、RAID-5の書き込み速度は3/5から1/3です。書き込み速度RAID-1)。 このため、ソフトウェアでRAID-5を作成しても意味がありません。 また、書き込み速度が重要なアプリケーションにはお勧めできません。

RAIDの実装方法(ソフトウェアまたはハードウェア)を選択する必要がありますか?

さまざまなRAIDレベルの説明を読んだ後、RAIDを実装するために必要な特定のハードウェア要件がどこにも記載されていないことに気付くでしょう。 このことから、RAIDを実装するために必要なのは、必要な数のドライブをコンピューターで使用可能なコントローラーに接続し、コンピューターに特別なソフトウェアをインストールすることだけであると結論付けることができます。 これは本当ですが、完全ではありません!
実際、RAIDのソフトウェア実装の可能性があります。 例はOSです マイクロソフトウィンドウズ NT 4.0サーバー。RAID-0、-1、さらにはRAID-5のソフトウェア実装が可能です(Microsoft Windows NT 4.0 WorkstationはRAID-0とRAID-1のみを提供します)。 ただし、このソリューションは非常に単純化されていると見なす必要があり、RAIDアレイの機能を完全に実装することはできません。 RAIDのソフトウェア実装では、ドライブへの情報の配置、制御コードの計算などのすべての負担に注意するだけで十分です。 中央処理装置に当てはまりますが、当然、システムのパフォーマンスと信頼性は向上しません。 同じ理由で、ここには実質的にサービス機能はなく、障害のあるドライブの交換、新しいドライブの追加、RAIDレベルの変更などのすべての操作は、データを完全に失い、他の操作を完全に禁止して実行されます。 。 ソフトウェアRAID実装の唯一の利点は、最小のコストです。
-専用のコントローラーは、中央処理装置をRAIDの基本的な操作から解放します。コントローラーの効率が顕著になるほど、RAIDの複雑さのレベルが高くなります。
-コントローラーには、原則として、ほとんどすべての一般的なOS用のRAIDを作成できるドライバーが装備されています。
-コントローラの組み込みBIOSとそれに接続された管理プログラムにより、システム管理者はRAIDに含まれるドライブを簡単に接続、切断、または交換し、異なるレベルの複数のRAIDアレイを作成し、ディスクアレイのステータスを監視できます。 、 NS。 「高度な」コントローラーの場合、これらの操作は「オンザフライ」で実行できます。 オフにせずに システムユニット..。 多くの操作は "で実行できます バックグラウンド"、 NS。 現在の作業を中断することなく、さらにはリモートで、つまり 任意の(もちろん、アクセスできる場合)職場から。
-コントローラには、最後の数個のデータブロックが保存されるバッファメモリ(「キャッシュ」)を装備できます。これにより、同じファイルに頻繁にアクセスすると、ディスクシステムの速度を大幅に向上させることができます。
ハードウェアRAIDの欠点は、RAIDコントローラーのコストが比較的高いことです。 ただし、一方では、すべて(信頼性、パフォーマンス、サービス)の料金を支払う必要があります。 一方、最近、マイクロプロセッサ技術の発達に伴い、RAIDコントローラ(特にジュニアモデル)のコストが急激に下がり始め、通常のディスクコントローラのコストに匹敵するようになり、高価なメインフレームだけでなくRAIDシステムをインストールできるようになりました。だけでなく、サーバーでも。 入門レベルそしてワークステーションでも。

RAIDコントローラーモデルの選び方は?

RAIDコントローラには、機能、設計、およびコストに応じて、いくつかの種類があります。
1.RAID機能を備えたドライブコントローラー。
実際、これは通常のディスクコントローラであり、特別なBIOSファームウェアのおかげで、ドライブを組み合わせて、原則としてレベル0、1、または0 +1のRAIDアレイにすることができます。

Mylex KT930RF(KT950RF)のUltra(Ultra Wide)SCSIコントローラー。
外見上、このコントローラーは通常のSCSIコントローラーと同じです。 すべての「専門分野」はBIOSにあり、いわば「SCSI構成」/「RAID構成」の2つの部分に分かれています。 低コスト(200ドル未満)にもかかわらず、このコントローラーには優れた機能セットがあります。

-RAID 0、1、または0 +1で最大8台のドライブを組み合わせる。
- サポート ホットスペア故障したドライブを「オンザフライ」で交換する。
-故障したドライブの自動(オペレーターの介入なし)交換の可能性;
-整合性とID(RAID-1の場合)データの自動制御。
-BIOSにアクセスするためのパスワードの存在。
-プログラムRAIDPlus。RAID内のドライブの状態に関する情報を提供します。
-DOS、Windows 95、NT 3.5x、4.0用のドライバ

次に、どのタイプがあり、どのように異なるかを見てみましょう。

カリフォルニア大学バークレー校は、デファクトスタンダードとして採用されている次のレベルのRAID仕様を導入しました。

  • RAID 0-フォールトトレランスなしで、ストライピングによりパフォーマンスが向上したディスクアレイ。
  • -ミラーリングされたディスクアレイ。
  • RAID 2ハミングコードを使用する配列用に予約されています。
  • RAID3および4-ストライピングと専用パリティディスクを備えたディスクアレイ。
  • -ストライピングと「未割り当てのパリティディスク」を備えたディスクアレイ。
  • -2つの独立した方法で計算された2つのチェックサムを使用したスト​​ライプディスクアレイ。
  • -RAID1アレイから構築されたRAID0アレイ。
  • -RAID5アレイから構築されたRAID0アレイ。
  • -RAID6アレイから構築されたRAID0アレイ。

ハードウェアRAIDコントローラーは、複数の異なるRAIDアレイを同時にサポートでき、ハードドライブの総数はそれらのコネクターの数を超えません。 この場合、マザーボードに組み込まれているコントローラーは BIOS設定状態は2つ(有効または無効)しかないため、新しいハードドライブが未使用のコントローラスロットに接続されている場合 起動モード RAIDは、1つのディスクで構成される別のJBOD(スパン)RAIDアレイとして関連付けられるまで、システムによって無視できます。

RAID 0 (ストライピング-「ストライピング」)

最大のパフォーマンスを実現するモード。 データはアレイのディスク全体に均等に分散され、ディスクは1つに結合され、複数に分割できます。 複数のディスクがデータの一部を同時に読み取り/書き込みするため、分散読み取りおよび書き込み操作により、作業速度が大幅に向上します。 ユーザーはディスクのボリューム全体を利用できますが、ディスクの1つに障害が発生すると、通常はアレイが破壊され、データの回復がほとんど不可能になるため、データストレージの信頼性が低下します。 スコープ-ビデオキャプチャ、ビデオ編集など、ディスクとの高速交換を必要とするアプリケーション。 信頼性の高いドライブでの使用をお勧めします。

(ミラーリング-「ミラーリング」)

相互に完全なコピーである2つのディスクのアレイ。 3つ以上のドライブとより高度なミラーリングメカニズムを使用するRAID1 + 0、RAID 0 + 1、およびRAID10と混同しないでください。

クエリを並列化するときに、許容可能な書き込み速度と読み取り速度の向上を提供します。

信頼性が高く、アレイ内の少なくとも1つのディスクが機能している限り機能します。 一度に2つのディスクに障害が発生する確率は、各ディスクの障害の確率の積に等しくなります。 個々のディスクの障害の可能性を大幅に低減します。 実際には、ディスクの1つに障害が発生した場合は、緊急のアクションを実行する必要があります。冗長性を再度復元するためです。 これを行うには、任意のRAIDレベル(ゼロを除く)で、ホットスペアを使用することをお勧めします。

ディスク間でのデータ分散のRAID10バリアントと同様に、奇数数のディスク(最小数-3)の使用を許可します

RAID 2、3、4

パリティコードとさまざまなブロックサイズ専用のディスクを使用した分散データストレージのさまざまなオプション。 現在、パフォーマンスが低く、ECCやパリティコードを格納するために多くのディスク容量を割り当てる必要があるため、実際には使用されていません。

RAIDレベル2から4の主な欠点は、パリティ情報を格納するために別の制御ディスクが使用されるため、並列書き込み操作を実行できないことです。 RAID5にはこの欠点はありません。 データブロックとチェックサムはアレイ内のすべてのディスクに周期的に書き込まれ、非対称ディスク構成はありません。 チェックサムは、XOR演算(排他的論理和)の結果を意味します。 Xor任意のオペランドを結果に置き換えることを可能にする機能があり、アルゴリズムを使用して xor、結果として欠落しているオペランドを取得します。 例えば: a xor b = c(どこ NS, NS, NS--RAIDアレイの3つのディスク)、 NS拒否します、その場所に置くことでそれを得ることができます NSと支出 xorの間に NSNS: c xor b = a。これは、オペランドの数に関係なく適用されます。 a xor b xor c xor d = e..。 拒否した場合 NSそれから eその場所と後に xorその結果、 NS: a xor b xor e xor d = c..。 この方法は、基本的にバージョン5のフェイルオーバーを提供します。 xorの結果を保存するのに必要なディスクは1つだけで、そのサイズはRAID内の他のディスクのサイズと同じです。

尊厳

RAID5は、主にその費用対効果のために広く普及しています。 RAID5ディスクアレイのサイズは、式(n-1)* hddsizeを使用して計算されます。ここで、nはアレイ内のディスクの数であり、hddsizeは最小のディスクのサイズです。 たとえば、4つの80ギガバイトディスクのアレイの場合、合計ボリュームは(4-1)* 80 = 240ギガバイトになります。 RAID 5ボリュームに情報を書き込むと、追加の計算と書き込みが必要になるため、追加のリソースが必要になり、パフォーマンスが低下しますが、アレイ内の複数のディスクからのデータストリームを処理できるため、読み取り(別のハードドライブと比較して)するとメリットがあります。並行して。

短所

RAID 5のパフォーマンスは、特にランダム書き込み(ランダム書き込み)などの操作で著しく低下します。ランダム書き込みでは、より多くのディスク操作が必要になるため、パフォーマンスがRAID 0(またはRAID 10)のパフォーマンスの10〜25%低下します(それぞれオペレーション書き込み(いわゆるフルストライプ書き込みを除く)では、サーバーはRAIDコントローラー上で4つ(2つの読み取りと2つの書き込み)に置き換えられます。 RAID 5の欠点は、ディスクの1つに障害が発生した場合に発生します。ボリューム全体がクリティカルモード(劣化)になり、すべての読み取りおよび書き込み操作に追加の操作が伴い、パフォーマンスが大幅に低下します。 同時に、信頼性レベルは、対応するディスク数でRAID-0の信頼性に低下します(つまり、単一ディスクの信頼性のn分の1になります)。 アレイが完全に回復する前に障害が発生した場合、または少なくとももう1つのディスクで回復不能な読み取りエラーが発生した場合、アレイは破棄され、アレイ上のデータは従来の方法では復元できません。 また、ディスク障害後のRAID再構築プロセスにより、ディスクからの読み取り負荷が何時間も継続的に発生し、残りのディスクのいずれかがRAID操作のこの少なくとも保護された期間に障害を起こす可能性があることも考慮する必要があります。また、コールドデータアレイ(アレイの通常の動作中にアクセスされないデータ、アーカイブされた非アクティブなデータ)で以前に検出されなかった読み取り障害を特定します。これにより、データ回復中に障害が発生するリスクが高まります。

使用するディスクの最小数は3つです。

RAID 6-RAID 5と同様ですが、信頼性が高くなります-2つのディスクの容量がチェックサムに割り当てられ、2つの合計が異なるアルゴリズムを使用して計算されます。 より強力なRAIDコントローラーが必要です。 2つのディスクの同時障害後の操作性を保証します-複数の障害に対する保護。 アレイを編成するには、最低4つのディスクが必要です。 通常、RAID-6を使用すると、RAID 5と比較してディスクグループのパフォーマンスが約10〜15%低下します。これは、コントローラーの大量の処理(2番目のチェックサムの計算、および読み取りと書き込みの必要性)が原因です。各ブロックを書き込むときのディスクブロック)。

RAID 0 + 1

RAID 0 + 1は、基本的に2つのオプションを意味します。

  • 2つのRAID0がRAID1に結合されます。
  • 3つ以上のディスクが1つのアレイに結合され、各データブロックはこのアレイの2つのディスクに書き込まれます。 したがって、このアプローチでは、「純粋な」RAID 1の場合と同様に、アレイの使用可能なボリュームは、すべてのディスクの合計ボリュームの半分になります(これらが同じ容量のディスクである場合)。

RAID 10(1 + 0)

RAID 10は、RAID 0のように、データが複数のディスクに順番に書き込まれるミラーアレイです。このアーキテクチャはRAID 0アレイであり、そのセグメントは個別のディスクではなくRAID 1アレイです。したがって、このレベルのアレイは必要です。少なくとも4つのディスク(および常に偶数)が含まれます。 RAID 10は、高いフォールトトレランスとパフォーマンスを兼ね備えています。

RAID 10がデータを格納するための最も信頼できるオプションであるという主張は、同じアレイ内のすべてのドライブに障害が発生した後にアレイが破壊されるという事実によって正当化されます。 1つのドライブに障害が発生した場合、同じアレイ内の2番目のドライブに障害が発生する可能性は1/3 * 100 = 33%です。 2つのドライブが異なるアレイで故障した場合、RAID 0 +1は故障します。 隣接するアレイのドライブが故障する可能性は2/3 * 100 = 66%ですが、故障したドライブがあるアレイのドライブは使用されなくなったため、次のドライブがアレイ全体を無効にする可能性は次のようになります。 2/2 * 100 = 100%

RAID5と同様のアレイですが、パリティコードの分散ストレージに加えて、スペア領域の割り当てが使用されます。実際には、ハードディスクが使用され、スペアとしてRAID5アレイに追加できます(このようなアレイは5+または5+スペアと呼ばれます)。 RAID 5アレイでは、スペアディスクはメインの1つまでアイドル状態です。 ハードドライブ、RAID 5EEアレイでは、このディスクは常に他のHDDと共有されているため、アレイのパフォーマンスにプラスの影響があります。 たとえば、5台のHDDのRAID5EEアレイは、4台のプライマリHDDと1台のスペアHDDのRAID5アレイよりも1秒あたり25%多くのI / O操作を実行できます。 このようなアレイのディスクの最小数は4です。

2つ(またはそれ以上、ただしこれはほとんど使用されません)のRAID5アレイをストライプに結合します。 RAID5とRAID0の組み合わせで、RAID5の主な欠点を部分的に修正します- 低速いくつかのそのようなアレイの並列使用によるデータ記録。 アレイの総容量は2つのディスクの容量によって減少しますが、RAID6とは異なり、このようなアレイではデータが失われることなく1つのディスクで障害が発生し、RAID50アレイを作成するために必要なディスクの最小数は6です。 RAID10では、これは、許容可能な信頼性と組み合わせた高性能が要求されるアプリケーションで使用するための最も推奨されるRAIDレベルです。

2つのRAID6アレイをストライプに結合します。 書き込み速度は、RAID6の書き込み速度に比べて約2倍になります。 このようなアレイを作成するためのディスクの最小数は8です。各RAID6アレイの2つのディスクに障害が発生しても、情報は失われません。

RAID 00


RAID 00は非常にまれで、LSIコントローラーでそれを知るようになりました。 RAID 00ディスクグループは、一連のストライプセットからストライプセットを作成するスパンディスクグループです。
ディスクアレイRAID0。RAID00 データの冗長性を提供しませんただし、RAID 0とともに、あらゆるRAIDレベルの中で最高のパフォーマンスを提供します。 RAID 00は、データをより小さなセグメントに分割してから、スタック内の各ディスク上のデータセグメントをストライプ化します。 各データセグメントのサイズは、ストライプのサイズによって決まります。 RAID00は高帯域幅を提供します。 RAID00はフォールトトレラントではありません。 RAID 0ディスクグループ内のディスクに障害が発生した場合、全体
仮想ディスク(に関連付けられているすべてのディスク 仮想ディスク)失敗します。 大きなファイルを小さなセグメントに分割することで、RAIDコントローラーは両方のSASを使用できます
ファイルの読み取りまたは書き込みを高速化するコントローラー。 RAID 00は、パリティ計算が書き込み操作を複雑にすることを意味しません。 これにより、RAID00は
高帯域幅を必要とするが、フォールトトレランスを必要としないアプリケーション。 2〜256個のディスクを含めることができます。

RAID0またはRAID00よりも高速なのはどれですか?


LSIコントローラーのソリッドステートドライブの速度の最適化に関する記事で説明されているテストを実施し、6つのSSDのアレイでこれらの数値を取得しました

同じ価格レベルのソリューションのパフォーマンスを比較する

興味深い事実:Windows 7のいわゆるエクスペリエンスインデックス。これは、最も遅いディスク(読み取りと書き込みで約200 MB /秒)ではなく、一般的なソリッドステートディスク(SSD)のメインPCサブシステムのパフォーマンスを評価します。 、ランダムアクセス-0.1 ms)、7.0の値を示しますが、同じデスクトップシステム内の他のすべてのサブシステム(プロセッサ、メモリ、グラフィックス、ゲームグラフィックス)のインデックスは、より高いCPU(平均DDR3-1333メモリは4)に基づいていますGBとAMDRadeon HD 5770のような平均的な同じゲーミングビデオカードは、7.0よりも大幅に高い値(つまり、7.4-7.8; Windows 7のこの基準は対数スケールであるため、10分の1の差は10になります)と推定されます絶対値のパーセント)。 つまり、Windows 7によると、SATAバス上の高速な「家庭用」SSDは、現在最もトップエンドのデスクトップPCではない場合でもボトルネックになっています。 そのようなPCの残りのコンポーネントに値すると見なすための「偉大で強力な」「7」のシステムディスクのパフォーマンスはどうあるべきですか?.. :)

最近では、デスクトップの構成を選択するときにWindows 7の「ixpiriensインデックス」に導かれる人はほとんどいないため、この質問は明らかに修辞的です。 また、SSDは、ディスクサブシステムから最大限の力を引き出して快適な「ブレーキなし」の作業を行いたい場合、競合のないオプションとしてユーザーの心にすでにしっかりと根付いています。 しかし、それは本当にそうですか? SSDの実際の有用性の見積もりでWindows7は孤独ですか? また、強力なデスクトップにSSDに代わるものはありますか? 特にあなたが本当にあなたの財布に絶望的な空虚を見たくないならば...私たちはの1つを提供するために冒険します 可能なオプション置換。

最新のSSDの主な欠点は何ですか? 信頼性、耐久性、および経年劣化に関する「長期にわたる」論争を考慮に入れないと、概して、そのような2つの欠点があります。容量が小さいことと価格がかなり大きいことです。 実際、平均128 GB MLCSSDのコストは現在約8,000ルーブルです。 (この記事の執筆時点での価格。もちろん、モデルによって大きく異なりますが、これまでの価格の順序はそれです)。 もちろん、これはDDR3メモリの場合のように1 GBあたり600ルーブルではありませんが、1桁少なくなりますが、従来の磁気ハードドライブの場合ほど少なくはありません。 実際、最大読み取り/書き込み速度が約150 MB / sの非常に生産性の高い1000GB 7000モデル(ちなみに、8000ルーブルのSSDよりもはるかに小さいです!)2000未満で購入できるようになりましたルーブル。 (Hitachi 7K1000.Cまたは韓国語のようなもの)。 この場合、1ギガバイトのスペースの特定のコストはわずか2ルーブルになります! ギガバイトあたり60ルーブルのSSDとの違いを感じますか? ;)そして、連続した呼び出しの数が多い典型的なデスクトップアプリケーションでは、それらの間に本当に大きなギャップがありますか? たとえば、ビデオ、オーディオ、グラフィックスなどを操作する場合。結局のところ、MLC SSDの一般的なシーケンシャル読み取り速度(160〜240 MB / s)は、同じスペースの最初の120ギガバイトの速度よりもそれほど速くありません。 7Kテラバイト(150 MB /秒))。 また、シーケンシャル書き込み速度に関しては、通常、おおよそのパリティがあります(SSDの70〜190に対して同じ150 MB /秒)。 はい、それらはランダムアクセス時間の点で完全に比類のないものですが、結局のところ、私たちはデスクトップ上に自分たちのためにサーバーを組み立てているわけではありません。

さらに、デスクトップの場合、同じ128 GBが最近では、ボリュームは非常に軽微です(80 GBは一般的にばかげています)。 OSとメインアプリケーションで1つまたは2つのシステムパーティションにほとんど対応できません。 多数のマルチメディアファイルをどこに保存しますか? おもちゃをどこに置くか、それぞれが5〜20GBの開梱になりますか? 要するに、通常の容量の大きい「ネジ」がなければ、どこにも同じことはありません。 唯一の問題は、それがシステムになるのか、それともコンピューターに追加されるのかということです。

しかし、反対側からアプローチした場合はどうなりますか? PCにはハードディスクドライブ(古き良き略語-ハードディスクドライブ、または単に「ハードディスクドライブ」)がないので、それらをRAIDアレイに結合することは可能ですか? さらに、私たちの多くは、AMD、Intel、またはNvidiaチップセットをベースにしたマザーボードのサウスブリッジで、実際には「無料」でシンプルなRAIDコントローラーを入手しました。 たとえば、同じ8000ルーブルをSSDではなく、4テラバイトで使用できます。 それらをアレイに結合します。そうすれば、データを保存するために大容量のハードドライブを購入する必要がなくなります。つまり、コストを節約することもできます。 または、2番目のオプションとして-SSDを1つと2〜3 TBのディスクを1つ購入すると、1.5〜2TBのディスクを4つ購入できます...

さらに、4つのディスクのRAID 0は、容量が4倍になるだけでなく、線形読み取り/書き込み速度が4倍になるとしましょう。 そしてこれはすでに400-600MB / sであり、これは単一のSSD用です 同じ価格夢も思わなかった! したがって、このようなアレイは、少なくともストリーミングデータ(ビデオの読み取り/書き込み/編集、大きなファイルのコピーなど)では、SSDよりもはるかに高速に動作します。 他の典型的なタスクでは可能性があります パソコンそのようなアレイはSSDよりも悪くはありません-結局のところ、そのようなタスクの順次操作の割合は非常に高く、ランダムアクセスは、原則として、そのような容量の大きいドライブのかなりコンパクトなセクションで実行されます(スワップファイル、一時的なフォトエディタファイルなど)、つまり、この領域内でのヘッドの移動は、ディスクの平均よりもはるかに速く(数ミリ秒で)発生します。これは、間違いなくそのパフォーマンスにプラスの影響を及ぼします。 マルチディスクRAIDアレイもOSにキャッシュされている場合は、小さなデータブロックを使用した操作で驚異的な速度が期待できます。

仮定をテストするために、7200RPMローテーションと32MBバッファーを備えたHitachiDeskstarE7K1000テラバイトディスクの4ディスクRAID0およびRAID5アレイをテストしました。 はい、それらはプレートの速度の点で、1800年から1900ルーブル/個で今日販売されている新しいものよりもいくらか遅いです。 同じ容量のHitachi7K1000.Cドライブ。 ただし、それらのファームウェアはアレイ内のディスクの動作用に最適化されているため、4ディスクRAID0の最大読み取り速度で切望されている600MB / sをやや下回ると、かなりのタスクで最高のパフォーマンスが得られます。ランダムアクセスの数。 そして、私たちが見つけたパターンは、さまざまなメーカーのより高速な(そしてより容量の大きい)ディスクモデルのアレイに拡張できます。

ICH8R / ICH9R / ICH10Rサウスブリッジ(およびそれ以降)を搭載したIntelチップセットをベースにしたマザーボードを使用すると、4テラバイトのディスクを次のように最適に編成できます。 Intel Matrix RAIDテクノロジーのおかげで、各ディスクのボリュームの前半から、2TBの容量のRAID0アレイを作成します(Vistaより下の「オペレーティングシステム」が特別な調整なしで理解できるように) 、システムパーティションの最高のパフォーマンスを提供します。 クイックスタートアプリケーションやゲーム、およびマルチメディアやその他のコンテンツを使用した高速の運用作業。 また、重要なデータをより信頼性の高い方法で保存するために、これらのディスクのボリュームの後半をRAID 5アレイに結合します(ちなみに、以下に示すように、これも最悪のパフォーマンスにはほど遠いです)。 したがって、わずか8000ルーブルです。 超高速の2TBシステムディスクと、信頼性が高く容量の大きい1.5TBの「アーカイブ」ボリュームの両方を利用できます。 さらにテストを行うのは、デフォルト値で作成した2つのアレイのこの構成です。 ただし、Intelコントローラー上のRAID5の特に疑わしい嫌いな人は、RAID10をその代わりに1.5倍小さく構築できます-そのデータ読み取りパフォーマンスは、書き込み(キャッシュあり)時のRAID5よりも低くなりますが、信頼性はほぼ同じですアレイが崩壊したときのデータの取得可能性が向上します(半分のケースでは、2つのディスクでも障害が発生した場合にRAID10を復活させることができます)。

Intel Matrix Storage Managerユーティリティを使用すると、オペレーティングシステムを使用して(つまり、を使用して)そのようなディスクアレイへの書き込みのキャッシュを有効または無効にできます。 PC)、スクリーンショットの右側の情報フィールドの上から3行目を参照してください。

キャッシングは、小さなファイルとデータブロックを含むアレイの操作を劇的に高速化するだけでなく、RAID 5アレイへの書き込み速度も大幅に高速化します(これは非常に重要な場合があります)。 したがって、わかりやすくするために、キャッシュを有効または無効にしてテストを実行しました。 参考までに、以下でキャッシュが有効になっている場合のCPU負荷についても触れます。

テストは、現時点で最も強力なデスクトップではなく、典型的なテストシステムで実行されました。

  • Intel Core 2 Duo E8400プロセッサー(3 GHz);
  • 2GBDDR2-800システムメモリ;
  • ICH10Rを搭載したIntelP45Expressチップセット上のASUSP5Q-Eボード。
  • ビデオアクセラレータAMDRadeon HD5770。

Seagate ST950042ASシステムディスクには、Windows 7 x64UltimateおよびWindowsXP SP3 Proが含まれていました(テストされたアレイとドライブは「クリーン」状態でテストされました)。 ATTO Disk Benchmark 2.41、Futuremark PCMark05、Futuremark PCMark Vantage x86、Intel NAS Performance Toolkit 1.7などをベンチマークとして使用し、その結果に基づいて、従来のRAIDとSSDの競合を判断します。テストは5回実施され、結果は平均化されました。 方向付けについては、テスト結果を含む図の下部に、2TBの容量を持つ高速シングルドライブSeagateBarracuda XT ST32000641ASのデータが示されています。これは、4つのHitachiDeskstarの「システム」RAID0と同じです。テストしたE7K1000HDE721010SLA330。

128 GBの容量と8,000ルーブルの価格(この記事の執筆時点)を備えた、安価でありながら非常に生産性の高いSSDを称えます。 PNY Optima SSD 128GBMLCモデルを保護しました。 まず、詳しく見ていきましょう。

SSD PNY Optima 128GB Gen 2

モデル番号P-SSD2S128GM-CT01(ファームウェア0309)は、スタイリッシュな9.5mm厚のブラックメタルケースに入った典型的な2.5インチSATASSDです。 そのメーカーは、フラッシュドライブとメモリモジュールでよく知られている会社です。


PNYオプティマSSD 128GBMLC

ドライブは、MLCセルとJMicronJMF612コントローラーを備えたIntel29F64G08CAMDBフラッシュメモリに基づいています。これにより、このSSDはシリアルATAだけでなく、USB 2.0(後者のミニコネクターはSATAポートの隣にあります)を介して動作できます。ディスクケースの後端)..。

つまり、このソリッドステートドライブは耐衝撃性のポータブルストレージとしても使用できます。 確かに、USBケーブルはパッケージに含まれていません。 しかし、製品の価格も高値とは言えません。


ドライブボードPNYオプティマSSD 128GBMLC

製造元は、このモデルの読み取り速度が235 MB / s、書き込み速度が150 MB / sであることを約束しています(実際には、わずかに高速であることが判明しました)。 ディスクのキャッシュメモリは64MB、TRIMサポートが組み込まれており、耐衝撃性は1500gと宣言されており、動作温度範囲は-10〜 + 70°Cです。 メーカーは、このモデルに150万時間のMTBFで3年間の保証を提供します。

ちなみに、JMicronJMB612コントローラーをベースにした人気のMLCSSDを「劣った」ソリューションと誤解しないでください。 示されているように、このコントローラーのドライブは、平均して、Indilinx(IDX110)、Intel、SandForce(SF1222)、Samsungのコントローラーの同様の容量と価格のSSDよりも悪くはなく、多くのディスクベンチマークでそれらを上回っています。

試験結果

ATTO Disk Benchmark 2.41テスト(64KBから8MBまでのブロックで256MBファイルの書き込みと読み取り)によるPNY Optima 128GB SSDの有用なデータの最大シーケンシャル読み取りおよび書き込み速度は、それぞれ238および155 MB / sでした。これは、メーカーの値で示されている値よりもわずかに高くなっています(図を参照)。

不思議なことに、ファイルシステムをバイパスするドライブへのアクセスを使用するHD Tach RW 3.0低レベルテストでは、これら2つのパラメーターの値がそれぞれ217および165 MB /秒でした(グラフを参照)。 テストした4ディスクRAIDアレイのペアについては、RAID0は450MB /秒未満の大きなファイルの最大読み取り/書き込み速度を示しました(これはHD Tach RW 3.0グラフでも確認されています)。これは2倍または3倍です。このSSDよりも! 確かに、Windowsを使用して書き込みキャッシュ(図ではWC = yes)を有効にすると、順次書き込みと読み取りの速度が多少遅くなりますが、許容できないと見なされるほど重要ではありません。

RAID 5については、HDDサブジェクトの後半で構成されています。 最大速度このアレイのシーケンシャル読み取りは270MB / sを超え(これは最新の磁気ハードドライブよりも著しく高速です!)、シーケンシャル書き込み速度は基本的にWindowsのキャッシュに依存します。それがないと、完全に許容できない40-50に達することはほとんどありません。 MB / sの場合、それは3倍以上になります(HD Tach RW 3.0グラフも参照)。ただし、RAID 0の場合のように、RAID 5を読み取る場合はまだ到達しません。ただし、いずれの場合も、ここではRAID 5は、単一の「7000アンダー」Seagate BarracudaXTよりも著しく高速です。

ディスクアレイのWindowsキャッシングのもう1つの重要な利点は、小さい(64 KB未満)ファイルとデータブロックでの作業が劇的に高速化されることです。 これは、ATTO Disk Benchmark 2.41テストの結果から明らかです(左側の垂直方向はKB単位のデータブロックのサイズを示し、右側の列はKB /秒単位の速度値を示しています)。


キャッシュなしのRAID0


キャッシュ付きRAID0


キャッシュなしのRAID5


キャッシング付きRAID5

ご覧のとおり、これにより、書き込み時だけでなく、読み取り時の作業も高速化されます。 一般に、OSでのキャッシュアレイの使用は、ストリーミングデータだけでなく、他のすべて(たとえば、システムディスクとして)で優れたパフォーマンスを実現したい場合、実際には必須条件です。

コンピュータのRAMを介したRAIDを使用したキャッシュ操作の動作(読み取りと書き込みの両方)は、ディスクインターフェイス(SATA、SASなど)の速度の例として通常引用する次の図によって明確に示されます。

3〜5 GB / sのバッファ読み取り速度は、テストのようにPCのシステムメモリ帯域幅と同じオーダーです。 Intelチップセットのサウスブリッジがシステムと通信するDMIバスの可能性ははるかに低く、実際には、第1世代のPCI Express x4バスと同等です(つまり、1つで1 GB / s)。方向)。 この図からの2番目の有用な結論は、RAIDアレイの場合(キャッシュがない場合でも)、ホストからドライブへのバス(いくつかのSATAバス)を介したデータ転送速度は、アレイ内のディスクの数に比例して増加するということです。 たとえば、RAID 0の場合、SATAバス上の単一のSSDとのデータ交換の速度よりも数倍高速です。 結論は、一般的に、非常に明白です。

ちなみに、読み取り中の配列(小さなブロック)へのランダムアクセスの平均時間はWindowsのキャッシュに依存しませんが、書き込み中は大幅に変化します(図を参照)。 さらに、キャッシュのない最も単純な(ソフトウェア)RAID 5の場合、それはまともな大きさです。

キャッシングによる追加のCPU負荷の問題については、確かに存在しますが、多かれ少なかれ最近のデスクトップでは、それほど負担が大きいとは言えません。 同じATTOベンチマークを実行したときのCPU使用率のグラフを見てみましょう。

RAID 0
RAID 5
RAIDキャッシングなしのCPUグラフ

RAID0とRAID5の両方で、WindowsRAIDキャッシングなしの読み取り/書き込みCPU使用率はパーセンテージで表されます。 キャッシュが有効になっている場合、小さなブロックではCPU負荷が数十パーセントに上昇し、50%を超えることもあります(グラフの左側は下にあります)。

RAID 0

RAID 5
RAIDキャッシングを使用したCPUグラフ

興味深いことに、RAID5のプロセッサの負荷はRAID0の場合よりもわずかに低くなっています。これは、2番目のケースの読み取り/書き込み速度が速いためです。 さらに、データブロックのサイズが大きくなると、プロセッサの負荷が減少し、64KB以上のブロックのキャッシュを無効にした場合の負荷に近づきます。 もちろん、これは単なる見積もりであり、質問の例です。 この側面は、「純粋な形」で、より綿密に調査することができます。 しかし、この場合、これは記事の目的ではありません。ここで私たちが関心を持っているのは、ドライブのパフォーマンスです。

特に後者は、Windowsでのさまざまなタスクの動作をシミュレートする複雑なテスト(PCMark Vantage、PCMark05、Intel NAS Performance Toolkit)で評価しました。 これらのテストの各パターンの詳細な結果は、一般的な表に示されています。 また、記事の本文では、Windowsでのドライブの平均パフォーマンスを示す要約図のみを示します。

PCMark05テストでは、このSSDモデルは4ドライブRAID0を半分以下上回っています。 はい、これは顕著な利点ですが、単一のハードドライブと比較した場合ほど致命的ではありません。 この利点が5つのPCMark05パターンのうち3つでのみ達成されるのは不思議です(主に Windowsの起動およびアプリケーション)、ウイルススキャンパターンではRAID 0はSSDよりも10%高速であり、ファイル書き込みパターンでは一般的にSSDよりも3倍以上高速です。

アレイをキャッシュすると、このベンチマークでのパフォーマンスが約1.5倍向上しますが、単一のSeagate BarracudaXTはここでテストしたRAID5よりもわずかに高速です。ただし、メインシステムパーティションとアプリケーションの起動にこのRAID5を使用することはお勧めしません。 ;)しかし、この「アーカイブ」ボリューム(ファイル書き込みパターン)にファイルを書き込む場合、その速度は単一ディスクの速度よりも明らかに高速です。

Windows7での最近のPCMarkVantageテストでは、アレイに対するSSDの利点は圧倒的です(平均して少なくとも3倍)。 明らかに、このベンチマークのパターンは、SSDが競合していないドライブへの疑似ランダムアクセスで動作する際に非常にアクティブです。

ただし、パターンによる結果の分析(表を参照)は、「猫のすべてがShrovetideであるとは限らない」ことを示しています。多くのタスクで、RAID 0はSSD(Movie Maker、つまり、ビデオ編集)、しかしそれを大幅に上回ることもできます(メディアセンター)。 したがって、少なくともメディアセンターの場合、アレイはSSDよりも収益性が高くなります(これは、はるかに大きな容量にも当てはまります)。 ここでキャッシュすると、アレイの平均パフォーマンスが20〜30%向上し、ソフトウェアRAID5でさえ単一のトップエンドの「2テラバイト」と非常に競争力があります。

より最近の、そして私たちの意見では、Intel NAS Performance Toolkitのより現実的なテストでは、「トラック」PCMarkとはわずかに異なるベンチマークの哲学を使用しています。 ファイルシステムテストされたドライブは、事前に作成された一時ファイル内で事前に記録された(別のシステムで)ディスクアクセスコマンドを再生するのではなく、マルチディスクRAIDをさらに優先します。 平均して、私たちのRAID 0は、キャッシュがある場合(1.5倍!)だけでなく、キャッシュがない場合でも、SSDよりも優れています。 また、キャッシュを備えたソフトウェアベースの「アーカイブ」RAID 5は、単一のBarracudaXTドライブよりも高速です。

詳細に調べると(表を参照)、12パターンのうち10パターンで、キャッシュされたRAID0がSSDよりも高速であることがわかります。 これは、ビデオの操作、コンテンツの作成(コンテンツの作成)、事務作業、写真の処理(フォトアルバム)、およびファイルのコピーに適用されます。 SSDは、4ストリームのビデオ再生と、ディスクから多くのファイルを含むディレクトリをコピーする場合にのみ、従来のハードドライブのRAID0を上回りました。 この楽観的な見方について、結論に移ります。

結論

実際、すべてはすでに上で言われています。 磁気プラッター上の従来のハードドライブを正しく選択することで、4台のドライブのアレイは単一のSSDを備えたデスクトップPCの一般的なタスクでパフォーマンスを競うことができます。 同じ費用! さらに、ギガバイトのスペースの価格と容量の点で、このようなアレイはソリッドステートドライブよりも比類のない収益性があります。 また、(Intelチップセットの場合)高速RAID 0と同時に、ハードドライブスペースの一部に、最も重要なデータを保存するための大容量の保護された「アーカイブ」RAID 5を作成する機能には、同等のものがありません。 SSD間の価格の。 したがって、選択はあなた次第です。 Windowsで適切なユーティリティを使用してRAIDアレイのキャッシュを有効にすることを忘れないでください。これがないと、デスクトップで生産的で容量が大きく経済的なソリューションを使用する喜びが不完全になります。

そして、これらのソリューションの消費電力と信頼性に関して、さらにいくつかの意見があります。 もちろん、1台のSSDの0.5〜3 Wの消費量は、4台のHDDのアレイの20〜40Wの消費電力と比較することはできません。 ただし、ラップトップ/ネットトップではなく、本格的なデスクトップを検討しています(そうでなければ、実際には、そのようなRAIDをフェンスする必要はありません)。 したがって、消費量は合計で見積もる必要があります。 そして、典型的なデスクトッププロセッサ(マザーボードと一緒に100-200 W)とビデオカード(50-300 W)のはるかに大きな大騒ぎを背景に、ドライブ用の別の数十ワットはまったく無駄に見えません(マザーボードは、自宅の電気メーターでそれらからの余分なキロワット時をカウントします:))。 さらに、SSD用に1つまたは2つのHDDを購入する必要があることを考慮に入れると(見積もり:20W・8時間・30日= 4.8 kW・h、つまり、最大15〜20ルーブル1か月あたりの電気)。 両方のソリューションの信頼性については、SSD、チップセットコントローラー上のRAID、さらにはWeb上のHDDについても多くの苦情がありますが、メーカーはそれらに数百万時間のMTBFを約束しています。 したがって、いずれの場合でも、データ損失に対する最善の保護は、独立したメディアへの定期的なバックアップです。 そして、これは決して忘れてはなりません。

おやつとして-PCMark05(5パターン)、PCMark Vantage x86(7パターン)、Intel NAS Performance Toolkit(12パターン)の26のテストパターンすべてについて、テストされたドライブのパフォーマンス(MB /秒)を幾何学的に平均した図ATTOディスクベンチマーク(2パターン)での大きなファイルの読み取り/書き込み。 見て、熟考してください。 ;)

最新のマザーボードにはすべて統合RAIDコントローラーが装備されており、上位モデルにはいくつかの統合RAIDコントローラーも搭載されています。 ホームユーザーが統合RAIDコントローラーをどれだけ必要としているかは別の質問です。 いずれにせよ、最新のマザーボードは、複数のディスクからRAIDアレイを作成する機能をユーザーに提供します。 ただし、すべてのホームユーザーがRAIDアレイの作成方法、選択するアレイのレベルを知っているわけではなく、一般に、RAIDアレイを使用することの長所と短所についてはよくわかっていません。
この記事では、家庭用PCでRAIDアレイを作成する方法について簡単な推奨事項を示し、特定の例を使用して、RAIDアレイのパフォーマンスを個別にテストする方法を示します。

創造の歴史

「RAIDアレイ」という用語は、1987年にカリフォルニア大学バークレー校のアメリカ人研究者、パターソン、ギブソン、カッツが記事「安価なディスクの冗長アレイの事例、RAID」で最初に登場しました。低コストのハードドライブを単一の論理デバイスに組み合わせることができるため、システムの容量とパフォーマンスが向上し、個々のドライブに障害が発生してもシステム全体に障害が発生することはありません。

この記事の公開から20年以上が経過しましたが、RAIDアレイを構築するテクノロジーは今日でもその関連性を失っていません。 それ以降に変更されたのは、RAIDの頭字語のデコードだけです。 事実、当初はRAIDアレイは安価なディスク上に構築されていなかったため、「安価」という言葉は「独立」に変更されました。これは、より現実に沿ったものです。

動作原理

したがって、RAIDは独立ディスクの冗長アレイ(独立ディスクの冗長アレイ)であり、フォールトトレランスを提供してパフォーマンスを向上させるタスクを委託されています。 フォールトトレランスは冗長性によって実現されます。 つまり、ディスクスペースの一部がサービス目的で割り当てられ、ユーザーがアクセスできなくなります。

ディスクサブシステムのパフォーマンスの向上は、複数のディスクの同時操作によって提供されます。この意味で、アレイ内のディスクの数が多いほど(特定の制限まで)、優れています。

アレイでのディスク共有は、並列アクセスまたは独立アクセスのいずれかを使用して実行できます。 並列アクセスでは、ディスクスペースはデータ記録のためにブロック(ストリップ)に分割されます。 同様に、ディスクに書き込まれる情報は同じブロックに分割されます。 書き込み時には、個々のブロックが異なるディスクに書き込まれ、複数のブロックが同時に異なるディスクに書き込まれるため、書き込みパフォーマンスが向上します。 必要な情報は、複数のディスクから同時に別々のブロックで読み取られます。これは、アレイ内のディスクの数に比例してパフォーマンスの向上にも貢献します。

並列アクセスモデルは、データ書き込み要求のサイズがブロック自体のサイズよりも大きい場合にのみ実装されることに注意してください。 そうしないと、複数のブロックの並列記録を実行することは事実上不可能です。 個々のブロックのサイズが8KBで、書き込み要求のサイズが64KBである状況を想像してみてください。 この場合、元の情報はそれぞれ8KBの8つのブロックにカットされます。 4つのディスクアレイがある場合は、一度に4つのブロック(32KB)を書き込むことができます。 明らかに、検討した例では、書き込み速度と読み取り速度は、単一のディスクを使用する場合の4倍になります。 これは理想的な状況にのみ当てはまりますが、要求サイズは必ずしもブロックサイズとアレイ内のディスク数の倍数であるとは限りません。

書き込まれるデータのサイズがブロックサイズよりも小さい場合、根本的に異なるモデルが実装されます-独立したアクセス。 また、このモデルは、記録データのサイズが1ブロックのサイズよりも大きい場合にも使用できます。 独立したアクセスでは、単一の要求からのすべてのデータが別のディスクに書き込まれます。つまり、状況は1つのディスクでの作業と同じです。 独立アクセスモデルの利点は、複数の書き込み(読み取り)要求が同時に受信された場合、それらがすべて互いに独立して別々のディスクで実行されることです。 この状況は、たとえばサーバーでは一般的です。

に従い 他の種類アクセスには、さまざまなタイプのRAIDアレイもあり、通常はRAIDレベルによって特徴付けられます。 アクセスのタイプに加えて、RAIDレベルはそれらが配置される方法が異なり、冗長な情報が生成されます。 冗長情報は、専用ディスクに配置することも、すべてのディスクで共有することもできます。 この情報を生成する方法はたくさんあります。 これらの中で最も単純なのは、完全な複製(100%の冗長性)またはミラーリングです。 さらに、エラー訂正コードとパリティ計算が使用されます。

RAIDレベル

現在、標準化されていると見なすことができるRAIDレベルがいくつかあります。これらは、RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、およびRAID6です。

RAIDレベルのさまざまな組み合わせも、それらのメリットを組み合わせるために使用されます。 これは通常、パフォーマンスを向上させるために使用されるフォールトトレラントレベルとレベル0の組み合わせです(RAID 1 + 0、RAID 0 + 1、RAID50)。

最新のRAIDコントローラーはすべてJBOD(Just a Bench Of Disks)機能をサポートしていることに注意してください。これは、アレイの作成を目的としたものではなく、個々のディスクをRAIDコントローラーに接続する機能を提供します。

家庭用PCのマザーボードに統合されているRAIDコントローラは、すべてのRAIDレベルをサポートしているわけではないことに注意してください。 デュアルポートRAIDコントローラーはレベル0と1のみをサポートしますが、多数のポートを備えたRAIDコントローラー(たとえば、ICH9R / ICH10Rチップセットのサウスブリッジに統合された6ポートRAIDコントローラー)もレベル10と5をサポートします。

さらに、Intelチップセットをベースにしたマザーボードについて言えば、Intel Matrix RAID機能も実装されているため、複数のチップセットで作成できます。 ハードディスク同時に複数のレベルのRAIDマトリックス。それぞれにディスクスペースの一部を割り当てます。

RAID 0

RAIDレベル0は、厳密に言えば、冗長アレイではないため、データストレージの信頼性を提供しません。 それでも、このレベルは、ディスクサブシステムの高性能を確保する必要がある場合に積極的に使用されます。 RAID 0アレイを作成する場合、情報はブロックに分割され(これらのブロックはストライプと呼ばれることもあります)、別々のディスクに書き込まれます。つまり、並列アクセスを備えたシステムが作成されます(もちろん、ブロックのサイズが許せば)それ)。 RAID 0は、複数のドライブから同時にI / Oを実行できるため、チェックサム用のストレージスペースを必要としないため、最速の転送速度と最大のディスクスペース使用率を提供します。 このレベルの実装は非常に簡単です。 RAID 0は主に、大量のデータの高速転送が必要な領域で使用されます。

RAID 1(ミラーディスク)

RAIDレベル1は、2台のドライブの100%冗長アレイです。 つまり、データは単純に完全に複製(ミラーリング)されているため、非常に 上級信頼性(およびコスト)。 レベル1を実装する場合、ディスクとデータをブロックに事前に分割する必要はありません。 最も単純なケースでは、2つのドライブに同じ情報が含まれ、1つの論理ドライブになります。 1つのディスクに障害が発生した場合、その機能は別のディスクによって実行されます(これはユーザーに対して完全に透過的です)。 アレイの復元は、単純なコピーによって行われます。 さらに、この操作は2つのディスクから同時に実行できるため、このレベルでは情報の読み取り速度が2倍になります。 この情報ストレージスキームは、主にデータセキュリティのコストがストレージシステムの実装コストよりもはるかに高い場合に使用されます。

RAID 5

RAID 5は、分散チェックサムストレージを備えたフォールトトレラントディスクアレイです。 書き込み時には、データストリームはバイトレベルでブロック(ストライプ)に分割され、同時にアレイ内のすべてのディスクに循環順に書き込まれます。

配列に次のものが含まれているとします NSディスク、およびストライプサイズ NS..。 の各部分について n – 1ストライプチェックサムが計算されます NS.

d 1最初のディスクに書き込まれ、ストライプ d 2-ストライプまでの2番目など d n – 1、に書き込まれます( NS–1)番目のディスク。 これより先 NS-ディスクチェックサムが書き込まれます p n、およびこのプロセスは、ストライプが書き込まれた最初のディスクから周期的に繰り返されます d n.

録音プロセス (n – 1)ストライプとそのチェックサムは、すべてのユーザーに対して同時に生成されます NSディスク。

チェックサムは、書き込まれるデータブロックに対してビット単位の排他的論理和(XOR)演算を使用して計算されます。 だから、もしあれば NSハードドライブ、 NS-データブロック(ストライプ)、チェックサムは次の式を使用して計算されます。

p n = d 1 d 2 ... d1-1。

ディスクに障害が発生した場合、そのディスク上のデータは、制御データおよび正常なディスクに残っているデータから回復できます。

例として、4ビットのブロックを考えてみましょう。 データの保存とチェックサムの書き込みに使用できるディスクが5つしかないとします。 4ビットのブロックに分割されたビット11010011 1100 1011のシーケンスがある場合、チェックサムを計算するには、次のビット演算を実行する必要があります。

1101 0011 1100 1011 = 1001.

したがって、5番目のディスクに書き込まれるチェックサムは1001です。

ディスクの1つ、たとえば4つ目が故障している場合、ブロック d 4=読み取り時に1100は使用できなくなります。 ただし、その値は、同じ「排他的論理和」演算を使用して、チェックサムおよび残りのブロックの値から簡単に復元できます。

d 4 = d 1 d 2d 4p5。

この例では、次のようになります。

d 4 =(1101) (0011) (1100) (1011) = 1001.

RAID 5の場合、アレイ内のすべてのディスクは同じサイズですが、書き込みに使用できるディスクサブシステムの合計容量は正確に1つのディスクより少なくなります。 たとえば、5つのディスクが100 GBの場合、100 GBは監査情報用に予約されているため、アレイの実際のサイズは400GBです。

RAID 5は、3台以上のハードドライブ上に構築できます。 アレイ内のハードドライブの数が増えると、その冗長性は低下します。

RAID 5には、複数の読み取りまたは書き込みを同時に実行できる独立したアクセスアーキテクチャがあります。

RAID 10

RAID 10は、レベル0と1の組み合わせです。このレベルには、最低4台のドライブが必要です。 4つのディスクのRAID10アレイでは、それらはレベル0のアレイにペアになっており、これらのアレイは両方とも次のようになっています。 論理ドライブこれらはレベル1アレイに結合されます。別のアプローチも可能です。最初に、ディスクがレベル1のミラーリングされたアレイに結合され、次にこれらのアレイに基づく論理ディスクがレベル0アレイに結合されます。

Intel Matrix RAID

レベル5および1の考慮されているRAIDアレイは、家庭で使用されることはめったにありません。これは主に、そのようなソリューションのコストが高いためです。 家庭用PCで最も一般的に使用されるのは、2つのディスク上のレベル0アレイです。 すでに述べたように、RAIDレベル0はデータストレージのセキュリティを提供しないため、エンドユーザーは、高速を作成するがデータストレージの信頼性を提供しない、RAIDレベル0、またはディスクスペースのコストを増やすという選択肢に直面します。 、-RAID-パフォーマンスを大幅に向上させることなくデータの信頼性を提供するティア1アレイ。

この困難な問題に対処するために、IntelはIntel Matrix Storage Technologyを開発しました。これは、2つの物理ディスク上にTier0およびTier1アレイの利点を組み合わせたものです。 また、この場合、RAIDアレイだけでなく、物理ディスクと論理ディスクの両方を組み合わせたアレイについて話していることを強調するために、テクノロジ名では「アレイ」ではなく「マトリックス」という単語を使用しています。

では、Intel Matrix Storage Technologyを搭載したデュアルドライブRAIDアレイとは何ですか? 主なアイデアは、システムに複数のハードドライブがあり、Intel Matrix StorageテクノロジーをサポートするIntelチップセットを搭載したマザーボードがある場合、ディスクスペースをいくつかの部分に分割でき、それぞれが個別のRAIDアレイとして機能するということです。 。

2台の120GBドライブで構成されるRAIDマトリックスの簡単な例を見てみましょう。 どのディスクも、たとえばそれぞれ40GBと80GBの2つの論理ディスクに分割できます。 次に、同じサイズの2つの論理ドライブ(たとえば、それぞれ40 GB)を組み合わせてRAIDレベル1マトリックスにし、残りの論理ディスクを組み合わせてRAIDレベル0マトリックスにすることができます。

原則として、2つの物理ディスクを使用して、1つまたは2つのRAID-0マトリックスのみを作成することもできますが、レベル1のマトリックスのみを取得することはできません。 つまり、システムにディスクが2つしかない場合、インテルMatrix Storageテクノロジーを使用すると、次のタイプのRAIDマトリックスを作成できます。

  • レベル0の1つのマトリックス。
  • レベル0の2つの行列。
  • レベル0マトリックスとレベル1マトリックス。

システムに3つのハードディスクがある場合、次のタイプのRAIDマトリックスを作成できます。

  • レベル0の1つのマトリックス。
  • 1つのレベル5マトリックス。
  • レベル0の2つの行列。
  • レベル5の2つの行列。
  • レベル0のマトリックスとレベル5のマトリックス。

システムに4台のハードディスクがある場合は、レベル10のRAIDマトリックス、およびレベル10とレベル0または5の組み合わせを作成することも可能です。

理論から実践へ

家庭用コンピューターについて言えば、最も需要が高く人気のあるのは、レベル0および1のRAIDアレイです。家庭用PCで3つ以上のディスクのRAIDアレイを使用することは、規則の例外です。 これは、一方ではRAIDアレイのコストが使用されるディスクの数に比例して増加するという事実によるものであり、他方では、家庭用コンピュータの場合、ディスクアレイの容量が最も重要であるという事実によるものです。 、そのパフォーマンスと信頼性ではなく。

したがって、以下では、2つのディスクのみに基づくレベル0および1のRAIDアレイを検討します。 私たちの研究のタスクは、いくつかの統合RAIDコントローラーに基づいて作成されたレベル0と1のRAIDアレイのパフォーマンスと機能を比較し、RAIDアレイの速度特性のストライプへの依存性を研究することです。サイズ。

実際には、理論的にはRAID 0アレイを使用する場合、読み取りと書き込みの速度は2倍になるはずですが、実際には、速度特性の増加はそれほど緩やかではなく、RAIDコントローラーごとに異なります。 同様に、RAIDレベル1アレイの場合:理論的には読み取り速度を2倍にする必要があるという事実にもかかわらず、実際にはすべてがそれほどスムーズではありません。

私たちのために 比較テスト RAIDコントローラーには、GigabyteGA-EX58A-UD7マザーボードを使用しました。 このボードは、ICH10Rサウスブリッジを搭載したIntel X58 Expressチップセットに基づいています。このチップセットには、Intel MatrixRAID機能を備えたRAID0、1、10、および5をサポートする6つのSATAIIポート用の統合RAIDコントローラーがあります。 さらに、Gigabyte GA-EX58A-UD7は、GIGABYTE SATA2 RAIDコントローラーを統合します。これに基づいて、レベル0、1、およびJBODのRAIDアレイを編成する機能を備えた2つのSATAIIポートが実装されます。

GA-EX58A-UD7は、Marvell 9128 SATA IIIコントローラーも統合しており、これに基づいて、レベル0、1、およびJBODのRAIDアレイを編成する機能を備えた2つのSATAIIIポートが実装されています。

したがって、Gigabyte GA-EX58A-UD7には3つの個別のRAIDコントローラーがあり、これに基づいてレベル0と1のRAIDアレイを作成し、それらを相互に比較できます。 SATAIII標準はSATAII標準と下位互換性があることを思い出してください。したがって、SATAIIIドライブをサポートするMarvell9128コントローラーに基づいて、SATAIIドライブを使用してRAIDアレイを作成することもできます。

テストベンチの構成は次のとおりです。

  • プロセッサー-IntelCore i7-965 Extreme Edition;
  • マザーボード-ギガバイトGA-EX58A-UD7;
  • BIOSバージョン-F2a;
  • ハードドライブ-Western Digital WD1002FBYSドライブ2台、Western DigitalWD3200AAKSドライブ1台。
  • 統合RAIDコントローラー:
  • ICH10R、
  • GIGABYTE SATA2、
  • マーベル9128;
  • メモリ-DDR3-1066;
  • メモリサイズ-3GB(3つのモジュール、それぞれ1024 MB);
  • メモリ動作モード-DDR3-1333、3チャネル動作モード。
  • ビデオカード-GigabyteGeForce GTS295;
  • 電源-タガン1300W。

手術室管理下で実施されたテスト Microsoftシステム Windows 7 Ultimate(32ビット)。 オペレーティング・システムは、ICH10Rサウスブリッジに統合されたSATAIIコントローラーのポートに接続されたWesternDigitalWD3200AAKSディスクにインストールされました。 RAIDアレイは、SATAIIインターフェイスを備えた2台のWD1002FBYSドライブで組み立てられました。

作成されたRAIDアレイの速度特性を測定するために、ディスクシステムのパフォーマンスを測定するための業界標準であるIOmeterユーティリティを使用しました。

IOmeterユーティリティ

この記事は、RAIDアレイを作成およびテストするための一種のユーザーガイドとして考えたため、IOmeter(入力/出力メーター)ユーティリティの説明から始めるのが論理的です。これは、すでに述べたように、一種のディスクシステムのパフォーマンスを測定するための業界標準。 このユーティリティ無料で、http://www.iometer.orgからダウンロードできます。

IOmeterユーティリティは、パーティション化されていないハードディスクを操作できる合成ベンチマークであるため、ファイル構造に関係なくディスクをテストし、オペレーティングシステムの影響を最小限に抑えることができます。

テスト中に、特定のアクセスモデル、つまり「パターン」を作成することができます。これにより、ハードディスクによる特定の操作のパフォーマンスを具体化できます。 特定のアクセスモデルが作成された場合、次のパラメータを変更できます。

  • データ転送リクエストのサイズ。
  • ランダム/順次分布(%)。
  • 読み取り/書き込み操作の分布(%)。
  • 並行して実行されている個別のI / O操作の数。

IOmeterユーティリティは、コンピュータにインストールする必要がなく、IOmeter自体とDynamoの2つの部分で構成されています。

IOmeterは、すべてを実行できるグラフィカルユーザーインターフェイスを備えたプログラムの制御部分です。 必要な設定..。 Dynamoは、インターフェースのない負荷ジェネレーターです。 IOmeter.exeファイルを実行するたびに、Dynamo.exeロードジェネレーターが自動的に起動します。

IOmeterプログラムの操作を開始するには、IOmeter.exeファイルを実行するだけです。 これにより、IOmeterプログラムのメインウィンドウが開きます(図1)。

米。 1.IOmeterプログラムのメインウィンドウ

IOmeterユーティリティを使用すると、ローカルディスクシステム(DAS)だけでなく、ネットワークストレージデバイス(NAS)もテストできることに注意してください。 たとえば、複数のネットワーククライアントを使用してサーバー(ファイルサーバー)のディスクサブシステムのパフォーマンスをテストするために使用できます。 したがって、IOmeterユーティリティウィンドウのブックマークとツールの一部は、特に ネットワーク設定プログラム。 ディスクとRAIDアレイをテストする場合、プログラムのこれらの機能は必要ないことは明らかです。したがって、すべてのタブとツールの目的を説明するわけではありません。

そのため、IOmeterプログラムを起動すると、実行中のすべての負荷ジェネレーター(Dynamoインスタンス)のツリー構造がメインウィンドウの左側(トポロジウィンドウ)に表示されます。 実行中の各DynamoLoad Generatorインスタンスは、マネージャーと呼ばれます。 さらに、IOmeterプログラムはマルチスレッドであり、Dynamo LoadGeneratorインスタンスの個々の実行中のスレッドはワーカーと呼ばれます。 実行中のワーカーの数は、常に論理プロセッサコアの数に対応します。

この例では、ハイパースレッディングテクノロジをサポートするクアッドコアプロセッサを搭載した1台のコンピュータのみが使用されているため、1台のマネージャ(1台のDynamoインスタンス)と8台(論理プロセッサコアの数)のワーカーのみが起動されます。

実際には、このウィンドウでテストディスクに変更や追加を行う必要はありません。

Dynamoインスタンスをマウスで実行するツリー構造でコンピューター名を選択した場合は、ウィンドウで 目標タブ内 ディスクターゲットコンピュータにインストールされているすべてのディスク、ディスクアレイ、およびその他のドライブ(ネットワークドライブを含む)が表示されます。 これらは、IOmeterが処理できるドライブです。 メディアは黄色または青色でマークできます。 メディアの論理パーティションは黄色でマークされ、論理パーティションが作成されていない物理デバイスは青色でマークされています。 論理セクションには、取り消し線がある場合とない場合があります。 実際のところ、プログラムが論理パーティションで動作するには、最初に、論理パーティション全体の容量と同じサイズの特別なファイルを作成して、プログラムを準備する必要があります。 論理セクションに取り消し線が引かれている場合は、セクションがまだテスト用に準備されていないことを意味します(テストの最初の段階で自動的に準備されます)が、セクションに取り消し線が引かれていなければ、ファイルはすでに準備されていることを意味します。テストの準備が完全に整った論理セクションで作成されました...

論理区画での作業がサポートされているにもかかわらず、論理区画に区画されていないディスクを正確にテストすることが最適であることに注意してください。 スナップインを使用して、論理ディスクパーティションを削除するのは非常に簡単です。 ディスクの管理..。 アクセスするには、クリックするだけです 右クリックアイコン上にマウスを置く コンピューターデスクトップと開いたメニューで、アイテムを選択します 管理..。 開いたウィンドウで コンピューター管理左側でアイテムを選択します ストレージ、そしてその中に- ディスクの管理..。 その後、ウィンドウの右側に コンピューター管理マップされたすべてのドライブが表示されます。 右クリックして 目的のディスク開いたメニューで選択します ボリュームを削除...、物理ディスク上の論理パーティションを削除できます。 論理パーティションがディスクから削除されると、その上のすべての情報が完全に削除されることを思い出してください。

一般に、IOmeterユーティリティを使用すると、テストのみが可能です 空のディスクまたはディスクアレイ。 つまり、オペレーティングシステムがインストールされているディスクまたはディスクアレイをテストすることはできません。

では、IOmeterユーティリティの説明に戻りましょう。 ウィンドウ内 目標タブ内 ディスクターゲットテストするディスク(またはディスクアレイ)を選択する必要があります。 次に、タブを開く必要があります アクセス仕様(図2)、テストシナリオを定義することが可能になります。

米。 2.IOmeterユーティリティの[仕様]タブにアクセスします

ウィンドウ内 グローバルアクセス仕様ブートマネージャに割り当てることができる事前定義されたテストスクリプトのリストがあります。 ただし、これらのスクリプトは必要ないため、すべてを選択して削除できます(このためのボタンがあります) 消去)。 その後、ボタンをクリックします 新しい新しいテストスクリプトを作成します。 開いたウィンドウで アクセス仕様の編集ディスクまたはRAIDアレイのブートスクリプトを定義できます。

シーケンシャル(線形)読み取りおよび書き込み速度のデータ転送要求ブロックのサイズへの依存性を調べたいとします。 これを行うには、さまざまなブロックサイズのシーケンシャル読み取りブートスクリプトのシーケンスを生成してから、さまざまなブロックサイズのシーケンシャル書き込みブートスクリプトのシーケンスを生成する必要があります。 通常、ブロックサイズは行の形式で選択され、各メンバーは前のメンバーの2倍のサイズであり、この行の最初のメンバーは512バイトです。 つまり、ブロックサイズは次のとおりです。512バイト、1、2、4、8、16、32、64、128、256、512 KB、1MB。 データブロックサイズが大きい場合、シーケンシャル操作の速度は変わらないため、シーケンシャル操作のブロックサイズを1MBより大きくしても意味がありません。

それでは、512バイトのブロックのシーケンシャル読み取りブートスクリプトを作成しましょう。

フィールドで 名前アクセス仕様の編集ブートスクリプトの名前を入力します。 たとえば、Sequential_Read_512です。 さらにフィールドで 転送リクエストのサイズデータブロックサイズを512バイトに設定します。 スライダー パーセントランダム/順次配布(順次操作と選択操作のパーセンテージ比)すべての操作が順次のみになるように、左端までシフトします。 さて、スライダー 、読み取り操作と書き込み操作の間のパーセンテージを設定します。すべての操作が読み取り専用になるように、右端までシフトします。 ウィンドウ内の他のパラメータ アクセス仕様の編集変更する必要はありません(図3)。

米。 3.シーケンシャル読み取りブートスクリプトを作成するための[アクセス仕様の編集]ウィンドウ
512バイトのデータブロックサイズ

ボタンをクリックします Ok、作成した最初のスクリプトがウィンドウに表示されます グローバルアクセス仕様タブ内 アクセス仕様 IOmeterユーティリティ。

同様に、残りのデータブロックのスクリプトを作成する必要がありますが、作業を簡単にするために、ボタンをクリックして毎回スクリプトを再作成しない方が簡単です。 新しい、最後に作成したシナリオを選択したら、ボタンを押します 編集コピー(コピーを編集)。 その後、ウィンドウが再び開きます。 アクセス仕様の編集最後に作成したスクリプトの設定を使用します。 ブロックの名前とサイズだけを変更するだけで十分です。 他のすべてのブロックサイズに対して同様の手順を実行すると、スライダーを除いてまったく同じ方法で実行される、順次記録用のスクリプトの生成を開始できます。 読み取り/書き込み分布の割合読み取り操作と書き込み操作の間のパーセンテージを設定する、は、左端までシフトする必要があります。

同様に、選択的な書き込みと読み取りのためのスクリプトを作成できます。

すべてのスクリプトの準備ができたら、ダウンロードマネージャーに割り当てる必要があります。つまり、どのスクリプトを使用するかを指定する必要があります。 ダイナモ.

これを行うには、ウィンドウでもう一度確認します トポロジー個別のワーカーではなく、コンピューター名(つまり、ローカルPCのロードマネージャー)が強調表示されます。 これにより、負荷シナリオがすべてのワーカーに一度に割り当てられます。 次のウィンドウ グローバルアクセス仕様作成したすべての負荷シナリオを選択し、ボタンを押します 追加..。 選択したすべての荷重シナリオがウィンドウに追加されます (図4)。

米。 4.生成された負荷シナリオを負荷マネージャーに割り当てます

その後、タブに移動する必要があります テスト設定(図5)、作成した各スクリプトの実行時間を設定できます。 グループでこれのために 実行時間ロードシナリオの実行時間を設定します。 時間を3分に設定すれば十分です。

米。 5.ロードシナリオの実行時間を設定する

現場でも テストの説明テスト全体の名前を指定する必要があります。 原則として、このタブには他にも多くの設定がありますが、これらはタスクには必要ありません。

必要な設定をすべて行ったら、ツールバーのフロッピーディスクのあるボタンをクリックして、作成したテストを保存することをお勧めします。 テストは* .icf拡張子で保存されます。 その後、IOmeter.exeファイルではなく、*。icf拡張子の付いた保存ファイルを実行することにより、生成されたロードスクリプトを使用できるようになります。

これで、フラグの付いたボタンをクリックして直接テストを開始できます。 テスト結果を含むファイルの名前を指定し、その場所を選択するように求められます。 テスト結果はCSVファイルに保存されます。このファイルはExcelに簡単にエクスポートでき、最初の列でフィルターを設定した後、テスト結果とともに必要なデータを選択します。

テスト中、中間結果はタブで確認できます 結果表示、およびタブでそれらが関連する負荷シナリオを決定できます アクセス仕様..。 ウィンドウ内 割り当てられたアクセス仕様実行可能スクリプトは緑で、完了したスクリプトは赤で、未実行のスクリプトは青で表示されます。

そこで、個々のディスクまたはRAIDアレイをテストするために必要な基本的なIOmeterのトリックについて説明しました。 IOmeterユーティリティのすべての機能については説明していませんが、そのすべての機能の説明はこの記事の範囲を超えていることに注意してください。

GIGABYTESATA2コントローラーに基づくRAIDアレイの作成

そこで、オンボードのGIGABYTE SATA2RAIDコントローラーを使用してデュアルドライブRAIDアレイの構築を開始します。 もちろん、ギガバイト自体はチップを製造していないため、他社のラベルが付け直されたチップは、GIGABYTESATA2チップの下に隠されています。 ドライバーのINFファイルからわかるように、これはJMicronJMB36xシリーズコントローラーです。

コントローラ設定メニューへのアクセスは、システム起動の段階で可能です。対応するメッセージが画面に表示されたら、Ctrl + Gのキーの組み合わせを押す必要があります。 当然、最初にBIOS設定で、GIGABYTE SATA2コントローラーに関連する2つのSATAポートの動作モードをRAIDとして定義する必要があります(そうしないと、RAIDコンフィギュレーターメニューにアクセスできなくなります)。

GIGABYTE SATA2RAIDコントローラーの構成メニューは非常に簡単です。 すでに述べたように、コントローラーはデュアルポートであり、レベル0または1のRAIDアレイを作成できます。コントローラー設定メニューからRAIDアレイを削除または作成できます。 RAIDアレイを作成するときは、その名前を指定し、アレイのレベル(0または1)を選択し、RAID 0のストライプサイズ(128、84、32、16、8、または4K)を設定し、サイズを決定することもできます。アレイの。

アレイが作成されると、アレイを変更することはできなくなります。 つまり、作成したアレイのレベルやストライプサイズなどを後で変更することはできません。 これを行うには、最初にアレイを削除して(データを失って)、次にアレイを新たに作成する必要があります。 実際、これはGIGABYTESATA2コントローラーだけの特徴ではありません。 作成されたRAIDアレイのパラメーターを変更できないことは、すべてのコントローラーの機能であり、RAIDアレイを実装するという原則に基づいています。

GIGABYTE SATA2コントローラーアレイが作成されると、ドライバーとともに自動的にインストールされるGIGABYTERAIDコンフィギュレーターユーティリティを使用して現在の情報を表示できます。

Marvell9128コントローラーに基づくRAIDアレイの作成

Marvell 9128 RAIDコントローラーの構成は、設定によってのみ可能です。 BIOSボードギガバイトGA-EX58A-UD7。 一般に、Marvell 9128コントローラーのコンフィギュレーターのメニューはやや湿っていて、経験の浅いユーザーを誤解させる可能性があると言わなければなりません。 ただし、これらのマイナーな欠陥については少し後で説明しますが、今のところ、メインの欠陥について検討します。 機能性コントローラーマーベル9128。

したがって、このコントローラーはSATA IIIドライブをサポートしますが、SATAIIドライブとも完全に互換性があります。

Marvell 9128コントローラーを使用すると、2台のドライブに基づいてRAID0および1アレイを作成できます。 レベル0アレイの場合、32KBまたは64KBのストライプサイズを指定し、アレイの名前を指定できます。 さらに、説明が必要なギガバイト丸めなどのオプションもあります。 メーカーの名前と一致する名前にもかかわらず、ギガバイト丸め関数はそれとは何の関係もありません。 さらに、RAIDレベル0とは関係ありませんが、コントローラー設定では、このレベルのアレイ用に特別に定義できます。 実際、これは、私たちが言及したMarvell9128コントローラーのコンフィギュレーターの最初の欠陥です。 ギガバイト丸めは、RAIDレベル1に対してのみ定義されています。これにより、容量がわずかに異なる2つのドライブ(たとえば、異なるメーカーまたは異なるモデル)を使用してRAID1アレイを作成できます。 ギガバイト丸め機能は、RAID 1アレイの作成に使用される2つのドライブのサイズの違いを設定します。Marvell9128コントローラーでは、ギガバイト丸め機能を使用して、1GBまたは10GBのドライブのサイズの違いを判別できます。 。

Marvell 9128コントローラーのコンフィギュレーターのもう1つの欠点は、RAID 1アレイを作成するときに、ユーザーがストライプサイズ(32または64 KB)を選択できることです。 ただし、ストライプの概念は、RAIDレベル1アレイではまったく定義されていません。

ICH10Rに統合されたコントローラーに基づくRAIDアレイの作成

ICH10Rサウスブリッジに統合されたRAIDコントローラーが最も一般的です。 前述のように、これは6ポートRAIDコントローラーであり、RAID0とRAID1だけでなく、RAID5とRAID10もサポートします。

コントローラ設定メニューへのアクセスは、システム起動の段階で可能です。対応するメッセージが画面に表示されたら、Ctrl + Iのキーの組み合わせを押す必要があります。 当然、最初にBIOS設定で、このコントローラーの動作モードをRAIDとして定義する必要があります(そうしないと、RAIDアレイコンフィギュレーターのメニューにアクセスできなくなります)。

RAIDコントローラのセットアップメニューはかなり簡単です。 コントローラの設定メニューからRAIDアレイを削除または作成できます。 RAIDアレイを作成するときは、その名前を指定し、アレイレベル(0、1、5、または10)を選択し、RAID 0のストライプサイズ(128、84、32、16、8、または4K)を設定し、配列のサイズを定義します。

RAIDアレイのパフォーマンスの比較

IOmeterユーティリティを使用してRAIDアレイをテストするために、シーケンシャル読み取り、シーケンシャル書き込み、選択的読み取り、および選択的書き込みの負荷シナリオを作成しました。 各負荷シナリオでのデータブロックのサイズは次のとおりです。512バイト、1、2、4、8、16、32、64、128、256、512 KB、1MB。

各RAIDコントローラーで、許可されたすべてのストライプサイズのRAID0アレイとRAID1アレイが作成されました。さらに、RAIDアレイを使用して得られたパフォーマンスの向上を評価できるようにするために、単一のディスクもテストしました。各RAIDコントローラーで。

それでは、テストの結果に目を向けましょう。

GIGABYTESATA2コントローラー

まず、GIGABYTE SATA2コントローラーに基づいてRAIDアレイをテストした結果を見てみましょう(図6-13)。 一般的に、コントローラーは文字通り神秘的であることが判明し、そのパフォーマンスは単に期待外れでした。

米。 6.連続の速度
ディスクの選択的な操作
Western Digital WD1002FBYS

米。 7.連続の速度

ストライプサイズは128KB
(GIGABYTE SATA2コントローラー)

米。 12.連続の速度
RAID0の選択的操作
ストライプサイズは4KB
(GIGABYTE SATA2コントローラー)

米。 13.連続の速度
選択的な操作
RAID 1用(GIGABYTE SATA2コントローラー)

単一ディスク(RAIDアレイなし)の速度特性を見ると、最大シーケンシャル読み取り速度は102 MB / sであり、最大シーケンシャル書き込み速度は107 MB / sです。

128KBのストライプでRAID0アレイを作成する場合、最大シーケンシャル読み取りおよび書き込み速度は125 MB / sに増加し、約22%増加します。

ストライプサイズが64、32、または16 KBの場合、最大シーケンシャル読み取り速度は130 MB / sで、最大シーケンシャル書き込み速度は141 MB / sです。 つまり、指定されたストライプサイズでは、最大シーケンシャル読み取り速度が27%増加し、最大シーケンシャル書き込み速度が31%増加します。

実際、これはレベル0の配列には十分ではないので、順次操作の最大速度を速くしたいと思います。

ストライプサイズが8KBの場合、最大シーケンシャル操作(読み取りと書き込み)は、ストライプサイズが64、32、または16 KBの場合とほぼ同じですが、選択的な読み取りには明らかな問題があります。 データブロックサイズが128KBまで大きくなると、選択的読み取り速度(本来あるべき速度)はデータブロックサイズに比例して増加します。 ただし、データブロックサイズが128 KBを超えると、選択的読み取り速度はほぼゼロ(約0.1 MB /秒)に低下します。

ストライプサイズが4KBの場合、ブロックサイズが128 KBを超えると選択的読み取り速度が低下するだけでなく、ブロックサイズが16KBを超えるとシーケンシャル読み取り速度も低下します。

GIGABYTESATA2コントローラーでRAID1アレイを使用すると、(単一のドライブと比較して)シーケンシャル読み取り速度はほとんど変化しませんが、最大シーケンシャル書き込み速度は75 MB / sに低下します。 RAID 1アレイの場合、単一のディスクの読み取りおよび書き込み速度と比較して、読み取り速度を上げ、書き込み速度を下げてはならないことを思い出してください。

GIGABYTESATA2コントローラーのテスト結果から導き出せる結論は1つだけです。 他のすべてのRAIDコントローラー(Marvell 9128、ICH10R)がすでに使用されている場合にのみ、このコントローラーを使用してRAID0およびRAID1アレイを作成することは理にかなっています。 そのような状況を想像するのはかなり難しいですが。

コントローラーマーベル9128

Marvell 9128コントローラーは、GIGABYTE SATA2コントローラーよりもはるかに高速に動作しました(図14-17)。 実際には、コントローラーが1つのディスクで動作している場合でも違いが現れます。 GIGABYTESATA2コントローラーは128KBのデータブロックで102MB / sの最大シーケンシャル読み取り速度を達成しますが、Marvell9128コントローラーは16KBのデータブロックで107MB / sの最大シーケンシャル読み取り速度を達成します。

64Kおよび32KのストライプサイズのRAID0アレイを作成する場合、最大シーケンシャル読み取り速度は211 MB / sに増加し、シーケンシャル書き込み速度は185 MB / sに増加します。 つまり、指定されたストライプサイズでは、最大シーケンシャル読み取り速度が97%増加し、最大シーケンシャル書き込み速度が73%増加します。

32Kと64KのストライプサイズのRAID0アレイの速度パフォーマンスに大きな違いはありませんが、この場合、ブロックサイズが128KB未満のシーケンシャル操作の速度がわずかに高くなるため、32KBのストライプの方が適しています。

Marvell9128コントローラーでRAID1アレイを作成する場合、最大シーケンシャル動作速度は単一ディスクと比較してほとんど変わりません。 したがって、単一のディスクの場合、最大シーケンシャル動作速度が107 MB / sの場合、RAID1の場合は105MB / sになります。 また、RAID 1の場合、選択的読み取り速度がわずかに低下することにも注意してください。

一般に、Marvell 9128コントローラーは優れた速度特性を備えており、RAIDアレイの作成とそれに単一のディスクの接続の両方に使用できることに注意してください。

ICH10Rコントローラー

ICH10Rの組み込みRAIDコントローラーは、テストした中で最高のパフォーマンスを発揮します(図18-25)。 (RAIDアレイを作成せずに)単一のディスクで作業する場合、そのパフォーマンスはMarvell9128コントローラーのパフォーマンスと実質的に同じです。最大シーケンシャル読み取りおよび書き込み速度は107MBで、16KBのデータブロックサイズで達成されます。

米。 18.連続の速度
選択的な操作
Western Digital WD1002FBYSディスク(ICH10Rコントローラー)用

ICH10Rコントローラー上のRAID0アレイについて説明すると、最大シーケンシャル読み取りおよび書き込み速度はストライプサイズに依存せず、212 MB / sです。 データブロックのサイズのみがストライプサイズに依存し、ストライプサイズではシーケンシャル読み取りおよび書き込み速度の最大値に達します。 テスト結果が示すように、ICH10Rコントローラーに基づくRAID 0の場合、64KBのストライプを使用するのが最適です。 この場合、最大シーケンシャル読み取りおよび書き込み速度は、わずか16KBのデータブロックサイズで達成されます。

したがって、要約すると、ICH10Rに組み込まれているRAIDコントローラーが他のすべての統合RAIDコントローラーよりも大幅に優れていることをもう一度強調しておきます。 また、より多くの機能を備えているため、この特定のコントローラーを使用し、他のすべてのコントローラーの存在を忘れるのが最適です(もちろん、システムがSATA IIIディスクを使用しない場合を除く)。

RAIDアレイは、ストレージの信頼性を向上させ、動作速度を向上させ、複数のドライブを1つの大きなドライブに結合する機能を提供するように設計されています。 さまざまなタイプのRAIDがさまざまな問題を解決します。ここでは、同じサイズの最も一般的なRAIDアレイ構成のいくつかを見ていきます。



RAID 0

  • RAID 0(縞)。 最大のパフォーマンスを実現するモード。 データはアレイディスク全体に均等に分散され、1つに結合され、複数に分割できます。 複数のデータの独自の部分を同時に読み取り/書き込みするため、分散読み取りおよび書き込み操作は作業速度を大幅に向上させることができます。 ボリューム全体をユーザーが使用できますが、これによりデータストレージの信頼性が低下します。これは、ディスクの1つに障害が発生すると、通常、アレイが破壊され、データの回復がほぼ不可能になるためです。 スコープ-ビデオキャプチャ、ビデオ編集など、ディスクとの高速交換を必要とするアプリケーション。 信頼性の高いドライブでの使用をお勧めします。

    RAID 1
  • RAID 1(鏡)。 複数のディスク(通常は2つ)は、記録のために同期して動作します。つまり、互いに完全に複製します。 パフォーマンスの向上は、読み取り時にのみ発生します。 ドライブの障害の1つから情報を保護するための最も信頼できる方法。 コストが高いため、通常、非常に重要なデータを保存するときに使用されます。 コストが高いのは、ユーザーが利用できるのは総容量の半分にすぎないためです。

    RAID 10
  • RAID 10、時々呼ばれる RAID 1 + 0-最初の2つのオプションの組み合わせ。 (RAID1アレイからのRAID0アレイ)。 RAID0のすべての速度の利点とRAID1の信頼性の利点がありますが、アレイの実効容量は使用されるディスクの容量の半分に等しいため、ディスクアレイのコストが高くなります。 このようなアレイを作成するには、最低4つのディスクが必要です。 (さらに、それらの数は偶数でなければなりません)。
  • RAID 0 + 1-RAID0アレイのRAID1アレイ。 実際、RAID10に比べて利点がなく、フォールトトレランスが低いため、使用されていません。

    RAID 1E
  • RAID 1E-ディスク間でのデータ分散のRAID10バリアントと同様に、奇数(最小数-3)の使用を許可します
  • RAID 2、3、4-パリティコードとさまざまなブロックサイズ専用のディスクを使用した分散データストレージのさまざまなオプション。 現在、パフォーマンスが低く、ECCやパリティコードを格納するために多くのディスク容量を割り当てる必要があるため、実際には使用されていません。


    RAID 5
  • RAID 5-RAID 0と同様の分散データストレージを使用する(そして1つの大きな論理に結合された)アレイ+障害が発生した場合のデータ回復のためのパリティコードの分散ストレージ。 以前の構成と比較して、Stripeブロックサイズはさらに大きくなりました。 読み取りと書き込みの両方を同時に行うことができます。 このオプションの利点は、データストレージの信頼性はRAID 1よりも低いものの、アレイのユーザーが使用できる容量が1つのディスクの容量だけ減少することです。実際、これはRAID0とRAID1の間の妥協点です。十分に高いパフォーマンスと優れたデータストレージの信頼性を提供します。..。 アレイの1つのディスクに障害が発生した場合、自動モードでデータを失うことなくリカバリできます。 このようなアレイのディスクの最小数は3です。
    マザーボードのサウスブリッジに組み込まれている「ソフトウェア」RAID5の実装は、書き込み速度が速いわけではないため、すべてのアプリケーションに適しているわけではありません。


    RAID 5EE
  • RAID 5EE-RAID5と同様のアレイですが、パリティコードの分散ストレージに加えて、スペア領域の割り当てが使用されます-実際には、スペアとしてRAID5アレイに追加できるものが使用されます(このようなアレイは5+または5+スペア)。 RAID 5アレイでは、メインディスクの1つに障害が発生するまでスペアディスクがアイドル状態になりますが、RAID 5EEアレイでは、このディスクは常に他のHDDと共有されるため、アレイのパフォーマンスにプラスの影響があります。 たとえば、5台のHDDのRAID5EEアレイは、4台のプライマリHDDと1台のスペアHDDのRAID5アレイよりも1秒あたり25%多くのI / O操作を実行できます。 このようなアレイのディスクの最小数は4です。


    RAID 6
  • RAID 6-高レベルの冗長性を備えたRAID5のアナログ-それぞれ2つのディスクに障害が発生しても情報が失われることはなく、アレイの合計容量は2つのディスクの容量によって減少します。 このレベルのアレイを作成するために必要なディスクの最小数は4です。動作速度は一般にRAID5の動作速度と同じです。 可能な限り最高の信頼性が重要なアプリケーションに推奨されます。


    RAID 50
  • RAID 50-2つ(またはそれ以上、ただしこれはほとんど使用されません)のRAID5アレイをストライプに結合します。 RAID5とRAID0の組み合わせ。これにより、RAID5の主な欠点である複数のそのようなアレイの並列使用によるデータ書き込み速度の低下が部分的に修正されます。 アレイの総容量は2つ減りますが、RAID6とは異なり、このようなアレイではデータが失われることなく1つのディスクで障害が発生し、RAID50アレイを作成するために必要なディスクの最小数は6です。 RAID10、これは、許容可能な信頼性と組み合わせた高性能が要求されるアプリケーションで使用するための最も推奨されるRAIDレベルです。


    RAID 60
  • RAID 60-2つのRAID6アレイをストライプに結合します。 書き込み速度は、RAID6の書き込み速度に比べて約2倍になります。 このようなアレイを作成するためのディスクの最小数は8です。各RAID6アレイの2つのディスクに障害が発生しても、情報は失われません。
  • マトリックスRAIDは、インテルがサウスブリッジに実装したテクノロジーであり、ICH6Rから始まります。これにより、2つのディスク上に複数のRAID0およびRAID1アレイを編成し、速度とデータストレージの信頼性の両方を向上させたパーティションを同時に作成できます。
  • JBOD(英語の「Justa Bunch OfDisks」から)-いくつかの物理的なものを1つの論理的なものに順次組み合わせます。これはパフォーマンスに影響しません(この場合の信頼性はRAID0と同様に低下します)が、サイズは異なる場合があります。 現在、実際には使用されていません。