背景: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. 等に移動させるようにしたい。