この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 11848|答える: 1

RAID技術の解説 - RAID0、RAID1、RAID3、RAID5、RAID6、RAID10の比較

[リンクをコピー]
2021年10月3日 20:57:56に投稿 | | | |
1. RAID 概要

1988年、カリフォルニア大学バークレー校はRAID(RedundantArrayofInexpensiveDisks)の概念を提案し、ディスクのコストが下がり続ける中でRAID(RedundantArrayofIndependentDisks)となりましたが、内容自体は変わりませんでした。 SNIA、バークレーなどの組織は、RAID0~RAID6の7つのレベルを標準RAIDレベルとして設定しており、標準RAIDは他のRAIDレベルと組み合わせることができ、最もよく使われているレベルはRAID0、RAID1、RAID3、RAID5、RAID6、RAID10です。 各RAIDレベルは実装方法と技術を表しており、レベル間の区別はありません。 実際の用途では、ユーザーのデータアプリケーションの特性、可用性、性能、コストを考慮して、適切なRAIDレベルや具体的な実装方法を選択する必要があります。

実装の観点から見ると、RAIDは主にソフトRAID、ハードRAID、ハイブリッドRAIDの3種類に分けられます。 ソフトRAIDのすべての機能はオペレーティングシステムとCPUによって行われており、これらは当然ながら最も効率的ではありません。 ハードRAIDは、CPUリソースを消費しないもののコストが高い特殊なRAID制御・処理チップやI/O処理チップ、アレイバッファを備えています。 ハイブリッドRAIDはRAID制御/処理チップを持っていますが、I/O処理チップがなく、CPUやドライバーが必要です。性能とコストはソフトRAIDとハードRAIDの中間です。

2. 基本原則

RAIDは複数の独立した高性能ディスクドライブからなるディスクサブシステムであり、単一のディスクよりも高いストレージ性能とデータ冗長性技術を提供します。 RAIDは、ホスト環境に対して手頃な価格で高性能なデータ信頼性を持つストレージを提供するマルチディスク管理技術の一クラスです。 RAIDの2つの主要な目標は、データの信頼性とI/O性能の向上です。 ディスクアレイではデータは複数のディスクに分散されますが、コンピュータシステムでは単一のディスクのようなものです。 冗長性は、同じデータを複数のディスクに同時に書き込む(通常はミラーリングなど)や、計算されたチェックデータをアレイに書き込むことで実現され、単一のディスクが故障してもデータ損失が発生しないようにします。

RAIDには主に3つの概念と技術があります:ミラーリング、DataStripping、Dataparityです。

ミラーリングは複数のディスクにデータを複製し、一方で信頼性を向上させ、2つ以上のレプリカからデータを同時に読み取ることで読み取り性能を向上させます。 当然ながら、イメージの書き込み性能はやや低く、複数のディスクに正しくデータを書き込むのにより多くの時間がかかります。
データストライピングとは、複数の異なるディスクにデータシャードを保持し、複数のデータシャードを組み合わせて完全なコピーを形成するもので、ミラーリングの複数のコピーとは異なり、パフォーマンスの考慮のためによく使われます。 データストリップは並行処理の粒度が高く、データにアクセスすると異なるディスクのデータを同時に読み書きできるため、I/O性能が大幅に向上します。
データ検証は、冗長データを用いてエラー検出や修復を行い、冗長データは通常ヘミングウェイ符号、XOR演算、その他のアルゴリズムによって計算されます。 検証機能は、ディスクアレイの信頼性、盗難性、フォールトトレランス性を大幅に向上させることができます。 しかし、データ検証には複数のソースからデータを読み込み、計算し、比較する必要があるため、システムのパフォーマンスに影響を与えることがあります。
異なるグレードのRAIDは、異なるデータの信頼性、可用性、I/O性能を実現するために、3つ以上の技術を採用しています。 どのRAIDを設計するか(あるいは新しいグレードやタイプ)、またはどのモードを使うかについては、システムのニーズを深く理解し、信頼性、性能、コストを包括的に評価して妥協を行う必要があります。

一般的に言えば、RAIDの主な利点は、大容量、高性能、信頼性、管理しやすさです。

3. RAID評価

JBOD(JustaBunchOfDisks)は標準的なRAID階層ではなく、協調制御を提供する制御ソフトウェアを持たないディスクの集合を表すためによく使われます。 JBODは複数の物理ディスクを直列に接続し、巨大な論理ディスクを提供します。 ストレージ性能は単一のディスクと全く同じで、データのセキュリティを提供しません。 利用可能なストレージ容量は、すべてのメンバーディスクのストレージ容量の合計に等しいです。

RAID0(ストライピング)は、シンプルでチェックされていないデータストライピング技術です。 パフォーマンスはすべてのRAID階層の中で最も高いです。 いかなるリストラ防止ポリシーも提供されていません。 ストレージスペースの100%活用。

