ソフトウェアRAIDを分割する方法

ソフトウェアRAIDを分割する方法

debianstretchで作成されたソフトウェアRAID 5に2番目のパーティションを作成したいと思います。

これを作成するために、mdadm --create /dev/md0 --auto md --level=5 --raid-devices=4 /dev/sda1 /dev/sdc1 /dev/sdd1 /dev/sdb1パーティションにGPTラベルがあり、RAIDとしてマークされています。

mdadm(8) マンページには次の内容があります。

バージョン2.6.28より前のLinuxカーネルでは、2種類のmdデバイスを作成できました。 1つは標準のパーティショニングツールを使用してパーティショニングでき、もう1つはできませんでした。 2.6.28以降、両方のタイプのデバイスを分割することができるため、これらの分類はもはや関連していません。 mdadmは通常、よく定義された週番号(9)があるため、最初は分割できないタイプを作成します。

2番目のパーティションを取得するには、udevルールまたはそれと同様のものを作成する必要があると思いますが、可能であると言う以外に、これを行う方法に関する詳細なドキュメントはありません。

結局のところ、RAIDとfsレイヤーの間にLVMレイヤーを作成したいのですが、ファイルシステムがすでに約40%満たされており、他の場所にデータを保存するのに十分なストレージがありません。したがって、ファイルシステムを縮小した後、2番目のパーティションを作成し、既存のパーティションのデータを新しいパーティションにコピーし、古いパーティションを削除し、LVMレイヤーを作成し、データを再移動し、RAID全体にわたってLVMレイヤーを拡張しようとしています。 。

答え1

kpartxデバイスマッパーのマルチパスとこのツールに関連するudevルールを確認できます。マルチパスデバイスでは、kpartxマルチパスディスクにパーティションテーブルが含まれている場合は、マルチパスマップ上に追加のデバイスマップを作成するために使用されます。

しかし、kpartxこれはマルチパス自体とは何の関係もない。/dev/md*RAID デバイスを含むディスクに似たすべてのデバイスで実行できる必要があります。

たとえば、対応するパーティションマップの名前は、Nがパーティション番号の場合に/dev/md0指定されます。/dev/mapper/md0pN

関連情報