web-dev-qa-db-ja.com

ルートLVMのサイズを安全に変更する

5つのPV(物理ボリューム)で構成されるLV(論理ボリューム)があります。各PVは100GBと大きいため、合計は500GBになります。

ルートパーティションはこのLVにマウントされ、250GBのみが使用されます。

パーティションを300GB(3 PV)以下に縮小するには、少なくとも2つのPVを削除する必要があります。

どうすればこれを安全に(データを失うことなく)達成できますか?

どうもありがとうございます!

解決済み:kvpmすべての処理を実行します(resize2fs、vgreduce、...)。

1

マウントされたext4を縮小することはできないため、ライブCDなどから縮小する必要があります。

まず、ファイルシステムのサイズ変更を含め、論理ボリュームを縮小します。これにはしばらく時間がかかることに注意してください!大量のデータを移動する必要がある場合があります。

lvreduce -r -L 290G «vg-name»/«lv-name»

-r(最初にファイルシステムのサイズを変更するように指示します。これはデータ損失を被らないようにするために重要です)と、煩わしい丸め誤差(ほとんどの場合は丸め誤差)がないことを確認するために、少し小さくするように要求しました。管理者—たとえば、300 GiBまたは300GB?)を意味しましたか?LVMツールは正確であり、必要に応じてこれを正確に行うことができます...最後にファイルシステム。

これで、vgreduceを試して、未使用のボリュームグループを削除できるかどうかを確認できます。 vgreduce -a «vg-name»は、ボリュームグループからallPVを削除しようとしますが、空のPVでのみ成功します。これで2つが削除されれば、すばらしいです。これで完了です。

それがうまくいかなかった場合は、データを移動する必要があります。これはpvmoveで行われます。 pvmoveの最初の引数は、データfrom;を移動するPVです。 2番目の(オプションの)引数は、toに移動する場所です。 2番目を省略すると、LVMはどこか(移動元以外)を選択します。 pvmoveの後、vgreduce «vg-name» «path-to-pv»を試してボリュームグループから削除できます。繰り返しますが、これはデータがない場合にのみ成功します。

それらをVGから削除した後、pvremoveを使用してディスクからLVM「ラベル」を削除できます。また、ディスクを安全にワイプする必要があります以前にそこにあったデータをプライベートのままにする必要がある場合。 LVMとresize2fsはデータをコピーしましたが、安全に消去していません。

3
derobert