第9章 RAID 論理ボリュームの設定
論理ボリュームマネージャー (LVM) を使用して、Redundant Array of Independent Disks (RAID) ボリュームを作成および管理できます。
LVM は、RAID レベル 0、1、4、5、6、10 に対応します。LVM RAID ボリュームには以下の特徴があります。
- LVM は、Multiple Devices (MD) カーネルドライバーを活用した RAID 論理ボリュームを作成して管理する
- アレイから RAID1 イメージを一時的に分割し、後でアレイにマージし直すことが可能
- LVM RAID ボリュームはスナップショットに対応
- RAID 論理ボリュームはクラスターには対応していません。RAID 論理ボリュームは 1 台のマシンに排他的に作成およびアクティブ化できますが、複数のマシンで同時にアクティブにすることはできません。
-
RAID 論理ボリューム (LV) を作成するとき、LVM は、データまたはアレイ内のパリティーサブボリュームごとに、サイズが 1 エクステントのメタデータサブボリュームを作成します。たとえば、2 方向の RAID1 アレイを作成すると、メタデータサブボリュームが 2 つ (
lv_rmeta_0およびlv_rmeta_1) と、データサブボリュームが 2 つ (lv_rimage_0およびlv_rimage_1) 作成されます。 - RAID LV に整合性を追加すると、ソフト破損が軽減または防止されます。
9.1. RAID レベルとリニアのサポート リンクのコピーリンクがクリップボードにコピーされました!
RAID およびリニアストレージレベルは、データ保護、パフォーマンス、容量に関して、さまざまな選択肢を提供します。信頼性の高い Linux ストレージを実現するために、RAID レベル 0、1、4、5、6、10、およびリニアアレイを比較して、最適な構成を決定してください。
レベル 0、1、4、5、6、10、およびリニアを含む、RAID でサポートされている構成を以下に示します。
- レベル 0
ストライピングとも呼ばれる RAID レベル 0 は、パフォーマンス指向のストライピングデータマッピング技術です。これは、アレイに書き込まれるデータがストライプに分割され、メンバーディスク全体に分散して書き込まれることを意味します。これにより、低い固有コストで高い I/O 性能を実現できますが、冗長性は提供されません。
RAID レベル 0 実装は、アレイ内の最小デバイスのサイズまで、メンバーデバイス全体にだけデータをストライピングします。つまり、サイズがわずかに異なる複数のデバイスがある場合でも、それぞれのデバイスは同じサイズとして扱われます。各デバイスは、最小サイズのドライブと同等のサイズであるとみなされます。したがって、レベル 0 アレイの共通ストレージ容量は、すべてのディスクの合計容量です。メンバーディスクのサイズが異なる場合、RAID0 は使用可能なゾーンを使用して、それらのディスクのすべての領域を使用します。
- レベル 1
RAID レベル 1 (ミラーリング) は、アレイの各メンバーディスクに同一のデータを書き込むことで冗長性を提供します。各ディスクにはミラーリングされたコピーが残ります。ミラーリングは、データの可用性の単純化と高レベルにより、いまでも人気があります。レベル 1 は 2 つ以上のディスクで動作し、非常に優れたデータ信頼性と、読み取り集中型パフォーマンスの向上が実現されますが、コストは比較的高くなります。
RAID レベル 1 は、アレイ内のすべてのディスクに同じ情報を書き込むため、コストが高くなります。データの信頼性は確保されますが、レベル 5 などのパリティーベースの RAID レベルに比べると領域の効率性がはるかに低くなります。しかし、この領域効率の悪さは、パフォーマンス上の利点をもたらします。パリティーベースの RAID レベルは、パリティーを生成するために相当量の CPU パワーを消費します。RAID レベル 1 は、最小限の CPU 負荷で複数のメンバーに同一のデータを書き込みます。そのため、ソフトウェア RAID を使用するシステムにおいて、RAID レベル 1 のパフォーマンスはパリティーベースの RAID レベルよりも高くなる可能性があります。これは特に、CPU リソースが RAID 以外の操作によって大量に使用される場合に当てはまります。
レベル 1 アレイのストレージ容量は、ハードウェア RAID における最小のミラーリングされたハードディスクの容量に相当します。または、ソフトウェア RAID における最小のミラーリングされたパーティションと等しくなります。レベル 1 の冗長性は、すべての RAID タイプの中で最高レベルです。アレイは、ディスクが 1 つだけでも動作を継続できます。
- レベル 4
レベル 4 は、1 つのディスクドライブでパリティー連結を使用して、データを保護します。パリティー情報は、アレイ内の残りのメンバーディスクのコンテンツに基づいて計算されます。この情報は、アレイ内のいずれかのディスクに障害が発生した場合にデータの再構築に使用できます。再構築されたデータは、ディスクを交換する前に故障したディスクへの I/O 要求に応答し、交換後にディスクに再格納できます。
専用パリティーディスクは、RAID アレイへのすべての書き込みトランザクションにおいて固有のボトルネックとなります。したがって、レベル 4 は、ライトバックキャッシングなどの付随テクノロジーなしで使用されることはほとんどありません。または、システム管理者がこのボトルネックをあらかじめ考慮して、意図的にソフトウェア RAID デバイスを設計する場合にも使用されます。これは、データが一度格納されると書き込みトランザクションがほとんど、あるいは全く発生しないアレイに当てはまります。RAID レベル 4 にはほとんど使用されないため、Anaconda ではこのオプションとしては使用できません。ただし、実際には必要な場合は、ユーザーが手動で作成できます。
ハードウェア RAID レベル 4 の容量は、最小のメンバーパーティション容量にパーティションの総数から 1 を引いた数を掛けた値と等しくなります。RAID レベル 4 アレイのパフォーマンスは常に非対称です。つまり、読み込みは書き込みを上回ります。これは、書き込み操作がパリティー生成時に余分な CPU リソースとメインメモリー帯域幅を消費するためです。また、実際のデータをディスクに書き込む際に、データとパリティーの両方を書き込むため、余分なバス帯域幅を消費します。読み取り操作は、アレイが劣化状態にない限り、データを読み取るだけでパリティーは読み取りません。その結果、通常の動作条件下では、同じデータ転送量であっても、ドライブやコンピューターバスへのトラフィックの生成量は少なくなります。
- レベル 5
これは RAID の最も一般的なタイプです。RAID レベル 5 は、アレイのすべてのメンバーディスクドライブにパリティーを分散することにより、レベル 4 に固有の書き込みボトルネックを排除します。パリティー計算プロセス自体のみがパフォーマンスのボトルネックです。最近の CPU はパリティーを非常に高速に計算できます。しかし、RAID 5 アレイに多数のディスクが含まれる場合、データ転送速度が速いとパリティー計算がボトルネックになる可能性があります。
レベル 5 のパフォーマンスは非対称であり、読み取りは書き込みよりも大幅に優れています。RAID レベル 5 のストレージ容量は、レベル 4 と同じです。
- レベル 6
これは、パフォーマンスよりもデータの冗長性と保存性が優先される場合によく使用される RAID レベルです。しかし、レベル 1 の容量の非効率性は容認できません。レベル 6 では、複雑なパリティースキームを使用して、アレイ内の 2 つのドライブから失われたドライブから復旧できます。この複雑なパリティースキームにより、ソフトウェア RAID デバイスの CPU 負荷が大幅に増加し、書き込みトランザクション中の負荷も増加します。したがって、レベル 6 はレベル 4 や 5 よりもパフォーマンスにおいて、非常に非対称です。
RAID レベル 6 アレイの総容量は、RAID レベル 5 および 4 と同様の方法で計算されます。ただし、パリティーストレージ領域を増やすためには、デバイス数から 1 ではなく 2 を差し引く必要があります。
- レベル 10
この RAID レベルでは、レベル 0 のパフォーマンスとレベル 1 の冗長性を組み合わせます。また、2 台以上のデバイスを使用するレベル 1 アレイの無駄なスペースをある程度削減することができます。レベル 10 では、3 つのドライブで構成されるアレイを作成し、各データのコピーを 2 つだけ保存できます。この場合、アレイの合計サイズは最小デバイスサイズの 1.5 倍になり、3 デバイス構成のレベル 1 アレイのように同じにはなりません。これにより、CPU プロセスの使用量が RAID レベル 6 のようにパリティーを計算するのを防ぎますが、これは領域効率が悪くなります。
RAID レベル 10 の作成は、インストール時には対応していません。インストール後に手動で作成できます。
- リニア RAID
リニア RAID は、より大きな仮想ドライブを作成するドライブのグループ化です。
リニア RAID では、チャンクは 1 つのメンバードライブから順次割り当てられ、最初のドライブがいっぱいになってから次のドライブに移動します。これにより、メンバードライブ間の I/O 操作が分割される可能性はないため、パフォーマンスの向上は見られません。リニア RAID は冗長性がなく、信頼性は低下します。メンバードライブが 1 台でも故障すると、アレイ全体が使用できなくなり、データが失われる可能性があります。容量はすべてのメンバーディスクの合計になります。