RAID-1ボリュームのディスクは独立してアクセスできますか?

RAID-1ボリュームのディスクは独立してアクセスできますか?

Debian 6を使用してRAID-1アレイを作成したいと思います。アレイには6つのディスク(3つのオペレーティングシステム用、3つのミラー)が含まれています。

以前はこのRAIDを使用したことがありますが、Windowsでは3つの異なるディスクを見ることができますが、OS用には1つしか表示できないため、うまく使用できなかった可能性があります。 OSに3つのディスクを1つとして処理させる方法はありますか?それとも別のユニットのようになりますか?

答え1

私が理解したところによれば、それぞれミラーが接続された3つのRAIDアレイを作成します。 「半分」の各ペアを通常のディスクとしてマウントできますが、アレイが実行されていて両方の「半分」が有効になっている間はこれを実行しないことをお勧めします。これはレプリカが同期されず、アレイが破損する可能性があるためです。ただし、失敗した場合は別々に存在し、ディレクトリを使用している場合、たとえば/bootraid自体を理解していないプロセスは同じコピーとして扱います。私はraid-1と多くの小さなパーティションを使います。どのオペレーティングシステムドライブが死んでいても、システムが起動可能なままになるようにドライブを使用します。

これは、基本的なハードウェア冗長性以上の利点を提供せず、追加のメンテナンス(処理する3つのアレイ)が必要で、ドライブが隔離されています。

あなたがこれのためにこれを行うならパフォーマンス上の理由欲しい最大IOPS(たとえば、データベースサーバーの場合)を使用することをお勧めしますraid 1+0。これは基本的に3つのドライブのストライピング(シングルディスクの読み取り/書き込み速度の約3倍)であり、そのアレイを他の3つのドライブにミラーリングすることです。現在、MDドライバはデフォルトでこの機能をサポートしているため、raid-1およびraid-0アレイを別々に管理する必要はありませんが、単一のraidデバイスを作成できます。

mdadm --create /dev/md0 -v --raid-devices=6 --level=raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

つまり、得られる総アレイサイズは、3つのディスクを合計したものと同じです。この設定の問題は、2つのドライブに障害が発生するとドライブが破損する可能性があることです。みんな同じドライブイメージの場合、データは2つのコピーに「半分」になります。これらのドライブは寿命が同じである可能性が高いです。つまり、ほぼ同じ時期にエラーが発生し始めることを意味します。そして、残りの「半分」の再建圧力は失敗の可能性を大幅に増加させます。

設定に応じて、raid-1 + 0のデータ損失の生存確率は次のとおりです。

1 drive fail  = 100%
2 drives fail =  80%
3 drives fail =  40%
4 drives fail =   0%

大丈夫だと思うならバランスの取れたIOPS/速度そして保存6台のディスクの場合、すべてのデバイスのraid-6を作成すると、より良い回復が可能になります。

Probability of data loss in a 3 year span:
RAID5  - 0.0125 % (1 in 80)
RAID6  - 0.0005 % (1 in 1982)

ただし、ブートパーティションが必要なため(ブートローダはディスクにストライプできません)、2つのアレイが必要です。 1つは小さなアレイ(256 Mbなど)で、残りは合計してfdiskまたはcfdiskを使用してこのシナリオを作成し、フラグがbootablesmallに設定されていることを確認する必要があります。ソート。ドライブのサイズがまったく同じ場合は、sfdiskを使用してあるディスクから別のディスクにパーティションテーブルをコピーできます。

sfdisk -d /dev/sda | sfdisk /dev/sdb

次に、2つの配列を作成します。

mdadm --create /dev/md0 -v --raid-devices=6 --level=mirror /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --create /dev/md1 -v --raid-devices=6 --level=raid6 /dev/sda2 /dev/sdb2 /dev/sdc3 /dev/sdd4 /dev/sde5 /dev/sdf6

オペレーティングシステムのインストーラがこれを処理できますが、使用する最初のアレイを選択したことを確認してください。/boot

これにより、1つのドライブのストレージスペースを再利用できます(合計容量=ドライブ容量* 4)。アレイは2つのドライブエラーにも生き残ることができ、同時にエラーが発生しない場合は、アレイを再構成するのに十分な時間と数学的な機会があります。 。

1つの注意点は、現在の消費者品質(読み取りエラー率は約10 ^ 14 /エラー)とドライブサイズ(> = 2 Tb)に基づいている必要があることです。いいえraid-5障害発生時にアレイを再構築する可能性が50%未満であるため、重要なデータに使用されます。

答え2

何か言うことはできません。

RAID1アレイは、すべて同じ内容を持つ2つ以上のディスクで構成されています。したがって、6ディスクRAID1アレイを作成すると、ミラーは3つではなく5つになります。

あなたはおそらくサムRAID1アレイ、各アレイは2つのディスクで構成されています。これにより、md3つの異なるデバイスにアクセスできます。これはディスクを非表示にしませんが、/dev/sd[a-f]ディスクがRAIDアレイの一部である場合、通常はそのディスクのデータに直接アクセスしません。 (その場合でも直接アクセスできますsmartctl。)

md6つのディスクすべてに1つのデバイスを提供し、効果的に3つのミラーを持つ6つのディスクRAID 10アレイを作成することもできます。また、より速くなります。

Debian インストーラはこれらすべてを設定できます (RAID10 について知っていると確信しています。そうでない場合は、alt-f2 に切り替えて mdadm を直接使用して RAID10 を作成する必要があります)。

通常、ディスク全体ではなくパーティション上でLinuxソフトウェアRAIDを実行します。また、1以外のRAIDレベルを使用する場合は、2つのパーティションを作成することをお勧めします。つまり、各ディスクに小さな256 MBパーティションのRAID 1を作成し、/boot必要なRAIDレベルに合わせてディスクの残りの部分を含む2番目のパーティションを作成することをお勧めします。 GRUB2はRAID1をうまくサポートしていますが、他の側面についてはあまりサポートしていません。したがって、/boot通常RAID1を使用するのが最善です。

BIOSにオンボードRAIDがある場合、これは偽の可能性が高く、代わりにLinuxソフトウェアRAIDを使用する必要があります。少なくともこれが新しくインストールされ、システムがLinuxのみをサポートしている場合です。 RAIDモードではなくAHCIモードで動作するようにBIOSを設定する必要があります。

(実際のハードウェアRAIDコントローラに400ドル以上を費やしている場合は、そのマニュアルを確認して設定方法を確認してください。おそらくディスクの後ろに隠され、エクスポートされたボリュームのみが公開されます。)

関連情報