web-dev-qa-db-ja.com

RAID10アレイへのドライブの追加

Mdadmを使用してRAID10アレイを拡張するにはどうすればよいですか?

明らかに、一度に2つのドライブを追加する必要がありますか、それとも4つのドライブでなければなりませんか?

悪い考えだと感じています。

それとも、RAID5を選択する方が賢明でしょうか?

11
stuartc

前回チェックしたとき、mdadmではraid10を成長させることはできません。 mdadmのマンページを一瞥しましたが、まだ次のように書かれています。コンポーネントデバイスのアクティブサイズの変更、RAIDレベル1/4/5/6のアクティブデバイス数の変更、RAIDレベルの1、5、5の間の変更など、現在サポートされている拡張オプション6、RAID5およびRAID5のチャンクサイズとレイアウトを変更し、書き込み目的のビットマップを追加または削除します。

5
Stingray

RAID 10を拡張するには、バージョンminのmdadmが必要です。 3.3およびカーネルバージョン最小3.5。また、偶数のディスクが必要です。ペアになっていないディスクは、スペアとしてのみ機能するか、最終的には縮退モード(テストされていません)に成長します。

ここでは、mdadm 3.3-2ubuntu2 @ Linux 4.2.0-10-genericを使用して、RAID 10を4つのドライブから6つのドライブに拡張する例を示します。 ext4データを使用してテストしたところ、ファイルシステムがマウント解除され、RAIDが拡張した後にext4が問題なく拡張されました。

~$ cat /proc/mdstat
md126 : active raid10 sdd1[1] sdc1[0] sdf1[3] sde1[2]
976428032 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk

~$ Sudo mdadm /dev/md126 --add /dev/sdi1 /dev/sdj1
mdadm: added /dev/sdi1
mdadm: added /dev/sdj1
~$ Sudo mdadm --grow /dev/md126 --raid-devices=6

~$ cat /proc/mdstat
md126 : active raid10 sdj1[5] sdi1[4] sdd1[1] sdc1[0] sdf1[3] sde1[2]
1464642048 blocks super 1.2 512K chunks 2 near-copies [6/6] [UUUUUU]
bitmap: 0/6 pages [0KB], 131072KB chunk
16
Cieniek

私はこれが1年以上前のものであることを理解していますが、誰かがこれが役立つと思うかもしれません...

RAID 10アレイを拡張することはできますが、希望どおりに拡張することはできません。複数レベルのRAIDをネストする必要があります。これは、RAID 10の2つのドライブでmdadmを使用して行うことができます。これは、レイアウトによっては非常に優れたパフォーマンスですが、2つのディスクRAID 10アレイを複数作成し、それらを論理ノードに接続する必要があります。次に、展開するには、さらにいくつか追加し、その全体にストライプします。それがあなたのユースケースである場合(大幅に拡張する必要がある場合)、拡張できるパリティ配列を使用するのが賢明です。

これらは、全体的に優れた読み取り/書き込みパフォーマンスを維持しながら、RAID10で得られる制限です。そして、明確化すると、RAID 5/6は、「一般的に、より優れた書き込みパフォーマンスを提供します...」というわけではありません。 RAID 5/6には、RAID 10と同様にそれぞれの長所/短所がありますが、書き込みパフォーマンスはRAID5/6の長所ではありません。

また、ドライブのサイズを指定しませんでしたが、新しい大型ドライブでのRAID5に注意してください。注意すれば、回復不能な読み取りエラーから回復できますが、ダウンタイムが発生し、まったく回復できない可能性があります。

-情報を追加して編集-hdparm(hdparm -i)やlshwなどのツールを使用して、障害が発生したときにデバイス名(/ dev/sda)とともにシリアル番号を取得します。これにより、交換時に正しいデバイスを確実に取り外すことができます。非常に正確で素敵なレイアウトであるため、Travisのコメントを上矢印で示しますが、いつものように、すべてのソリューションの長所と短所を重視しています。

9
edong23

Mdadm 3.3のリリース発表からのいくつかの素晴らしいニュース:

これはメジャーな新しいリリースなので、いくつかの問題があったとしても驚かないでください...

いくつかのハイライトは次のとおりです。

.。

  • RAID10アレイは、デバイスの数の変更、チャンクサイズの変更、または'near'と 'offset'の間のレイアウト。これは常にdata_offsetを変更し、data_offsetを移動する余地がない場合は失敗します。

.。

U&Lの この答え によると、少なくともLinux 3.5も必要です。

9
user84636

作業が多くて混乱する可能性があることはわかっていますが、複数のミラーをいつでもストライプ化できます。

たとえば、4ドライブのRAID 10アレイをセットアップしただけで、後者は別の4ドライブのRAID10アレイを追加したいと考えています。 mdadmを使用して、新しいドライブに新しいRAID10アレイを作成するだけです。次に、2つの既存のRAIDデバイスを使用して別のRAID0アレイを作成できます。ただし、lvmの機能を使用してストライプを作成し、mdadmの構成と/ dev/mdデバイスをわかりやすい状態に保ちます。どちらの方法でも機能し、おそらくもっと多くの方法がありますが、それは私が頭のてっぺんからできることです。

6
Travis

RAID10アレイを拡張することはできません。これは事実です。しかし、あなたはcan 2つのドライブから始め(この時点で冗長性は失われます)、その後、さらに2つドライブを追加します。この方法を使用して、4つのディスクドライブを持つRAID5アレイから4つのディスクドライブを持つRAID10に切り替えました。

RAID5を劣化させ、アレイから1枚のディスクを取り出しました。これにより、無料で使用できる2枚のディスクができました。次に、「mdadm --create --level 10/dev/md0/dev/sda1 missing/dev/sdc1 missing」の行に沿ってRAID10アレイを作成しました。これは、アレイを開始するのに十分でした。

劣化したRAID5アレイからRAID10アレイにデータを移動したときに、2つのRAID5ディスクをRAID10アレイに追加し、1つをスペアとして追加しました。

パフォーマンスへの影響について、私が話すことができるよりも知識のある人がいるとしたら、それはおそらく良い考えです。しかし、私の投稿の主な理由は、RAID10と2つのドライブで開始できることを示すことです。

注:質問と回答を行う次のフォーラム投稿を読んでください mdadmのディスク順序が重要かどうか

3
drumfire