LVMを使用した環境で、容量を拡張したい場合の手順について解説します。

今回は、Hyper-V上の仮想マシンの仮想ドライブを拡張していますが、物理マシンのデータを拡張する場合などはクローンまで完了しておいてください。

未使用領域の確認

ディスクの容量を追加後、parted コマンドでパーティションの空き領域を確認します。

以下は、/dev/sdbの領域の場合です。各環境で読み替えてください。

Bash
parted /dev/sdb -s p free

番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1024B 1049kB 1048kB 空き容量
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 68.7GB 67.6GB primary lvm
68.7GB 77.3GB 8590MB 空き容量

パーティションの拡張

次に、partedコマンドでパーティションサイズを変更します。
場合によってはGPTの修復を確認される場合があるので、その場合は修復を実行してください。

Bash
parted /dev/sdb -s -- resizepart 2 100%

各ボリュームの拡張

パーティションを拡張したら、物理ボリュームを拡張します。

Bash
pvresize /dev/sdb2

物理ボリュームを確認します。

Bash
pvs

PV VG Fmt Attr PSize PFree
/dev/sda1 tablevg lvm2 a-- <50.00g <2.00g
/dev/sdb2 ol lvm2 a-- <71.00g 8.00g

論理ボリュームを拡張します。

Bash
lvresize -L +8G /dev/ol/root

Size of logical volume ol/root changed from <60.84 GiB (15575 extents) to <68.84 GiB (17623 extents).
Logical volume ol/root successfully resized.

空き容量いっぱいまで拡張する場合は

Bash
lvresize -l +100%FREE /dev/ol/root

とします。

ファイルシステムの拡張

論理ボリュームを拡張したら、ファイルシステムの拡張を行います。

Bash
xfs_growfs /dev/ol/root

meta-data=/dev/mapper/ol-root isize=512 agcount=6, agsize=3069696 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=15948800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=5995, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 15948800 to 18045952

最後にdfコマンドを実行すると、容量が増えていることが確認できます。

今回は以上です。

ご覧いただきありがとうございました。