Real-time Disk Size Expanding in a Linux virtual machine

I was compiling the Linux kernel from source and i had a vm running AlmaLinux with 20GB Logical volume, so i attained the maximum size, i had to expend my disk size without losing my data, the progress of a 12 hours compilation process(yes heavy kernel, and a weak hardware)

this solution is used in storage management in cloud services providers AWS, Azure ..

Linux Distribution : AlmaLinux 9.4 on Vmware Workstation 7

When you expand the disk size of your Linux virtual machine (VM) on VMware, you must adjust the partitions within the system to utilize the additional space.

This guide will walk you through the steps required to resize the partitions and filesystems using bash.

Prerequisites
Before you begin, ensure you have:

Expanded the disk size of your VM in VMware.

Root or sudo access to your Linux VM.

Step 1: Identify the New Disk Size
First, verify the current disk and partition sizes using the lsblk command:

lsblk
Enter fullscreen mode
Exit fullscreen mode

The output will show all block devices and their partitions. Identify the disk you have expanded. For example:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 988M 0 rom nvme0n1 259:0 0 100G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 19G 0 part ├─almalinux-root 253:0 0 17G 0 lvm / └─almalinux-swap 253:1 0 2G 0 lvm [SWAP]
Enter fullscreen mode
Exit fullscreen mode

Step 2: Resize the Partition
Use the growpart utility to resize the partition. If it’s not already installed, you can install it with:

sudo dnf install cloud-utils-growpart 
Enter fullscreen mode
Exit fullscreen mode

Then, resize the partition nvme0n1p2:

sudo growpart /dev/nvme0n1 2 
Enter fullscreen mode
Exit fullscreen mode

Step 3: Resize the Physical Volume (PV)
Next, resize the physical volume to recognize the expanded partition:

sudo pvresize /dev/nvme0n1p2 
Enter fullscreen mode
Exit fullscreen mode

Step 4: Verify the Physical Volume Size
Verify the changes using the pvs command:

sudo pvs 
Enter fullscreen mode
Exit fullscreen mode

Step 5: Resize the Logical Volume (LV)

Assuming you want to allocate all the new space to the root logical volume (almalinux-root):

sudo lvextend -l +100%FREE /dev/almalinux/root
Enter fullscreen mode
Exit fullscreen mode

Step 6: Determine the Filesystem Type
Before resizing the filesystem, determine the filesystem type. You can do this with the df -Th or lsblk -f commands:

df -Th 
Enter fullscreen mode
Exit fullscreen mode

or

lsblk -f 
Enter fullscreen mode
Exit fullscreen mode

Step 7: Resize the Filesystem
Depending on the filesystem type, use the appropriate command to resize the filesystem.

For ext4:

sudo resize2fs /dev/almalinux/root 
Enter fullscreen mode
Exit fullscreen mode

For xfs:

sudo xfs_growfs / 
Enter fullscreen mode
Exit fullscreen mode

Step 8: Verify the Changes
Finally, verify that the new space is available using the lsblk and df -h commands:

lsblk
df -h
Enter fullscreen mode
Exit fullscreen mode

Conclusion

By following these steps, you can effectively utilize the additional disk space after expanding your Linux VM disk on VMware.


Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top