mdadmを使っていくつかの配列を作成できますか?

mdadmを使っていくつかの配列を作成できますか?

実験の目的で、単一のシステムにできるだけ多くのディスクをマウントする必要があります。スペアディスクが6つしかなかったので、これを128のGPTパーティションに分割し、各パーティションを使用してデバイスのRAID0アレイを作成することにしました。

問題は、mdadmが512個の配列のみを生成/dev/md[0-511]し、他の配列を生成できないことです。

513番目のアレイを作成しようとした後、エラーが発生します。

% mdadm -C /dev/md512 -l raid0 -n 1 /dev/sdd128 --force

mdadm: /dev/md512 を開くときに予期しないエラーが発生しました。

これがデザインの限界ですか?バイパスする方法はありますか?

ベストアンサー1

/dev/md*単一のLinuxシステムの最大アレイ制限に達しました。

これは、従来のUnixデバイスのメジャー番号とマイナー番号に関連しています。最初に、MD RAIDドライバはプライマリブロックデバイス番号9(/usr/include/linux/raid/md_u.hMD_MAJORと定義されています)を割り当て、256個のサブデバイス番号セットを許可し、256個の一意のRAIDアレイデバイスを許可します。(デバイス番号割り当ての標準的なリストは、カーネルソースパッケージに付属のドキュメントに含まれています。)

mdp_majorこれは最終的に不十分であることが判明し、256を超えるRAIDアレイが必要な場合に追加のメジャー番号(カーネルコードから呼び出される)を使用するメカニズムが開発されました。カーネルソースファイルでそれを処理するコードを見つけることができます.../drivers/md/md.c追加のキー番号は、ダイナミックmdp_majorキー番号の範囲(234..254、上から始めて下へ)で動的に割り当てられます。

単一ホストで512を超えるMD RAIDアレイを使用するには、必要に応じて複数の動的プライマリ番号を使用するようにこのメカニズムを再構築する必要があります。

おすすめ記事