第6章 RAID (Redundant Array of Independent Disks)


RAID の登場した背景には、容量が小さく手頃なディスクドライブを複数集めてアレイに結合させ、容量が大きく高価なドライブに負けないパフォーマンスと冗長性を実現しようとする動きがありました。この複数のデバイスからなるアレイは、コンピューター上では単一の論理ストレージユニットまたはドライブとして表されます。

6.1. RAID とは

RAID により、情報は複数のディスクにアクセスできます。ディスクのストライピング (RAID レベル 0)、ディスクのミラーリング (RAID レベル 1)、パリティーによるディスクのストライピング (RAID レベル 5) などの技術を使用して冗長性を得ながら待ち時間を抑え、帯域幅を増幅させることでハードディスクがクラッシュした場合の復元力を最大限に引き出します。
RAID は、アレイ内の各ドライブにデータを一貫して分散します。RAID は、データを一貫してサイズのチャンクに分割します(通常は 32K または 64k ですが、他の値は受け入れ可能です)。各チャンクは、使用している RAID レベルに応じて、RAID アレイのハードドライブに書き込まれます。データが読み込まれるとこのプロセスが逆をたどります。その動作はアレイ内の複数のドライブがまるで一台の大容量ドライブであるかのように見えます。

6.1.1. RAID を使用する理由

システム管理者や大容量のデータを管理しているユーザーは、RAID 技術を使用することでメリットが得られます。RAID をデプロイする主な理由を以下に示します。
  • 速度を高める
  • 1 台の仮想ディスクを使用してストレージ容量を増加する
  • ディスク障害を最小限に抑える

6.1.2. ハードウェア RAID とソフトウェア RAID

考えられる RAID アプローチには、ハードウェア RAID とソフトウェア RAID の 2 つがあります。
ハードウェア RAID
ハードウェアベースのアレイは、RAID サブシステムをホストとは別に管理します。ホストに対して、1 RAID アレイごとに 1 つのディスクを表します。
ハードウェア RAID デバイスは SCSI コントローラーに接続し、RAID アレイを 1 つの SCSI ドライブとして表示します。外部 RAID システムは、すべての RAID 処理 インテリジェンス を、外部ディスクサブシステムにあるコントローラーに移動します。サブシステム全体が通常の SCSI コントローラーを介してホストに接続され、ホストには単一のディスクとして表示されます。
RAID コントローラーカードは、オペレーティングシステムへの SCSI コントローラーのように動作し、実際のドライブ通信をすべて処理します。ユーザーはドライブを RAID コントローラー(通常の SCSI コントローラーと同様)にプラグインし、RAID コントローラー設定に追加し、オペレーティングシステムで違いを認識しません。
ソフトウェア RAID
ソフトウェア RAID では、カーネルディスク (ブロックデバイス) コード内に各種の RAID レベルを実装しています。高価ディスクコントローラーカードやホットスワップシャーシなど、最優先的な解決策を提供します。[1] 必須ではありません。ソフトウェア RAID は、SCSI ディスクだけでなく安価な IDE ディスクでも機能します。現代の高速な CPU により、ソフトウェア RAID はハードウェア RAID を上回ります。
Linux カーネルには MD ドライバーが含まれており、RAID ソリューションは完全にハードウェアに依存しないようにすることができます。ソフトウェアベースのアレイのパフォーマンスは、サーバーの CPU パフォーマンスと負荷によって異なります。
ソフトウェア RAID の詳細は、以下の主要な機能を参照してください。
  • スレッド再構築プロセス
  • カーネルベースの設定
  • 再構築なしで Linux マシン間でのアレイの移植性
  • アイドルシステムリソースを使用したバックグラウンドのアレイ再構築
  • ホットスワップ可能なドライブのサポート
  • 特定の CPU 最適化を活用するための自動 CPU 検出

6.1.3. RAID レベルとリニアサポート

