Proxmoxでディスク容量を増やしたにもかかわらず、仮想マシン内でその容量が認識されない場合の対処法です。
問題の状況
- Proxmoxの管理パネルから仮想マシンのディスク容量を拡張した
- 論理ボリュームのサイズが変更されたことが確認できた
- しかし、仮想マシン内で
df -H
コマンドを実行しても、容量が増えていない
# Proxmoxでのサイズ変更の確認
Size of logical volume pve/vm-100-disk-0 changed from 50.00 GiB (12800 extents) to 100.00 GiB (25600 extents).
Logical volume pve/vm-100-disk-0 successfully resized.
TASK OK
# VM内でのディスク使用状況
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.1G 1.5M 3.1G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 26G 23G 1.9G 93% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.3M 0 5.3M 0% /run/lock
/dev/sda2 2.1G 101M 1.9G 6% /boot
tmpfs 3.0G 13k 3.0G 1% /run/user/1000
原因
Proxmoxでの論理ボリュームのサイズ変更は、基盤となるストレージデバイスのサイズのみを変更します。仮想マシン内のパーティションとファイルシステムを手動で拡張する必要があります。
解決手順
1. 仮想マシンがディスク容量の増加を認識しているか確認
lsblk
このコマンドの説明:
lsblk
:システムに接続されているブロックデバイス(ディスク、パーティション)の情報を表示するコマンド- オプションなしの場合、すべてのブロックデバイスを階層構造で表示します
出力例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 48G 0 part
└─ubuntu--vg-ubuntu--lv 252:0 0 24G 0 lvm /
この出力から、ディスク全体(sda)は100GBに増えていることが確認できますが、パーティション(sda3)は48GB、LVM論理ボリューム(ubuntu--vg-ubuntu--lv)は24GBのままで、まだ拡張されていないことがわかります。このコマンドで現在のディスク構成を確認することで、次に実行すべきコマンドを把握できます。
2. パーティションテーブルを拡張
sudo growpart /dev/sda 3
このコマンドの説明:
growpart
:パーティションテーブルを非破壊的に拡張するツール/dev/sda
:対象のディスクデバイス3
:拡張するパーティション番号(この例ではsda3)
このコマンドは、ディスクデバイス上のパーティションを、使用可能な最大容量まで拡張します。物理的なディスクサイズが増えた場合に、そのパーティションのサイズも増やすために使います。
3. 物理ボリュームを拡張
sudo pvresize /dev/sda3
このコマンドの説明:
pvresize
:LVM(Logical Volume Manager)の物理ボリュームのサイズを変更するコマンド/dev/sda3
:拡張する物理ボリュームのパーティション
パーティションのサイズが増えたら、その上に構築されているLVMの物理ボリュームも拡張する必要があります。このコマンドは、物理ボリュームがパーティションの新しいサイズを認識するようにします。
4. 論理ボリュームを拡張
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
このコマンドの説明:
lvextend
:論理ボリュームのサイズを拡張するコマンド-l +100%FREE
:使用可能なすべての空き容量を使用するオプション/dev/mapper/ubuntu--vg-ubuntu--lv
:拡張する論理ボリュームのパス
論理ボリュームは、物理ボリュームの上に作成される仮想的なディスクボリュームです。このコマンドにより、物理ボリュームで使用可能なすべての空き容量を論理ボリュームに追加します。
5. ファイルシステムをリサイズ
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
このコマンドの説明:
resize2fs
:ext2/ext3/ext4ファイルシステムのサイズを変更するコマンド/dev/mapper/ubuntu--vg-ubuntu--lv
:リサイズするファイルシステムがあるデバイス
論理ボリュームのサイズが拡張されても、その上のファイルシステム自体はまだ元のサイズのままです。このコマンドは、ファイルシステムを拡張して、論理ボリュームの新しいサイズをすべて使用できるようにします。XFSファイルシステムの場合は代わりにxfs_growfs
コマンドを使用します。
結果の確認
df -H
このコマンドの説明:
df
:ディスクの空き容量を表示するコマンド(Disk Free)-H
:容量を人間が読みやすい形式で表示するオプション(1GB = 1,000,000,000バイトとして計算)
出力例:
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.1G 1.6M 3.1G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 104G 23G 77G 23% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.3M 0 5.3M 0% /run/lock
/dev/sda2 2.1G 101M 1.9G 6% /boot
tmpfs 3.0G 13k 3.0G 1% /run/user/1000
このコマンドで、ファイルシステムの容量がどのように変化したかを確認できます。上記の出力では、ルートファイルシステム(/)の容量が104GBに増加し、使用可能な空き容量が77GBになっていることが確認できます。この結果から、すべての拡張手順が正常に完了したことがわかります。
これで、ルートファイルシステム(/)の容量が104GBに増加し、77GBの空き容量が利用可能になりました。
ミニPCサーバーにProxmoxを入れる⑨
無事に領域の拡張できた、、、
サイズを変えるだけじゃなくて、ちゃんとOS側の設定も必要だった、、、 https://t.co/MDkQeOwoWF pic.twitter.com/EyAfZhKi8L— Maki@Sunwood AI Labs. (@hAru_mAki_ch) March 19, 2025
注意事項
- 上記の手順はUbuntuでLVMを使用している場合のものです
- 異なるパーティション構成やファイルシステムを使用している場合は、コマンドを適宜調整する必要があります
- 重要なデータがある場合は、事前にバックアップを取ることをお勧めします
コメント