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 configの更新
更新する/etc/mdadm/mdadm.conf
(md0を削除する)ことを忘れないでください。
そして、設定をinitramfsに保存します(再起動後に利用可能になります)
update-initramfs -u