chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

Parallels上に構築したUbuntuのdiskが足りなくなって割り当てサイズを増量したがファイルシステムが増量できない問題

背景:MAC上でUbuntuを動かしたくてParallelsを入れてUbuntuをインストールした。USBにもアクセスできて問題なかったが、Rustのサンプルコードをビルドすると、どんどんDISKを消費して/homeが置かれている/配下の利用率が90%に到達
課題:ParallelsではDISKを増加できるのでコンソールから増やして100Gにした。Ubuntuから見えるストレージ、/dev/sda3は100Gになったものの、ファイルシステム(/)配下のサイズは増えないままであった。
取り組み:調べると論理ボリュームマネージャ(LVM)上に/が構築されているようで、LVMのコマンドで増量操作が必要であった
結論:LVMのコマンド、pvresizeを使って物理ボリュームのサイズを変更、lvextendで論理ボリュームのサイズを変更、resize2fsコマンドでファイルシステムのサイズを変更、と3つの操作で、/ 配下のDISKを増やすことができた。

LVM(Logical Volume Manager)の概観


詳細:

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              392M 1000K  391M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   60G   55G  2.3G  97% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  129M  1.7G   8% /boot
/dev/sda1                          1.1G  6.0M  1.1G   1% /boot/efi
tmpfs                              392M  4.0K  392M   1% /run/user/1000


# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <60.95 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              15602
  Free PE               0
  Allocated PE          15602
  PV UUID               L9ODsN-9Vc6-Dz0i-UGEO-d6Kc-BPIE-ssl78y
  
# pvscan
  PV /dev/sda3   VG ubuntu-vg       lvm2 [<60.95 GiB / 0    free]
  Total: 1 [<60.95 GiB] / in use: 1 [<60.95 GiB] / in no VG: 0 [0   ]


# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: Ubuntu Linux-0 S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: DCD63853-7AB8-42B7-A564-6E8C7330F7FC

Device       Start       End   Sectors  Size Type
/dev/sda1     2048   2203647   2201600    1G EFI System
/dev/sda2  2203648   6397951   4194304    2G Linux filesystem
/dev/sda3  6397952 209715166 203317215 96.9G Linux filesystem

Command (m for help): q


# pvresize  /dev/sda3
  Physical volume "/dev/sda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
root@:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <96.95 GiB / not usable 2.98 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              24818
  Free PE               9216
  Allocated PE          15602
  PV UUID               L9ODsN-9Vc6-Dz0i-UGEO-d6Kc-BPIE-ssl78y

ボリュームグループのサイズが96Gに変更された

# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <96.95 GiB
  PE Size               4.00 MiB
  Total PE              24818
  Alloc PE / Size       15602 / <60.95 GiB
  Free  PE / Size       9216 / 36.00 GiB
  VG UUID               KjCW4E-Ep45-NOst-uS3B-fHNm-4V3K-KM8WK2
sumi@sumi:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  43.2M  1 loop /snap/snapd/17954
loop1                       7:1    0 109.6M  1 loop /snap/lxd/24326
loop2                       7:2    0  71.8M  1 loop /snap/lxd/22927
loop3                       7:3    0  57.9M  1 loop /snap/core20/1590
loop4                       7:4    0  59.1M  1 loop /snap/core20/1826
sda                         8:0    0   100G  0 disk 
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0  96.9G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0  60.9G  0 lvm  /
sr0                        11:0    1  1024M  0 rom  

vgsコマンドで確認、30G空いていると返答

root@sumi:~# vgs
  VG        #PV #LV #SN Attr   VSize   VFree 
  ubuntu-vg   1   1   0 wz--n- <96.95g 36.00g  

論理ボリュームを最大まで拡張

# lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <60.95 GiB (15602 extents) to <96.95 GiB (24818 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

コマンド自体は正常に実行されて、論理ボリュームのサイズは増えたがサイズが60Gのまま

# df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              392M  1.1M  391M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   60G   55G  2.3G  97% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  129M  1.7G   8% /boot
/dev/sda1                          1.1G  6.0M  1.1G   1% /boot/efi
tmpfs                              392M  4.0K  392M   1% /run/user/1000

# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  43.2M  1 loop /snap/snapd/17954
loop1                       7:1    0 109.6M  1 loop /snap/lxd/24326
loop2                       7:2    0  71.8M  1 loop /snap/lxd/22927
loop3                       7:3    0  57.9M  1 loop /snap/core20/1590
loop4                       7:4    0  59.1M  1 loop /snap/core20/1826
loop5                       7:5    0  43.2M  1 loop /snap/snapd/18363
sda                         8:0    0   100G  0 disk 
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0  96.9G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0  96.9G  0 lvm  /
sr0                        11:0    1  1024M  0 rom  

resize2fsが必要らしかった(十分な裏取りは未)

# resize2fs /dev/ubuntu-vg/ubuntu-lv 
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 25413632 (4k) blocks long.

# df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              392M  1.1M  391M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   96G   55G   37G  61% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  129M  1.7G   8% /boot
/dev/sda1                          1.1G  6.0M  1.1G   1% /boot/efi
tmpfs                              392M  4.0K  392M   1% /run/user/1000

以上の操作で、96Gまで増やせられて、利用率も61%に改善された
なお、このまま続けるとまたDISKがいっぱいになるので、、外付けSSDを付けて
ビルドが終わったら/mnt/hoge. 等に移動させるようにしたい。