RAID1はミラーリングと呼ばれ、動作するディスクとミラーされたディスクの両方に完全に一貫してデータを書き込みます。ディスク容量の使用率は50%です。 データが書き込まれても読み込まれないとパフォーマンスに影響が出ます。 これは最高のデータ保護を提供し、動作するディスクが故障した場合、システムは自動的にミラーされたディスクからデータを読み込み、ユーザーの作業には影響しません。

RAID2はヘミングコードディスクアレイと呼ばれ、その設計理念はヘミングコードを使ってデータ検証冗長性を実現することです。 データ幅が大きいほどストレージの利用率は高くなりますが、必要なディスクも増えます。 エラーを修正する能力はありますが、Hemingcodeのデータ冗長オーバーヘッドが大きすぎ、データ再構築に非常に時間がかかるため、実際にはほとんど使われていません。

RAID3は専用パリティストリップと呼ばれ、専用ディスクをチェックディスクとして、残りのディスクをデータディスクとして使用し、データは各データディスクにビットやバイト単位でクロスストアされます。 RAID3は少なくとも3枚のディスクが必要です。

RAID4とRAID3はほぼ同じ原理で動作します。 非常に優れた読み込み性能を提供しますが、書き込み性能はあまり良くありません。 そして、メンバーディスクの数が増えるにつれて、チェックサムディスクのシステムのボトルネックがより顕著になります。 実際の用途では稀であり、主流のストレージ製品ではRAID4保護がほとんど使用されません。

RAID5は分散パリティチェックサムストリップと呼ばれ、現在最も一般的なRAIDレベルであるはずです。原理はRAID4と似ていますが、RAID4における同時書き込み操作中にチェックディスクのパフォーマンスにボトルネックはありません。

RAID6はダブルパリティストリップと呼ばれ、2台のディスクが同時に故障した際のデータ整合性問題を解決するためにダブルチェックの概念を導入します。これは他のRAIDクラスでは解決できない問題です。 しかし、RAID5よりもはるかに高価で書き込み性能が低く、設計や実装が非常に複雑です。 したがって、RAID6は実際にはほとんど使われず、一般的にRAID10ソリューションの経済的な代替手段となっています。

標準的なRAIDティアには長所と短所があります。 複数のRAIDレベルを組み合わせて互いの欠点を補い合い、補完的な利点を得て、より高いパフォーマンス、データセキュリティ、その他の指標を持つRAIDシステムを実現します。 もちろん、組み合わせレベルの実装コストは一般的に非常に高額であり、特定のケースでのみ使用されます。 実際には、広く使われているのはRAID01とRAID10だけです。

RAID01はまずストライプ処理され、その後ミラーリングされます。これは物理ディスクをイメージ化するためのものです。 RAID10はまずイメージ化し、その後ストライプ(仮想ディスクをイメージ)するものです。 同じ構成では、RAID01の方がRAID10よりも耐障害性が高いことが多いです。 RAID01はRAID0とRAID1の利点を兼ね備えており、全体のディスク使用率はわずか50%です。


4. 主流のRAIDレベルの比較



RAID構成

レベル/説明:
フォールトトレランス
価値
短所
RAID 0

データをドライブ間でマッピングして、大きな仮想ディスクを作成します。 各物理ディスクはリクエストの一部しか処理しないため、より高いパフォーマンスを提供できます。 しかし、1つのドライブが故障すると、仮想ディスク(VD)はアクセスできなくなり、データは永久に失われてしまいます。
じゃない
性能向上
追加収納
重要なデータには使用してはなりません
RAID 1

データをミラーし、2台のドライブにデータ冗長性を保存します。 もし片方のディスクが故障した場合、もう片方のディスクがプライマリドライブとして引き継ぎます。
ディスクエラー
シングルディスク故障
高い読み取り性能
ドライブ故障後に迅速に回復しましょう
データ冗長性
ディスクのオーバーヘッドは大きいです
限られた収容能力
RAID 5

データをドライブ間でマッピングし、各データストリップのパリティビットを異なるドライブにVDで保存します。 パリティビットには、単一のディスクが故障した場合に、故障したディスクから別のディスクからデータを再構築するための情報が含まれています。
ディスクエラー
シングルディスク故障
駆動容量の効率的な利用
高い読み取り性能
中〜高書き込み性能
中程度のディスク故障への影響
パリティの再計算により、再構成時間は長くなります
RAID 6

データをドライブ間でマッピングし、各データストリップのパリティビットを異なるドライブにVDで保存します。 RAID 5とは異なり、RAID 6は2つのパリティ計算(PとQ)を実行し、デュアルディスクの故障に耐えられます。
データ冗長性
高い読み取り性能
ディスクエラー
デュアルディスク故障
2つのパリティ計算により書き込み性能が低下します
パリティに2枚のディスクを使うのと同等であるため、追加コストが発生します
RAID 10

鏡セットのストリップ。 ディスクのオーバーヘッドは高いですが、高性能で冗長性があり、ドライブ故障時の迅速な復旧に役立ちます。
ディスクエラー
イメージセットごとに1つのディスク故障が発生します
高い読み取り性能
最大192台のドライブを持つRAIDグループもサポート可能です
最も高いコスト
RAID 50

