Linux growpartでLVMのシステム領域を拡張する

スポンサーリンク

物理サーバだと領域を拡張するには物理ディスクを追加して、LVMで拡張するのが一般的だが、仮想マシンやクラウドサービスでは手軽にディスクを拡張できる。AWS などのクラウドサービスでシステム領域を拡張する手順のメモ。ここでは/dev/sda2 に / 領域があることを前提とした手順を記載する。

LVM自体の作成方法や拡張方法はこちらの記事を参照

Linux(RedHat 系) パーティション作成からLVM 作成まで

Linux(RedHat系)で作成したLVM領域を拡張する。

ディスクを拡張

まず、対象のディスクを拡張する。どのクラウドサービスかによって手順は異なるのでここでは割愛。基本的には 仮想マシンの停止→ ディスクを拡張→起動の順で簡単に行えるはず。

ディスクのリサイズの認識

対象デバイスIDを確認。ここでは /dev/sda を対象とするので[0:0:0:0]がデバイスIDとなる

# lsscsi
[0:0:0:0]    disk    VMware   Virtual disk     2.0   /dev/sda
[2:0:0:0]    cd/dvd  NECVMWar VMware SATA CD00 1.00  /dev/sr0

ディスクのサイズ変更をリスキャンするために、 echoで対象デバイスのファイルに1を書き込む。

# echo 1 > /sys/class/scsi_disk/0\:0\:0\:0/

領域を拡張

パーティションを拡張するにはcloud-utils-growpart が必要なのでインストールされていなければ yum なりdnf なりでインストールする。

# dnf install cloud-utils-growpart

grouwpart コマンドで対象のパーティションを指定する。デバイスを指定する際は、/dev/sda2 ではなく /dev/sda▯2 と半角スペースを入れる。

# growpart /dev/sda 2
CHANGED: partition=2 start=2099200 old: size=28843840 end=41943039 new: size=2099200 end=207616000

growpart が完了した時点で fdisk で確認すると/dev/sdb2 が拡張されている。

続いて、LVMを拡張する。今回は拡張した領域をフルで使うので +100% としている。

#  lvextend -l +100%FREE /dev/vg/root

最後に xfs_growfs コマンドにてファイルシステムを拡張する。

# xfs_growfs /dev/vg/root

df コマンドでサイズが増えていることを確認できれば完了

コメント

タイトルとURLをコピーしました