GNU/Linux >> Linux の 問題 >  >> Linux

Linux ソフトウェア RAID 1 を RAID 10 に拡張する最良の方法

解決策 1:

Linux のソフトレイドを使用すると、2 つのディスクだけで RAID 10 アレイを作成できます。

以下で使用されるデバイス名:

  • md0 タイプ/レベル RAID1 の古いアレイです。
  • md1 タイプ/レベル RAID10 の新しいアレイです。
  • sda1sdb2 新しい 、空のパーティション (データなし)。
  • sda2 および sdc1 古いパーティションです (重要なデータを含む)。

ユースケースに合わせて名前を置き換えてください。使用例lsblk 現在のレイアウトを表示します。

0) バックアップ、バックアップ、バックアップ、バックアップああ、そしてバックアップ

1) 新しいアレイを作成します (4 つのデバイス:2 つの既存、2 つの行方不明):

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing

このレイアウト例では sda1 であることに注意してください。 対応するものがなく、sdb2 には別の対応する行方不明者がいます。 md1 に関するあなたのデータ この時点では安全ではありません (不足しているメンバーを追加するまでは事実上 RAID0 です)。

作成した配列のレイアウトやその他の詳細を表示するには:

mdadm -D /dev/md1

ノート!配列のレイアウトを保存する必要があります:

# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u

2) フォーマットしてマウントします。 /dev/md1 すぐに使用できるはずですが、フォーマットしてからマウントする必要があります。

3) ファイルをコピーします。使用例rsync を使用して、古い RAID 1 から新しい RAID 10 にデータをコピーします (これは単なるコマンドの例です。rsync のマニュアル ページを参照してください)。

rsync -arHx / /where/ever/you/mounted/the/RAID10

4) 古い RAID1 (md0) の最初の部分を失敗させ、それを新しい RAID10 (md1) に追加します

mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2

ノート!これにより、sda2 からデータが消去されます . md0 まだ使用できるはずですが、他のレイドメンバーが完全に機能している場合に限ります.

また、これにより md1 で同期/回復プロセスが開始されることに注意してください .ステータスを確認するには、以下のコマンドのいずれかを使用します:

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

待って 回復が完了するまで。

5) 新しいアレイに GRUB をインストールします (そこから起動すると仮定します)。一部の Linux レスキュー/ブート CD が最適に機能します。

6) 新しいアレイで起動します。正しく機能した場合 古いアレイを破棄し、残りのディスクを新しいアレイに追加してください。

ポイント オブ ノーリターン

この時点で、古い md0 配列の最後のメンバーのデータを破棄します。すべてが機能していることを確認してください。

mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1

もう一度 - 待って md1の回復まで

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

7) mdadm 設定を更新

/etc/mdadm/mdadm.conf を忘れずに更新してください (md0 を削除します)。

構成を initramfs に保存します (再起動後に使用可能になります)

update-initramfs -u

解決策 2:

Mark Turner と同じ手順に従いますが、raid アレイを作成するときは、不足しているディスクが 2 つあることに注意してください

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing

その後、他の手順に進みます。

つまり、合計 4 つのディスク (うち 2 つが欠落) で RAID10 を作成し、再同期してから、他の 2 つのディスクを追加します。

解決策 3:

2 TB ディスク mdadm RAID 1 上の LVM から 4 ディスク RAID 10 (元のディスク 2 つ + 新しいディスク 2 つ) 上の LVM への移行が完了しました。

@aditsu が指摘したように、アレイを作成するときはドライブの順序が重要です。

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda missing /dev/sdb missing

上記のコードは、2 つの欠落したディスクがある使用可能なアレイを提供します (ディスク全体を使用していない場合は、パーティション番号を追加します)。3 番目のディスクが追加されるとすぐに、同期が開始されます。 3 番目のディスクが完了するまでスペアとして表示され、同期が開始されました。

私の状況の手順:

<オール>
  • 適切なバックアップを作成してください。

  • 2 つのディスクが欠落している劣化した 4 ディスク RAID 10 アレイを作成します (欠落したディスクを #2 および 4 と呼びます)。

  • 妻に、気にかけているファイルを変更/追加しないように伝えてください

  • 障害が発生し、RAID 1 アレイ (ディスク 4) から 1 つのディスクを取り外します。

  • 物理エクステントを RAID1 アレイから RAID 10 アレイに移動し、ディスク 2 を空のままにします。

  • アクティブな RAID 1 アレイを強制終了し、空のディスク (ディスク 2) を RAID 10 アレイに追加し、再同期が完了するまで待ちます。

  • RAID1 から削除された最初のディスク (ディスク 4) を RAID 10 アレイに追加します。

  • 奥さんにどうぞ。

  • ステップ 7 で、ドライブ 1、2、OR だと思います 4 は (ディスク 4 の再同期中に) アレイを強制終了せずに失敗する可能性があります。ドライブ 3 に障害が発生した場合、アレイ上のデータはトーストされます。


    Linux
    1. あなたの子供のための10の最高のLinux教育ソフトウェア

    2. 2020年のLinux向けの10の最高のビデオ会議ソフトウェア

    3. LinuxでマシンIDを取得する最良の方法は?

    1. Linuxでホットキーサポートを実装する最良の方法は?

    2. Linux用の11の最高のCADソフトウェア

    3. Linux で UNetBootin (または類似のもの) を実行するには?

    1. Linux用の10の最高のオープンソース会計ソフトウェア

    2. Linux用の最高のペイントソフトウェア

    3. Linuxデスクトップ向けの5つの最高のブログソフトウェア