解決策 1:
Linux のソフトレイドを使用すると、2 つのディスクだけで RAID 10 アレイを作成できます。
以下で使用されるデバイス名:
md0
タイプ/レベル RAID1 の古いアレイです。md1
タイプ/レベル RAID10 の新しいアレイです。sda1
とsdb2
新しい 、空のパーティション (データなし)。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 に障害が発生した場合、アレイ上のデータはトーストされます。