Articles on: Virtual Machine

Increase the Linux VM Disk Size in Azure

Articles on: Virtual Machine


Increase the disk size from Azure portal first


Expand a disk partition and filesystem


To use an expanded disk, expand the underlying partition and file system.

  • SSH to your VM with the appropriate credentials. You can see the public IP address of your VM with az vm show:

Azure CLI Copy 


undefined az vm show --resource-group myResourceGroup --name myVM -d --query [publicIps] --o tsv


  • Expand the underlying partition and filesystem.

a. If the disk is already mounted, unmount it:

bash Copy 


undefined sudo umount /dev/sdc1


b. Use parted to view disk information and resize the partition:

bash Copy 


undefined sudo parted /dev/sdc


View information about the existing partition layout with print. The output is similar to the following example, which shows the underlying disk is 215 GB:

bash Copy 


undefined GNU Parted 3.2 Using /dev/sdc1 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: Unknown Msft Virtual Disk (scsi) Disk /dev/sdc1: 215GB Sector size (logical/physical): 512B/4096B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 107GB 107GB ext4


c. Expand the partition with resizepart. Enter the partition number, 1, and a size for the new partition:

bash Copy 


undefined (parted) resizepart Partition number? 1 End? [107GB]? 215GB


d. To exit, enter quit.

  • With the partition resized, verify the partition consistency with e2fsck:

bash Copy 


undefined sudo e2fsck -f /dev/sdc1


  • Resize the filesystem with resize2fs:

bash Copy


undefined sudo resize2fs /dev/sdc1


  • Mount the partition to the desired location, such as /datadrive:

bash Copy


undefined sudo mount /dev/sdc1 /datadrive


  • To verify the data disk has been resized, use df -h. The following example output shows the data drive /dev/sdc1 is now 200 GB:

bash Copy


undefined Filesystem Size Used Avail Use% Mounted on /dev/sdc1 197G 60M 187G 1% /datadrive


Issue:

Cannot extend the /dev/sda1 root filesystem. 

Root Cause:

There were /dev/sda2 and /dev/sda5 partition created after /dev/sda1, because the sda1 partition require continuous block, so that we need delete partition sda2 and sda5 before sda1 expansion.

Action done:

We deleted sda2 and sda5 then expend sda1 successfully. But it seems some meta data corrupted before, the VM cannot boot after the first sda1 expansion.

Then we restore the VM from snapshot backup, and tried deleted sda2 and sda5, extend sda1 again, this time the sda1 extend successfully. VM can bootup successfully too.

We do NOT recommend creating partition after sda1, because if you need extend sda1 next time, you will need delete those partition again for sda1 extending. 

Current VM status


Updated on: 31/01/2023

Updated on: 01/07/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!