Proxmoxで仮想マシンのディスク容量を拡張する方法

インフラストラクチャ

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の空き容量が利用可能になりました。

注意事項

  • 上記の手順はUbuntuでLVMを使用している場合のものです
  • 異なるパーティション構成やファイルシステムを使用している場合は、コマンドを適宜調整する必要があります
  • 重要なデータがある場合は、事前にバックアップを取ることをお勧めします

コメント

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