Linux Raid: マウント中に mdadm --grow で raid1 を成長させることができますか?

Linux Raid: マウント中に mdadm --grow で raid1 を成長させることができますか?

RAID1 セットアップに 500 GB のドライブが 2 つあり、スペースを増やすためにアップグレードする必要がありました。各ドライブを順に mdadm --fail し、dd を使用して各ドライブをそれぞれの大きなドライブ (それぞれ 2 TB) にコピーし、小さなドライブを削除して大きなドライブと交換し、アレイを再構築して強制的に再同期しました。これで、2 TB ドライブ上に 500 GB の RAID1 が配置され、これを拡張したいと考えています。

計画としては、mdadm --manage /dev/md0 --grow を使用して拡張し、レスキュー CD を起動して、その環境でアレイを組み立て、resize2fs を実行することです。マウントされたライブ ファイルシステムで mdadm --grow を使用できますか? また、拡張操作が raid1 のままであることを確認するために、さらにオプションが必要ですか?

答え1

申し訳ありませんが、返信方法が間違っていることは承知していますが、未登録のユーザーを登録する方法がわかりません。

コピー中に古いドライブに表示された新しいデータを失うリスクを冒すことはできなかったため、データをそのままコピーすることはできませんでした。サーバーの稼働時間をできるだけ短くする必要があったため、コピー中にサーバーを停止することはできませんでした。実際に確保できるダウンタイムは、ドライブを交換するのに必要な時間だけでした。

なんとか動作させることができました:

古いドライブを1台取り外し、新しいドライブを1台接続し、RAIDパーティションを新しいドライブに同期し、残りの古いドライブを取り外し、残りの新しいドライブと交換し、再度同期し、mdadm --growを実行し、resize2fsを実行しました。

grow と resize2fs はライブで行われました。それほど大きな騒ぎにはなりませんでした。

答え2

はい、オンラインでレイドを成長させることはできますが、FS をオンラインで成長させることができるかどうかはわかりません。より具体的なオプションは必要ありません。

標準の再構築速度には制限がありますが、/proc/sys/dev/raid/speed_limit_max と /proc/sys/dev/raid/speed_limit_min に値をエコーすることで、速度を上げることができます (より多くのリソースを使用します)。

答え3

間違ったアプローチ。

2 つの新しいドライブを挿入し、アレイを作成してデータをコピーするだけです。

答え4

見るhttps://raid.wiki.kernel.org/index.php/成長

新しいディスクが追加されると、既存の RAID パーティションを拡張して新しいディスクを使用できます。新しいディスクがパーティション分割された後、たとえば次のコマンドを使用して RAID レベル 1/4/5/6 アレイを拡張できます (拡張前に 3 つのドライブが含まれていると仮定)。

mdadm --add /dev/md1 /dev/sdb3
mdadm --grow --raid-devices=4 /dev/md1

このプロセスには数時間から数日かかる場合があります。開始時に重要なセクションがあり、これはバックアップできません。予期しない電源障害後の回復を可能にするために、追加のオプションを--backup-file=指定できます。このファイルが別のディスク上にあることを確認してください。そうでないと目的が達成されません。

関連情報