
さまざまなディスクに分散された複数の物理ボリューム (PV) で構成される単一のボリューム グループ (VG) があります。ここで、ディスク A にあるすべての PV を新しいディスク B に移動したいと考えています。ただし、ディスク B を追加するだけのスロットがないため、操作中は 3 番目のディスク C (同じ VG に関連する PV も含む) を一時的に削除する必要があります。その後、ディスク A が不要になると、ディスク C 用のスペースが再び確保されます。
ここで質問です。ディスク C がなくなったという事実は、ディスク A からディスク B への PV の移動に影響しますか?
もちろん、ループバックデバイスをいくつか使って、実際に試してみることもできます。しかし、仮にそれがうまくいったとしても、実際にうまくいくかどうかはわかりません。指定された動作します(したがって、実際のデータでデータ損失が発生することはありません)。
答え1
ディスクCのLVがディスクCのみにある場合は、vgsplit(8)ディスクCを新しいVGにコピーし、ディスクCを削除して、必要な操作を行います(おそらくpvmove(8))、 その後vgマージ(8):
vgsplit existingVG newVG PV
# ...do what you need here...
vgmerge existingVG newVG
LV がディスク C と他のディスクにある場合、ディスク C を削除すると部分的な LV が取得されます。LVM では--partial
オプションを使用して部分的なデバイスをアクティブ化できますが、そのような VG を変更することはできません (実行する必要がありますvgreduce --removemissing VG
が、これは必要なことではありません)。
dd を使ってオフラインで実行することもできます。ライブ CD を起動して を実行しますdd if=/dev/OLDPV of=/dev/NEWPV bs=1M
。後でパーティションのサイズを変更する必要があるかもしれませんが、これは簡単ではありません。ただし、少なくとも「バックアップ」はあります (もちろん、引数を dd に切り替えない限り)。