How to increase harddisk size of Azure VM
Solution 1
If your Virtual Machine was created using the Azure Resource Manager (ARM) you can resize the OS disk or the data disk within the new Azure Portal.
- Navigate to the Azure Resource Manager Virtual Machine that you want to resize the disk(s).
- Shutdown the Virtual Machine from the Azure portal. Wait untill it's completely shutdown (de-allocated).
- Select ‘Disks’ in the Settings blade (As in the below image).
- Select the OS or Data disk that you would like to resize.
- On the new blade, enter the new disk size (1023GB or 1TB max per disk) (As in the below image).
- Hit ‘Save’ on top.
- Start the Virtual Machine again.
That’s it! You can login to the VM and check that you have the new selected size for the disk(s).
Solution 2
So basically follow this article: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/expand-disks
az vm deallocate --resource-group myResourceGroup --name myVM
az disk list \
--resource-group myResourceGroup \
--query '[*].{Name:name,Gb:diskSizeGb,Tier:accountType}' \
--output table
az disk update \
--resource-group myResourceGroup \
--name myDataDisk \
--size-gb 200
az vm start --resource-group myResourceGroup --name myVM
for unmanaged disks:
https://blogs.msdn.microsoft.com/cloud_solution_architect/2016/05/24/step-by-step-how-to-resize-a-linux-vm-os-disk-in-azure-arm/
Solution 3
According to your description, I test in my lab, I test on Red Hat Enterprise Linux Server release 7.3 (Maipo)
.
Notes: When you don it, I strongly suggest you could backup your OS VHD. If you do fails, you could not start your VM.
1.Stop your VM on Azure Portal.
2.Increase OS disk with Azure CLI.
az vm update -g shui -n shui --set storageProfile.osDisk.diskSizeGB=100
3.Start your VM and ssh to your VM. You could check df -h
and fdisk -l
. /dev/sda2
does not increase to 100GB. You need do as the following commands.
sudo -i
[root@shui ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001461e
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 3917 30944256 83 Linux
Command (m for help): u
Changing display/entry units to sectors
Command (m for help): p
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001461e
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 1026048 62914559 30944256 83 Linux
Command (m for help): d
Partition number (1-4): 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (63-104857599, default 63): 64
Last sector, +sectors or +size{K,M,G} (64-1026047, default 1026047):
Using default value 1026047
Command (m for help): p
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001461e
Device Boot Start End Blocks Id System
/dev/sda1 64 1026047 512992 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 1026048 62914559 30944256 83 Linux
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@shui ~]# fdisk -l /dev/sda
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001461e
Device Boot Start End Blocks Id System
/dev/sda1 1 64 512992 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 3917 30944256 83 Linux
4.Reboot your VM
5.SSH to your VM and resize the filesystem.
xfs_growfs -d /dev/sda2
Now, you could check your OS disk with df -h
[root@shui ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 100G 1.7G 98G 2% /
Galet
Updated on June 05, 2022Comments
-
Galet almost 2 years
I am using Azure VM which is of type RHEL OS type. Currently I am using Standard D3 v2 size VM. I see only 32 hard disk storage available in VM. How do I increase the size of hard disk?
Filesystem Size Used Avail Use% Mounted on /dev/sda2 32G 32G 185M 100% / devtmpfs 6.9G 0 6.9G 0% /dev tmpfs 6.9G 0 6.9G 0% /dev/shm tmpfs 6.9G 8.4M 6.9G 1% /run tmpfs 6.9G 0 6.9G 0% /sys/fs/cgroup /dev/sda1 497M 117M 381M 24% /boot /dev/sdb1 197G 2.1G 185G 2% /mnt/resource tmpfs 1.4G 0 1.4G 0% /run/user/1000
Note: I am using unmanaged disk.