RAID は、レベル 0、1、4、5、リニアなどのさまざまな設定に対応します。これらの RAID タイプは以下のように定義されます。
レベル 0
RAID レベル 0 は、多くの場合 ストライピング と呼ばれ、パフォーマンス指向のストライプ化データマッピング手法です。これは、アレイに書き込まれるデータがストライプに分割され、アレイのメンバーディスク全体に書き込まれることを意味します。これにより低い固有コストで高い I/O パフォーマンスを実現できますが、冗長性は提供されません。レベル 0 アレイのストレージ容量は、ハードウェア RAID のメンバーディスクの合計容量またはソフトウェア RAID のメンバーパーティションの合計容量と等しくなります。
レベル 1
RAID レベル 1、または ミラーリング は、他の RAID 形式よりも長く使用されています。レベル 1 は、アレイ内の各メンバーディスクに同一データを書き込むことで冗長性を提供し、各ディスクに ミラーリングされた コピーを残します。ミラーリングは、データの可用性の単純化と高レベルにより、いまでも人気があります。レベル 1 は、読み取り時にデータ転送レートに並列アクセスを使用する可能性のある 2 つ以上のディスクで動作しますが、より一般的に I/O トランザクションレートを提供するために独立して動作します。レベル 1 は、非常に優れたデータの信頼性を提供し、読み取り集約型アプリケーションのパフォーマンスを向上させますが、比較的コストが高くなります。レベル 1 アレイのストレージ容量は、ハードウェア RAID 内のミラーリングされたハードディスクの 1 つまたはソフトウェア RAID 内のミラーリングされたパーティションの 1 つの容量と同じです。
注記
RAID レベル 1 は、ドライブ領域を無駄にしたアレイ内のすべてのディスクに同じ情報を書き込むため、コストが高くなります。たとえば、ルート(/)パーティションが 2 つの 40G ドライブに存在するように RAID レベル 1 を設定している場合は、合計 80G ですが、その 80G の 40G のみにアクセスできます。もう 1 つの 40G は、最初の 40G のミラーのように動作します。
レベル 4
RAID レベル 4 でパリティーを使用[2] データを保護するため、1 つのディスクドライブで連結します。大規模なファイル転送ではなく、トランザクション I/O に適しています。専用パリティーディスクは固有のボトルネックを表すため、レベル 4 は、ライトバックキャッシュなどの付随する技術なしではほとんど使用されません。RAID レベル 4 は、一部の RAID パーティションスキームのオプションですが、Red Hat Enterprise Linux RAID インストールで許可されるオプションではありません。ハードウェア RAID レベル 4 のストレージ容量は、メンバーディスクの容量と同じで、1 つのメンバーディスクの容量を引いたものになります。ソフトウェア RAID レベル 4 のストレージ容量は、メンバーパーティションの容量と同じで、パーティションのサイズが等しい場合は、パーティションの 1 つを引いたサイズになります。
注記
RAID レベル 4 は、RAID レベル 5 と同じ領域を使用しますが、レベル 5 にはより多くの利点があります。このため、レベル 4 はサポートされません。
レベル 5
RAID レベル 5 は RAID の最も一般的なタイプです。RAID レベル 5 は、アレイのメンバーディスクドライブの一部またはすべてにパリティーを分散することにより、レベル 4 に固有の書き込みボトルネックを排除します。パリティー計算プロセスは、パフォーマンスのボトルネックのみです。最新の CPU とソフトウェア RAID では、通常は非常に大きな問題ではありません。レベル 4 と同様に、結果は非対称パフォーマンスであり、読み取りは書き込みを大幅に上回ります。レベル 5 は多くの場合、非対称を減らすためにライトバックキャッシュで使用されます。ハードウェア RAID レベル 5 のストレージ容量は、メンバーディスクの容量と同じで、1 つのメンバーディスクの容量を引いたものになります。ソフトウェア RAID レベル 5 のストレージ容量は、メンバーパーティションの容量と同じで、パーティションのサイズが等しい場合は、パーティションの 1 つを引いたサイズになります。
リニア RAID
リニア RAID は、より大きな仮想ドライブを作成するドライブの簡易グループ化です。リニア RAID では、あるメンバードライブからチャンクが順次割り当てられます。最初のドライブが完全に満杯になったときにのみ次のドライブに移動します。これにより、メンバードライブ間の I/O 操作が分割される可能性はないため、パフォーマンスの向上は見られません。リニア RAID には冗長性がなく、実際に、信頼性は低下します。いずれかのメンバードライブに障害が発生した場合は、アレイ全体を使用することができません。容量はすべてのメンバーディスクの合計になります。


[1] ホットスワップシャーシを使用すると、システムの電源を切らずにハードドライブを削除できます。
[2] パリティー情報は、アレイ内の残りのメンバーディスクのコンテンツに基づいて計算されます。この情報は、アレイ内のいずれかのディスクに障害が発生した場合にデータの再構築に使用できます。その後、再構築されたデータを使用して、交換前に失敗したディスクに I/O 要求に対応でき、交換後に失敗したディスクを接続します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.