web-dev-qa-db-ja.com

パーティションまたはディスク全体を直接使用してmdadmアレイを作成することの違いは何ですか

誰かが私に説明してもらえますか?パーティションまたはディスク全体を直接使用してmdadmアレイを作成することの違いは何ですか?ドライブ全体を使用するつもりだとしましょう。 GPTを使用していることに注意してください。

次のいずれかの方法で作成されたRAID6を想像してください。

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

または:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

違いはありますか?

EDIT1:たとえば、このようなアレイでの信頼性、管理性、または回復操作などです。

EDIT2:異なるメーカーのドライブを使用しています。しかし、それは本当に問題ではありません。それらはすべてまったく同じサイズですが、ドライブをわずかに異なるサイズで製造しているメーカーが存在する可能性があるということは理解できます。しかし、この質問のために、それらが非常に同じサイズであると仮定しましょう。

EDIT3:免責事項の並べ替え:これまでのところ、私は常にドライブをパーティション分割しています。

27

最も重要な違いは、ディスク交換の柔軟性を向上できることです。他のいくつかの推奨事項とともに、以下で詳しく説明します。

ディスク全体ではなくパーティションの使用を検討する必要があります。これは、アレイをセットアップするための一般的な推奨事項の下である必要があり、将来さらにディスクの交換が必要になったときに、頭痛の種を免れる可能性があります。

最も重要な引数は:

異なる製造元のディスク(または同じ製造元の「同じ」容量の異なるモデルでも)は、必ずしも正確に同じディスクサイズであるとは限らず、最小のサイズの違いでさえ、故障したディスクを新しいディスクと交換することができなくなります。 2番目が最初のものより小さい場合。パーティショニングにより、これを回避できます。

異なるメーカーのディスクを使用する理由についての補足説明:ディスクは失敗します。これは「if」ではなく「when」の問題です。同じ製造元の同じモデルのディスクは同様の特性を持っているため、同じ条件と使用時間で一緒に故障する可能性が高くなります。そのため、異なるメーカー、異なるモデル、特に同じバッチに属さないディスクを使用することをお勧めします(同じメーカーとモデルのディスクを購入する場合は、異なるストアから購入することを検討してください)。これは、同じバッチのディスクが使用されている場合、ディスク交換後の復元中に2番目のディスク障害が発生することも珍しくありません。あなたは確かにこれがあなたに起こることを望んでいません。

つまり、推奨事項:

1)ディスクのパーティション全体のディスク容量よりも少し小さい容量で使用されます(例:RAID5がある場合) 2TBのディスクのアレイと私は意図的にそれらを分割し、それぞれで約100MBを浪費しています。次に、アレイを構成するためにそれぞれの/ dev/sd?1を使用します。これにより、新しい交換用ディスクのスペースが、作成時にアレイの組み立てに使用された元のディスクよりも少ない場合の安全マージンが追加されます。

2)異なるメーカーのディスクを使用します。

3)メーカーが異なる場合は、異なるモデルのディスクを使用してください。

4)異なるバッチのディスクを使用します。

5)障害が発生する前にディスクを事前に交換します。これは少し偏執狂的かもしれませんが、実際にはあなたが持っているデータの批評に依存しています。私は、使用期間が6か月間異なるディスクを使用していました。

6)定期的なバックアップを作成します(アレイを使用するかどうかに関係なく、常に)。 RAIDはバックアップの同じ目的を果たしません。アレイは高可用性を保証し、バックアップは失われたファイル(誤って削除されたファイルやウイルスによって損傷したファイル、アレイを使用しても保護されない例を含む)を復元できます。

OBS:上記のすべての無視できない有理数を除いて、/ dev/sdを使用することによる技術的な違いはそれほどありませんか? vs/dev/sd?#。

幸運を

26
Marcelo

別の重要な引数は、ディスクデバイス全体を使用し、RAIDにディスクを追加するときにそれらをワイプすることに細心の注意を払わない場合、一部のメインボードがRAIDスーパーブロックを削除する可能性があることです。かつてGPTデバイスだったアレイ。

ASRockメインボードのUEFIがRAIDを使用不可にしたとき、私はこれを難しい方法で学びました:

これから身を守るために、常にsgdisk --zapデバイス全体のRAIDに使用する、以前はGPTでフォーマットされたディスク。

wipefs -a動作する場合もあります デバイスをディスクに追加する前に、GPTだけでなく、あらゆる種類の残りのパーティション情報を消去します。


そうは言っても、パーティションを使用するだけで、これを起こしにくくするためのベストプラクティスのようです

このベストプラクティスのreal引数が何であるかは知りませんでした(わずかに異なるサイズのディスクを処理できることを説明する@Marceloの回答を超えています)。今私は知っている。

ところで、これが発生しても、データは失われません。おそらくsgdisk --zapデバイス、次にRAIDを再作成します。 mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd(mdadmは、過去のデータをすでに検出していることを通知し、そのデータの再利用を続行するかどうかを尋ねます)。私はこの複数回試してみましたが、うまくいきましたが、それを行う前にバックアップを取ることをお勧めします。

8
nh2

パーティションの代わりにRAIDメンバーとしてデバイス全体を使用する場合の問題を引用する投稿がいくつかあります ここに1つ 。それが事実であることを確認できます。

したがって、デバイス全体を使用してRAIDを作成する場合(たとえば、/dev/sda/dev/sdb、...ではなく/dev/sda1/dev/sdb1、...)RAIDデバイスmdadm.confに設定を保存していても、再起動後に再構成されません。メインボードファームウェアがRAIDスーパーブロックを上書きまたは削除する可能性もあります。私のセットアップでは、mdadm --assemble --scan --verboseを実行してもRAIDセットアップに戻らず、RAIDスーパーブロックが使用できない場合が考えられます。

2
Lungten

将来の頭痛から身を守るために、パーティションを使用してください。すべてのドライブに障害が発生します。これは「if」ではなく「when」の問題です。ドライブ全体を使用している場合は、ドライブに障害が発生した後、まったく同じサイズのモデルと交換する必要があります。製造元の違いやプロセスの変更などにより、数MB以上でもドライブの交換は失敗します。

パーティションを使用すると、現在の2TBドライブの1つに障害が発生した場合、交換用の4TB(または何でも大きい必要があるもの)を取得し、その上に同じ2TBのパーティションサイズを作成します。はい、その新しい大容量ドライブのスペースを浪費している可能性があります。そのドライブの残りの部分を非RAIDパーティションとして使用することは可能ですが、奇妙な方法でパフォーマンスに影響を与える可能性があります。いくつかのドライブ障害と交換の後、最終的にはすべての元の2TBドライブを交換し、RAIDアレイを拡張してより大きなパーティションサイズを使用できるようになります。

0
JavaMan07