ファイルシステムに合わせて論理ボリュームのサイズを自動的に調整するには?
答え1
ファイルシステムのサイズを大きくするには、まず論理ボリュームコンテナを増やしてから、その中のファイルシステムのサイズを大きくする必要があります。ファイルシステムのサイズを小さくすると、周囲の論理ボリュームも小さくなります。最後。
lvextend
このオプションを使用して、論理ボリュームと含まれるファイルシステムを拡張するためのショートカットを実装できます--resizefs
。たとえば、1000の範囲の論理ボリュームがあり、それを1600の範囲に増やしてからその中のファイルシステムを拡張したいとします。
lvextend -l 1600 --resizefs /dev/vg01/lvol1
これにより、論理ボリュームサイズが合計1600個のエクステントに増加し、それに関連するファイルシステムも増えます。このためにファイルシステムをアンマウントする必要はありません。
ファイルシステムのサイズを小さくするには、まずファイルシステムをアンマウントしてfsck
アンマウントする必要があります。その後、サイズを小さくしてください。ファイルシステムまず、周辺論理ボリュームコンテナのサイズを小さくします。tune2fs
ファイルシステムの「ブロックサイズ」を決定するために使用されます。ブロックサイズ値に最終論理ボリュームに含める物理拡張領域の数を掛け、その結果をのパラメータとして使用しますresize2fs
。たとえば、ブロックサイズが4096で、論理ボリュームに必要な最終物理拡張領域の数が1200の場合、製品は4915200(ブロック)です。したがって:
umount /myfs
e2fsck -f /dev/vg01/lvol1
resize2fs /dev/vg001/lvol1 4915200
lvreduce -l 1200 /dev/vg01/lvol1
[ respond "y" when asked if you really want to reduce it ]
答え2
JRファーガソン(JR Ferguson)が素晴らしい回答を提供しました。 OPが次のようなものを探していると思います。
lvextend -l+100%FREE /dev/path/to/your/logical/volume
相対的な方法で空き領域を参照できる場合は、ブロック数を手動で計算するよりも便利です。詳細については、以下を確認してください。lvextend のマニュアルページまたは何でもその他 lvm2 コマンド。
答え3
別の遅い減少オプション:
- 予想より小さくファイルシステムのサイズを変更します(ただし、既存のデータを含めるのに十分な大きさです)。
sudo resize2fs /dev/mapper/LVM--vg-root 19G
- lv を予想サイズに縮小します。
sudo lvreduce -L 20G /dev/mapper/LVM--vg-root
- 次に、ファイルシステムを拡張して利用可能なスペースを埋めます。
sudo resize2fs /dev/mapper/LVM--vg-root
編集する 私はこれを直接しましたが、サイズ変更に1秒もかかりませんでした。