mdadmを使用してRAID10アレイを拡張するにはどうすればよいですか?
明らかに、一度に2つのドライブを追加する必要がありますか、それとも4つのドライブでなければなりませんか?
私はそれがちょうど悪い考えだと感じています。
それともRAID5を選ぶ方が賢明でしょうか?
mdadmを使用してRAID10アレイを拡張するにはどうすればよいですか?
明らかに、一度に2つのドライブを追加する必要がありますか、それとも4つのドライブでなければなりませんか?
私はそれがちょうど悪い考えだと感じています。
それともRAID5を選ぶ方が賢明でしょうか?
回答:
前回確認したとき、mdadmは--grow raid10を許可しません。私はmdadmのマンページを一目見ただけで、現在もサポートされています。コンポーネントデバイスのアクティブサイズの変更、RAIDレベル1/4/5/6のアクティブデバイス数の変更、RAIDレベルの1、5間の変更など、現在サポートされている拡張オプション6、RAID5およびRAID5のチャンクサイズとレイアウトの変更、および書き込みを目的としたビットマップの追加または削除。
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
私はこれが1年以上前のものであることを理解していますが、誰かがこれが役立つと思うかもしれません...
RAID 10アレイを拡張することはできますが、希望どおりに拡張することはできません。複数のレベルのレイドをネストする必要があります。これは、RAID 10の2つのドライブでmdadmを使用して実行できます。これは、レイアウトによっては非常に優れたパフォーマンスですが、複数の2つのディスクRAID 10アレイを作成し、それらを論理ノードに接続する必要があります。次に、展開するには、さらにいくつかを追加し、それをストライプします。それがあなたのユースケースである場合(大幅に拡張する必要がある場合)、拡張できるパリティ配列を使用するのが賢明でしょう。
これらは、RAID 10で得られる制限であり、全体的に読み取り/書き込みパフォーマンスを向上させます。また、説明として、raid 5/6は「一般に、書き込みパフォーマンスを向上させる...」ではありません。RAID 5/6には、RAID 10と同様に独自の長所/短所がありますが、書き込みパフォーマンスはRAID 5/6の短所ではありません。
また、ドライブのサイズを指定していませんが、新しい大容量ドライブのRAID 5に注意してください。注意を払えば、回復不可能な読み取りエラーから回復できますが、ダウンタイムが発生し、まったく回復できない可能性があります。
-情報を追加して編集-hdparm(hdparm -i)やlshwなどのツールを使用して、障害が発生したときにデバイス名(/ dev / sda)とともにシリアル番号を取得します。これにより、交換時に正しいデバイスを確実に取り外すことができます。Travisのコメントは上向きで、レイアウトは非常に正確で見事ですが、いつものように、すべてのソリューションの長所と短所に重点を置いています。
mdadm 3.3のリリース発表からの素晴らしいニュース:
これはメジャーな新しいリリースですので、いくつか問題があっても驚かないでください...
主な特徴は次のとおりです。
...
- RAID10アレイは、デバイスの数を変更したり、チャンクサイズを変更したり、「ニア」と「オフセット」の間のレイアウトを変更するために再形成できます。これは常にdata_offsetを変更し、data_offsetを移動する余地がない場合は失敗します。
...
U&Lに関するこの回答によると、少なくともLinux 3.5も必要です。
私はそれがより多くの作業で混乱を招く可能性があることを知っていますが、いつでも複数のミラーをストライプ化することができます。
たとえば、4ドライブのRAID 10アレイをセットアップし、後者は別の4ドライブのRAID 10アレイを追加したいと思っています。mdadmを使用して、新しいドライブに新しいRAID 10アレイを作成します。次に、2つの既存のRAIDデバイスを使用して、別のRAID 0アレイを作成できます。ただし、lvmの機能を使用してストライプを作成し、mdadmの構成と/ dev / mdデバイスをわかりやすい状態に保ちます。どちらの方法でも機能しますが、おそらくもっと多くの方法がありますが、それが頭のてっぺんからできることです。
RAID10アレイを拡張することはできません。これは事実です。しかし、あなたがすることができ、2つの(この時点では、冗長性のコストで)ドライブとで始まり、後に、より多くの2を追加します。この方法を使用して、4つのディスクドライブを持つRAID5アレイから4つのディスクドライブを持つRAID10に切り替えました。
RAID5を劣化させ、アレイから1枚のディスクを取り出しました。これにより、自由に使用できる2枚のディスクができました。次に、「mdadm --create --level 10 / dev / md0 / dev / sda1 missing / dev / sdc1 missing」の行に沿ったものでRAID10アレイを作成しました。これは、アレイを開始するのに十分でした。
劣化したRAID5アレイからRAID10アレイにデータを移動したときに、RAID5アレイを2つRAID10アレイに追加し、1つをスペアとして追加しました。
私が話すことができるよりも知識のある人がこれがもたらしたかもしれないパフォーマンスへの影響について話すなら、それはおそらく良い考えです。しかし、私の投稿の主な理由は、RAID10と2つのドライブで開始できることを示すことです。
注:mdadmでのディスクの順序が重要かどうかを尋ね、答える次のフォーラム投稿を読んでください。