2つの追加ドライブを備えたソフトウェアRAID1を使用するように2x3TB LVM設定を変換しようとしています。次のことが安全かどうか、さまざまな段階で回復する方法があるかどうかを知りたいです。
そのため、vg_media ボリュームグループを構成する /dev/sdb1 および /dev/sdc1 があります。
ディスク/dev/sddと/dev/sdeを追加していますが、まずパフォーマンスが低下したRAIDを設定します。
だからこれは私の計画です。
# use parted to create GPT partitions on /dev/sdd and /dev/sde
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 missing
mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sde1 missing
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
pvcreate /dev/md0
pvcreate /dev/md1
vgextend vg_media /dev/md0
vgextend vg_media /dev/md1
pvmove /dev/sdb1 /dev/md0
pvmove /dev/sdc1 /dev/md1
vgreduce vg_media /dev/sdb1
vgreduce vg_media /dev/sdc1
私が理解したように、pvmoveは実際にすべてをコピーし、いくつかのメタデータを更新して新しい物理的な場所を使用します。
ダウングレードされたRAIDに問題がある場合は、pvmoveを元に戻して/dev/sdb1および/dev/sdc1のデータを再インポートできるかどうか疑問に思います。
この時点ですべてが大丈夫であることが確認されたら、次のようにしてRAIDを完了します。
pvremove /dev/sdb1
pvremove /dev/sdc1
sfdisk -d /dev/sdd | sfdisk /dev/sdb
sfdisk -d /dev/sde | sfdisk /dev/sdc
mdadm --manage /dev/md0 --add /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdc1
答え1
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
これは mdadm.conf の良い開始点ですが、あまりにも冗長なことがよくあります。 UUIDだけで十分です。
MAILADDR your@address
ARRAY /dev/md0 UUID=d8b8b4e5:e47b2e45:2093cd36:f654020d
私が理解したように、pvmoveは実際にすべてをコピーし、いくつかのメタデータを更新して新しい物理的な場所を使用します。
小さなRAID-1ミラーと同じです。移動されたセグメントごとに新しい場所で同期が開始され、完全に同期されると、以前の場所が削除されます。これにより、現在再配置されているセグメントで発生したすべての書き込みも正しく処理されます。
ダウングレードされたRAIDに問題がある場合は、pvmoveを元に戻して/dev/sdb1および/dev/sdc1のデータを再インポートできるかどうか疑問に思います。
「何か間違っている」という言葉の意味によって異なります。 pvmove イメージは完全に一時的で、戻ってくる重複はありません。新しいPVが完全に失敗すると、一部のデータが失われます。
vgcfgrestore
読み取り専用モードでpvmoveを実行している場合は、以前のバージョンのみを使用できますが(vgcfgbackup
移動を開始する前にバックアップを作成します)、pvmove自体が他の項目と重複する操作を実行しない場合にのみ適用されます(以前のデータは上書きされます)。これも効果的だ。のコース。
この作業を始める前に、すべてのディスクに対して長期にわたるスマートセルフテストを実行し、他の関連スマートデータを調べて、大きな問題が発生するかどうかを事前に知ることができます。
代替案:(必ずしも良いわけではありません)
オフライン/リカバリシステムでこれを実行できる場合は、両方のディスクをRAIDにdd(rescue)します。ただし、この場合は、サイズの問題(RAIDデバイスがPVサイズより小さくてはいけません)と重複したUUIDの問題に対処する必要があります。
何もコピーせずに元のPVの上にRAIDレイヤーを配置し、新しいディスクをRAIDに追加するだけです。これは、パーティションの末尾にあるメタデータを使用して行うことができます0.90
(1.0
最初にPVを少し減らす必要があるかもしれません)。あるいは、LVメタデータを編集して最初の数個の物理的範囲を確保し、パーティションの先頭にmdadmメタデータ用のスペースを確保することもできます。分割。ただし、これを行うには、LVMとMDメタデータのレイアウトを完全に理解する必要があります。