2つの物理ボリュームsda5とsda6を含むLVM2セットアップがあります。両方の物理ボリュームが単一のボリュームグループVGに含まれ、VGにはLVが1つだけ含まれます。 LVは物理ボリュームのすべてのメモリを使用します。つまり、同じVGに別のLVを作成することはできません。
つまり、私のlvmセットアップ全体には、2pv、1vg、1lvが含まれています。 lvにはLinuxOSが含まれています。
ここで、ボリュームグループからpvを安全に削除して、lvm以外の用途に使用できるようにします。ただし、pvdisplayは、両方の物理ボリュームに割り当てられているすべての物理エクステントを示しており、いずれにも空き物理エクステントはありません。ただし、論理ボリューム上の実際のデータは、LVのサイズの10%にすぎません。
Pvmoveコマンドを使用すると、「使用可能な空き物理エクステントがありません」というエラーが表示されます。
では、データを失うことなく、ボリュームグループから物理ディスクを安全に削除するにはどうすればよいですか?
最初にボリュームを縮小し、次に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