Linux
VirtualBox
ubuntu16.04

【備忘録】VirtualBox上のUbuntu serverでパーティションサイズ変更

忘れそうなのでメモ。
10GBの仮想ディスクを20GBに増やしたときの記録です。
ホストOSはMac。

VirtualBoxのストレージサイズ変更

まずは仮想ディスクイメージのストレージサイズを増やします。
GUIでは変更できないのでターミナルで作業します。
最初に対象の仮想ディスクイメージ(VDIファイル)のフルパスを確認します。

$ VBoxManage list hdds

「Location:」に表示されたフルパスを引数にしてメガバイト単位でストレージサイズを指定します。

$ VBoxManage modifyhd "/Users/hoge/VirtualBox VMs/Ubuntu/Ubuntu.vdi" --resize 20480

これで既存パーティションの後ろに10GBの空き容量ができた状態になります。
次はゲストOSにログインして作業します。

Ubuntuのパーティションサイズ変更

作業前の状態です。
ルートの空き容量は1.6GBです。

$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                         981M     0  981M   0% /dev
tmpfs                        201M  3.5M  197M   2% /run
/dev/mapper/ubuntu--vg-root  8.3G  6.3G  1.6G  80% /
tmpfs                       1001M  244K 1000M   1% /dev/shm
tmpfs                        5.0M     0  5.0M   0% /run/lock
tmpfs                       1001M     0 1001M   0% /sys/fs/cgroup
/dev/sda1                    472M  154M  294M  35% /boot
tmpfs                        201M     0  201M   0% /run/user/1000

partdで物理パーティション(/dev/sda2)と論理パーティション(/dev/sda5)のサイズを最大まで拡張します。

$ sudo parted
GNU Parted 3.2
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p free                                                       
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sda: 21.5GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
      32.3kB  1049kB  1016kB            空き容量
 1    1049kB  512MB   511MB   primary   ext2              boot
      512MB   513MB   1048kB            空き容量
 2    513MB   10.7GB  10.2GB  extended
 5    513MB   10.7GB  10.2GB  logical                     lvm
      10.7GB  21.5GB  10.7GB            空き容量

(parted) resizepart 2                                                     
終了?  [10.7GB]? 21.5GB                                                   
(parted) p free                                                           
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sda: 21.5GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
      32.3kB  1049kB  1016kB            空き容量
 1    1049kB  512MB   511MB   primary   ext2              boot
      512MB   513MB   1048kB            空き容量
 2    513MB   21.5GB  21.0GB  extended
 5    513MB   10.7GB  10.2GB  logical                     lvm
      10.7GB  21.5GB  10.7GB            空き容量

(parted) resizepart 5
終了?  [10.7GB]? 21.5GB                                                   
(parted) p free                                                           
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sda: 21.5GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
      32.3kB  1049kB  1016kB            空き容量
 1    1049kB  512MB   511MB   primary   ext2              boot
      512MB   513MB   1048kB            空き容量
 2    513MB   21.5GB  21.0GB  extended
 5    513MB   21.5GB  21.0GB  logical                     lvm

(parted) q                                                                
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

$ sudo reboot

PVを拡張します。

$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               ubuntu-vg
  PV Size               9.52 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2437
  Free PE               0
  Allocated PE          2437
  PV UUID               XW1fVL-1DX8-T7Qk-shAg-Ht0i-FGc6-nRt5Ta

$ sudo pvresize /dev/sda5
  Physical volume "/dev/sda5" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               ubuntu-vg
  PV Size               19.52 GiB / not usable 2.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              4997
  Free PE               2560
  Allocated PE          2437
  PV UUID               XW1fVL-1DX8-T7Qk-shAg-Ht0i-FGc6-nRt5Ta

LVを拡張します。

$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
  Size of logical volume ubuntu-vg/root changed from 8.52 GiB (2182 extents) to 18.52 GiB (4742 extents).
  Logical volume root successfully resized.

ファイルシステムを拡張します。

$ sudo resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/ubuntu-vg/root is now 4855808 (4k) blocks long.

ルートの空き容量が12GBに増えました。

$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                         981M     0  981M   0% /dev
tmpfs                        201M  3.2M  197M   2% /run
/dev/mapper/ubuntu--vg-root   19G  6.3G   12G  37% /
tmpfs                       1001M     0 1001M   0% /dev/shm
tmpfs                        5.0M     0  5.0M   0% /run/lock
tmpfs                       1001M     0 1001M   0% /sys/fs/cgroup
/dev/sda1                    472M  154M  294M  35% /boot
tmpfs                        201M     0  201M   0% /run/user/1000
$