I've written this many times over the years, with many different Linux distributions, but had a need to REDO FROM START yesterday, growing the disk within an Ubuntu VM running on VMware Fusion.
So, for my future self, this is what worked for me ( using Ubuntu 20.04.02 LTS )
Look at the current disk
df -kmh /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 19G 8.5G 9.2G 49% /
Increase VM from 20 to 50 GB
This is easily done via VMware Fusion: -
I grew the disk from 20 GB to 50 GB whilst the VM was shutdown, and then booted it up.
Inspect the current partition layout
fdisk /dev/sda -l
GPT PMBR size mismatch (41943039 != 104857599) will be corrected by write.
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DA7D21AD-C6E5-4549-B753-391F2EB88C8E
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 41940991 39839744 19G Linux filesystem
Create a new partition
I did this via CLI, but could've quite easily used fdisk interactively. Also, I took the defaults on start, end, sectors, partition type etc.
(
echo "n"
echo -e "\n"
echo -e "\n"
echo -e "\n"
echo "w"
) | fdisk /dev/sda
Inspect the new partition layout
fdisk /dev/sda -l
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DA7D21AD-C6E5-4549-B753-391F2EB88C8E
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 41940991 39839744 19G Linux filesystem
/dev/sda4 41940992 104857566 62916575 30G Linux filesystem
Create a Physical Volume using the new sda4 partition
pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created.
Extend the existing Volume Group to use the new sda4 partition
vgextend /dev/ubuntu-vg/ /dev/sda4
Volume group "ubuntu-vg" successfully extended
Extend the Logical Volume to fit
- Note that I deliberately chose the value of 29G to fit inside the newly added 30GB of disk
lvextend -L +29G /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from <19.00 GiB (4863 extents) to <48.00 GiB (12287 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
Resize the file-system to fit
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 6
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 12581888 (4k) blocks long.
Look at the current disk
df -kmh /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 48G 8.5G 37G 19% /
Celebrate !
No comments:
Post a Comment