VMwareでUbuntuをデフォルトで作ると、20GBのハードディスクとなり、更に「/」には、10GBの論理ボリュームだけがマウントされ、すぐに足りなくなる。ここで、その拡張方法を記載しておく。
Ubuntu20までは、LVMを使っておらず、「/dev/sda5」が「/」に直接マウントしているが、Ubuntu22デフォルトではLVMを使い始めているようだ。
VMwareからハードディスクサイズ拡張
これは一番簡単。Ubuntuが起動されてない状態で、仮想マシン設定でハードディスクを選んで、「展開」ボタンから好きなサイズに拡張できる。
Ubuntuにハードディスクのサイズ変更を認識させる
~$ sudo sh -c "echo 1 > /sys/class/block/sda/device/rescan"
パーティション拡張
partedを利用して、拡張されたハードディスクに合わせてパーティションを拡張させる。
~$ sudo parted /dev/sda
(parted)
partedに入ったので、「print free」でまず状況確認。
(parted) print free
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 40GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 1904MB 1902MB ext4
3 1904MB 21GB 19GB
21GB 41GB 20GB Free Space
Number列のNo.3は現在の「/dev/sda3」である。後ろの「Free Space」は拡張されたハードディスクの空き領域。
(parted) resizepart 3
End? [21GB]? 100% <- 100%は入力。
(parted)
もう一回「print free」で確認すると、「Free Space」が消え、No.3のサイズが拡張されたはず。
「q」でpartedを抜ける。
物理ボリュームの拡張
pvdisplayで一度現状確認。
~$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size <18.23 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4665
Free PE 0
Allocated PE 4665
PV UUID TOLx1p-N5Ma-0vMa-59hz-0lBO-TyXz-Q4I7u8
「PV Size」のところは現在のサイズ。
~$ sudo pvresize /dev/sda3
Physical volume "/dev/sda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
「/dev/sda3」を最大に拡張された。
もう一回pvdisplayで確認する。
~$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size <38.23 GiB / not usable 2.98 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 25145
Free PE 20480
Allocated PE 4665
PV UUID TOLx1p-N5Ma-0vMa-59hz-0lBO-TyXz-Q4I7u8
「PV Size」が拡張されたね。
Volume Group拡張不要
物理ボリューム「/dev/sda3」は既にVolume Group「ubuntu-vg」の構成となっているため、PV拡張=VG拡張。なので、Volume Group拡張は不要。
念のため、vgdisplayで状況確認。
~$ sudo 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 38.22 GiB
PE Size 4.00 MiB
Total PE 8145
Alloc PE / Size 4665 / 18.22 GiB
Free PE / Size 4480 / 20.00 GiB
VG UUID g939fE-NWSB-tuKX-5IH3-6nnu-Ay20-5N1HSX
「Free」空間あるね。
Logical Volume拡張
lvdisplayで状況確認
$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
LV UUID KmJZUz-FFaR-1dWk-4Mkg-OmTw-gwmN-PTmZQ6
LV Write Access read/write
LV Creation host, time ubuntu-server, 2022-07-25 11:15:42 +0900
LV Status available
# open 1
LV Size 18.22 GiB
Current LE 4665
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
拡張させる。
~$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 18.22 GiB (4665 extents) to 38.22 GiB (8145 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
ファイルシステム拡張
~$ sudo 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 = 2, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 9748480 (4k) blocks long.
ファイルシステムがxfsの場合、sudo xfs_growfs /dev/rhel/root
のように、resize2fs
ではなく、xfs_growfs
を使うこと。
最後に
~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 792M 1.6M 791M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 40G 8.2G 32G 19% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 1.8G 247M 1.4G 16% /boot
tmpfs 792M 4.0K 792M 1% /run/user/1000
めでたしめでたし、「/」が使える容量が想定通り増えた!