web-dev-qa-db-ja.com

空きPEなしでVGから物理ボリュームを削除します

2つの物理ボリュームsda5とsda6を含むLVM2セットアップがあります。両方の物理ボリュームが単一のボリュームグループVGに含まれ、VGにはLVが1つだけ含まれます。 LVは物理ボリュームのすべてのメモリを使用します。つまり、同じVGに別のLVを作成することはできません。

つまり、私のlvmセットアップ全体には、2pv、1vg、1lvが含まれています。 lvにはLinuxOSが含まれています。

ここで、ボリュームグループからpvを安全に削除して、lvm以外の用途に使用できるようにします。ただし、pvdisplayは、両方の物理ボリュームに割り当てられているすべての物理エクステントを示しており、いずれにも空き物理エクステントはありません。ただし、論理ボリューム上の実際のデータは、LVのサイズの10%にすぎません。

Pvmoveコマンドを使用すると、「使用可能な空き物理エクステントがありません」というエラーが表示されます。

では、データを失うことなく、ボリュームグループから物理ディスクを安全に削除するにはどうすればよいですか?

3
user167020

最初にボリュームを縮小し、次にpvmoveを実行してから、物理ディスクを削除することができます。

5GBのスペースが使用されているとします。

最初にファイルシステムを確認します。

e2fsck /dev/vg/lv

ファイルシステムのサイズを使用済みスペースの少し上(たとえば6GB)に変更します。

resize2fs -p /dev/vg/lv 6G

lvを少し>または=ファイルシステムサイズに縮小します。

lvreduce -L 6G /dev/vg/lv

ファイルシステムの終わりをボリュームの終わりに合わせます。

resize2fs -p /dev/vg/lv

次に、ソースパーティションからターゲットパーティションにpvmoveします。

pvmove /dev/sda5 /dev/sda6

次に、PhysicalExtentsが割り当てられているかどうかを確認します。

pvdisplay

PEが割り当てられていない場合は、lvmからパーティションを削除しても安全です。

pvremove /part/to/be/removed
2
user167020