セットにRAID 5のストリップを設置しました。 パリティ計算あたりのディスク読み取りを減らすことで、構成によってはRAID 5で性能を向上させることができます。
ディスクエラー
1スパンあたり1つのディスク故障
高い読み取り性能
中〜高書き込み性能
最大192台のドライブを持つRAIDグループもサポート可能です
中程度のディスク故障への影響
パリティの再計算により、再構成時間は長くなります
RAID 60

セットにRAID 6のストリップを設置しました。 パリティ計算あたりのディスク読み取り回数が少ないため、構成によってはRAID 6で性能を向上させることができます。
ディスクエラー
1スパンあたり2枚のディスクが故障します
高い読み取り性能
最大192台のドライブを持つRAIDグループもサポート可能です
2つのパリティ計算により書き込み性能が低下します
パリティに2枚のディスクを使うのと同等であるため、追加コストが発生します


5. RAIDソフトウェアとハードウェアの違い

ソフトRAID

ソフトRAIDには専用の制御チップやI/Oチップはなく、オペレーティングシステムとCPUがすべてのRAID機能を実装しています。 現代のオペレーティングシステムは基本的にソフトRAIDをサポートしており、ディスクデバイスドライバの上にソフトウェア層を追加することで物理ドライブと論理ドライブの抽象化を実現しています。 現在、オペレーティングシステムでサポートされている最も一般的なRAID評価は、RAID0、RAID1、RAID10、RAID01、RAID5です。 例えば、Windows ServerはRAID0、RAID1、RAID5をサポートし、LinuxはRAID0、RAID1、RAID4、RAID5、RAID6などをサポートし、Mac OS X Server、FreeBSD、NetBSD、OpenBSD、SolarisなどのOSも対応するRAIDレベルをサポートしています。

ソフトRAIDの構成管理やデータ復旧は比較的簡単ですが、チェック値の計算などすべてのRAIDタスクはCPUが完全に処理するため、実行効率は比較的低いです。

ソフトRAIDはオペレーティングシステムによって実装されているため、システムが存在するパーティションはRAIDの論理メンバーディスクとして使用できず、ソフトRAIDはシステムディスクDを保護することもできません。 一部のオペレーティングシステムでは、RAIDの設定情報がディスク上の別ファイルとしてではなくシステム情報に保存されます。 こうすることで、システムが予期せずクラッシュして再インストールが必要になった際に、RAID情報が失われます。 さらに、ディスクのフォールトトレランス技術はオンライン交換、ホットスワップ、ホットスワップを完全にはサポートしておらず、誤ったディスクのホットスワップをサポートできるかどうかはOSの実装に関係しています。

ハードRAID

ハードRAIDは独自のRAID制御処理およびI/O処理チップを持ち、さらにはアレイバッファリングも備えており、CPU使用率や全体性能の面では3つの実装タイプの中で最も優れていますが、実装コストが最も高いです。 ハードRAIDは通常、システム稼働中に故障したディスクを置き換えるホットスワップ技術をサポートしています。

ハードRAIDはRAIDカードとマザーボードに統合されたRAIDチップで構成され、サーバープラットフォームはしばしばRAIDカードを使用します。 RAIDカードは4つの部分で構成されています:RAIDコア処理チップ(RAIDカード上のCPU)、ポート、キャッシュ、そしてバッテリーです。 その中で、ポートとはIDE/ATA、SCSI、SATA、SAS、FCなどのRAIDカードがサポートするディスクインターフェースの種類を指します。

ハードRAIDとソフトRAIDの混合

ソフトRAIDはあまり良くなく、システムパーティションを保護しないので、デスクトップシステムへの適用が困難です。 ハードRAIDは非常に高価で、異なるRADは互いに独立していて相互運用性がありません。 そのため、人々は性能とコストの妥協、すなわち高いコストパフォーマンスを実現するために、ソフトウェアとハードウェアの組み合わせでRAIDを実装します。

このRAIDは処理制御チップを使用していますが、コスト削減のためにチップの方が安価で処理能力も弱く、RAIDのタスク処理の大部分は依然としてCPUがファームウェアドライバを通じて行っています。


6. RAIDアプリケーション選択

RAIDティアを選ぶ際の主な要因は3つあります:データの可用性、I/O性能、そしてコストです。 可用性が不要なら、高性能を狙うためにRAID0を選択してください。 可用性や性能が重要でコストが重要でない場合は、ディスク数に基づいてRAID1を選択してください。 入手可能性、コスト、性能が同等に重要な場合は、一般的なデータ転送とディスク数に基づいてRAID3またはRAID5を選択してください。 実際の用途では、ユーザーのデータアプリケーションの特性や特定の条件、可用性、性能、コストを考慮して適切なRAIDレベルを選択するべきです。




先の:Linux環境でリモートMySQLデータベースを定期的にバックアップしてください
次に:Docker MySQLは接続が多すぎる問題を解決します
 地主| 2021年10月29日 09:16:23に投稿 |
選ぶのを手伝ってください:RAID構成https://www.dell.com/zh-cn/work/ ... -raid-configuration
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com