0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Proxmox / Linux】LVMボリュームを拡張する方法

0
Last updated at Posted at 2025-09-18

はじめに

仮想環境でLinux VMを運用していると、気がつくとディスク容量が不足していることってよくありますよね。特にルートパーティション(/)やログが溜まる /var パーティションなんかは、思った以上に早く埋まってしまいます。

今回は、そんな時に役立つLVMパーティションの拡張方法について、実際にUbuntu 22.04 LTSのVMを作成して、一から手順を確認してみました。ルートパーティションも含めて、どのLVMパーティションでも対応可能な方法です。

実は明日業務でこの作業があるので、予習も兼ねて検証してみました。同じような状況の方の参考になれば嬉しいです!

検証環境

項目 仕様
仮想化基盤 Proxmox VE 9.0
ゲストOS Ubuntu 22.04 LTS Server
初期ディスク容量 20GB
拡張後容量 50GB
ストレージ構成 LVMデフォルト構成

Ubuntu ServerのインストーラーはデフォルトでLVM構成を選択してくれるので、今回の検証にはピッタリでした!

image.png

LVMの基本的な仕組み

LVMって最初は「なんでこんなに複雑なの?」って思ったんですが、理解すると結構理にかなってるんですよね。

LVM(Logical Volume Manager)は、物理的なディスクを抽象化して柔軟なストレージ管理を可能にします。階層構造になっているのがポイントです:

  • 物理ボリューム(PV): 実際のディスクパーティション
  • ボリュームグループ(VG): 複数のPVをまとめた論理的なグループ
  • 論理ボリューム(LV): VG内に作成される実際に使用する領域

この階層構造があるおかげで、ディスクの動的な拡張・縮小ができるわけです。

拡張手順の全体像

LVMは階層構造になっているので、下から順番に拡張していく必要があります。最初は「なんでこんなに手順が多いの?」って思ったんですが、慣れてくると理にかなってることが分かります。

各段階で状態確認をしながら進めていくのが安心です。

Step 1: Proxmoxで仮想ディスクを拡張する

まずはProxmox側で「器」を大きくします。

⚠️ 重要: ここは必ずVMをシャットダウンしてから作業してください

VMの作成(今回の検証用)

isoのアップロードから:

image.png

image.png

VM作成時はディスク容量20GB、その他は適当なスペックで設定:

image.png

image.png

ディスクサイズの変更

VMをシャットダウン

image.png

ハードウェア設定から拡張

  • 対象のVMを選択
  • [ハードウェア] タブを開く
  • 拡張したいディスク(今回は scsi0)を選択
  • [ディスク操作] > [サイズ変更] をクリック

image.png

追加容量を入力(今回は30GB追加で 30と入力)

image.png

この作業自体は数秒で終わります。簡単ですね!

image.png

Step 2: OS側でパーティションを拡張

VMを起動して、いよいよOS側の作業です。SSHでログインして進めていきます。

現状確認

lsblk

image.png

Ubuntu LVMのデフォルト構成では大体こんな感じになります:

NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   50G  0 disk
├─sda1                      8:1    0    1M  0 part
├─sda2                      8:2    0  1.8G  0 part /boot
└─sda3                      8:3    0 18.2G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0   10G  0 lvm  /

sda 自体はStep1で指定した50GBになっているけど、sda3 パーティションはまだ古いサイズ(約18GB)のままです。

パーティション拡張の実行

sudo parted /dev/sda print

image.png

sudo parted /dev/sda resizepart 3 100%

image.png

100% は「ディスクの最後まで使う」という意味です。

拡張できたか確認

NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   50G  0 disk
├─sda1                      8:1    0    1M  0 part
├─sda2                      8:2    0  1.8G  0 part /boot
└─sda3                      8:3    0 48.2G  0 part # ← 拡張された!
  └─ubuntu--vg-ubuntu--lv 253:0    0   10G  0 lvm  / # ← でもLVMはまだ小さい

パーティションは拡張されましたが、LVMの部分はまだ元のサイズのままです。ここからがLVM特有の作業になります。

Step 3: LVMレイヤーの拡張

物理ボリューム(PV)の拡張

sudo pvresize /dev/sda3

image.png

ボリュームグループの確認

sudo vgdisplay

image.png

論理ボリューム(LV)の確認と拡張

sudo lvdisplay

image.png

LV Path に書かれているパス(今回は /dev/ubuntu-vg/ubuntu-lv)をメモしておきます。

sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

image.png

-l +100%FREE は「ボリュームグループ内の空き領域を全部使う」という指定です。細かく容量を計算しなくて済むので楽ですね。

Step 4: ファイルシステムの拡張

拡張前の状態確認

df -hT

image.png

ファイルシステム拡張

UbuntuのデフォルトはEXT4なので、resize2fsを使います:

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

image.png

最終確認

df -h

image.png

/dev/mapper/ubuntu--vg-ubuntu--lv   48G  4.9G   41G  11% / # ← 拡張完了!

やりました!

image.png

よくハマるトラブル

実際にこの作業を何回かやっていると、たまにハマることがあります。

パーティション拡張でエラーが出る場合

Error: Partition 3 is being used. You must unmount it before you resize it.

こんなときは:

sudo fdisk -l /dev/sda
sudo partprobe /dev/sda
sudo parted /dev/sda print

LVM拡張で空き領域不足エラー

sudo pvdisplay
sudo vgdisplay

物理ボリュームの拡張(pvresize)をし忘れていることが多いです。自分も最初やりました(笑)

ファイルシステム拡張が反映されない

EXT4の場合は resize2fs、XFSの場合は xfs_growfs を使います。コマンドを間違えると拡張されません。

# ファイルシステムの種類確認
df -hT

XFSの場合は:

sudo xfs_growfs /  # マウントポイントを指定

作業前後の比較

項目 作業前 作業後
仮想ディスクサイズ 20GB 50GB
パーティション(sda3) 約18GB 約48GB
論理ボリューム 10GB 48GB
利用可能領域 4.5GB 41GB

image.png

よく使うコマンド一覧

# 確認系
lsblk
df -hT
sudo pvdisplay
sudo vgdisplay
sudo lvdisplay

# 拡張系
sudo parted /dev/sda resizepart 3 100%
sudo pvresize /dev/sda3
sudo lvextend -l +100%FREE [LV]
sudo resize2fs [device]
sudo xfs_growfs [mountpoint]

# トラブル対応
sudo partprobe /dev/sda
sudo fdisk -l /dev/sda

注意点とか学んだこと

  • 作業前に必ずVMのスナップショットかバックアップを取る
  • 各段階で状態確認をしながら進める
  • 本番環境では事前にテスト環境で手順を検証する(今回みたいに)

LVMって最初は複雑に見えるけど、各レイヤーの役割を理解すると「なるほど」って思えるようになりました。まだまだ勉強中の身なので、もし間違いがあったり、もっと良いやり方があれば教えてください!

まとめ

手順こそ多いものの、各段階の意味を理解すれば決して難しい作業ではありません。同じような状況で困っている方の参考になれば幸いです!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?