Azure disk reservations: reserve last, after you stop paying for empty space

What a managed disk is charged for, why you keep paying for the space you bought, and how to pay for your data instead.

Published 21 October 2026 · Updated 1 November 2026 · By Sheldon Julius (opens in a new tab), Sales engineer, Zoorik

Azure disk reservations: disks charged in full become one pool sized to data

Short answer. An Azure disk reservation covers only Premium SSD from P30 to P80, for a one-year term, and it comes last, once disk sizes are settled. First stop paying for empty space: a managed disk is charged hourly on the size you provision, whatever it holds. Premium SSD v2 also charges for IOPS and throughput above a free baseline. Delete unattached disks, set raised performance back, then size disks to the data. Azure grows a disk in place but never shrinks it, so that last step takes a copy or a pool that resizes.

A managed disk is charged for its size, every hour

Picture a VM with four 512 GiB data disks holding 1,000 GiB of data. Azure charges for all four in full, every hour.

A managed disk is charged on its provisioned size, which Azure rounds up to the nearest offered disk size. A 200 GiB Standard SSD is therefore charged as an E15, the 256 GiB tier.

The charge is prorated hourly from the monthly price. Microsoft’s pricing page says you’re charged the same rate for your provisioned disk regardless of how much of the disk space is being used.

More than half of the 2,048 GiB you pay for holds no data One bar, drawn to scale, for four 512 GiB data disks, 2,048 GiB in all, all of it charged every hour. A violet segment is the data, 1,000 GiB or 49% of the bar. An amber segment is empty, 1,048 GiB or 51%, more than half of what you pay for. More than half of the 2,048 GiB you pay for holds no data charged every hour: 2,048 GiBfour 512 GiB data disksdata, 1,000 GiB (49%)empty, 1,048 GiB (51%)
An example VM, drawn to scale: four 512 GiB data disks holding 1,000 GiB, charged in full every hour.

Azure disk sizes are named by type letter and number: P for Premium SSD, E for Standard SSD, S for Standard HDD. A 512 GiB Premium SSD is a P20, charged as one whether it holds 500 GiB or 5 GiB. On top of capacity, each type adds its own meters, and snapshots are charged separately.

Disk typeWhat you’re charged forReservation discount
Premium SSD
Its size tier, P1 to P80 (4 GiB to 32,767 GiB), or a higher performance tier you select. On-demand bursting adds an hourly flat fee and burst transactions.
P30 to P80, one-year term
Standard SSD
Its size tier, E1 to E80, plus transactions counted in 256 KiB units, capped per disk per hour
None
Standard HDD
Its size tier, S4 to S80, plus transactions counted in 16 KiB units, charged per 10,000 and capped per disk per hour
None
Premium SSD v2
Every GiB provisioned (1 GiB to 64 TiB), plus IOPS above 3,000 and throughput above 125 MB/s
None
Its provisioned capacity (4 GiB to 64 TiB), plus the IOPS and throughput you set
None

Why disks grow in place but never shrink

Every expansion is one-way. A migration, a bulk import or a log spike fills a disk. Someone expands it a tier, say from a P30 (1,024 GiB) to a P40 (2,048 GiB).

The data later goes back down, and the tier and its charge stay where the peak left them.

After a spike, you keep paying for the peak's tier Illustration on a time axis with no units and three events in order: bulk import, disk expanded, data falls back. The charged size is P30, 1,024 GiB, until the disk is expanded, then steps up to P40, 2,048 GiB, and stays there to the right edge, labelled no shrink: still charged as P40. A violet data line climbs toward 1,024 GiB during the import, passes it after the expansion, then falls back below 1,024 GiB, under a dashed line that carries the P30 size on to the right edge. From there on, the amber band between the P30 size and the P40 charged size is labelled charged above P30. The data line carries no values. After a spike, you keep paying for the peak's tier P30 sizecharged sizeP30, 1,024 GiBP40, 2,048 GiBno shrink: still charged as P40charged above P30databulk importdisk expandeddata falls backtime
Illustration: the data line is a shape, not a measurement, and the tier sizes are Premium SSD’s P30 and P40.

Growing is routine. You can expand a managed data disk without deallocating the VM, then grow the partition and the filesystem inside it.

On Standard HDD, Standard SSD and Premium SSD, a disk of 4 TiB or less is the exception. To grow it past 4 TiB, you must detach it and deallocate the VM first.

Shrinking is the direction Azure doesn’t offer. Microsoft Learn says shrinking an existing disk “isn’t supported and might result in data loss.”

The levers, one at a time

To reduce Azure disk costs, take the levers in order, and reserve last, once sizes are settled.

Delete the disks nobody uses

When you delete a VM, its disks stay by default, and Microsoft notes that you continue to pay for unattached disks. An unattached disk has a null managedBy property. This lists their IDs in the current subscription:

az disk list --query '[?managedBy==`null`].[id]' -o tsv

Deleting a disk deletes its data, so snapshot any disk you might need first. An empty disk that was never attached or uploaded to isn’t charged for storage, because Azure hasn’t allocated its storage yet. To search every subscription at once, see finding unattached disks in Azure.

Set raised performance back

Look for performance settings raised for a launch or a load test and left there:

  • Performance tiers. Some Premium SSD sizes can run at a performance tier above the one their size sets. Microsoft then charges that tier’s price until you change it back.
  • On-demand bursting. Available only on P30 and larger disks, it stays off until you enable it. Once enabled, it adds an hourly burst enablement fee plus transaction costs for bursts above the provisioned target.
  • Premium SSD v2 performance. Raising IOPS above 3,000 or throughput above 125 MB/s raises the price, and you can change a disk’s performance four times in 24 hours.

Match each disk type to its workload

Azure positions Standard SSD for web servers, lightly used enterprise applications, and development and test environments. It positions Premium SSD for production workloads that need high performance and low latency.

Moving a disk between Premium SSD, Standard SSD and Standard HDD requires a VM restart, so plan it for a maintenance window. You can change a disk’s type twice per day.

Premium SSD v2 charges for capacity, IOPS and throughput separately. Microsoft describes it as offering higher performance than Premium SSD “while also generally being less costly.” It can’t be an OS disk or use host caching, and in most regions with availability zones it attaches only to zonal VMs.

Keep snapshots incremental

Snapshots are charged on the used size: a full snapshot of a 500 GiB disk holding 50 GiB is charged for 50 GiB. Full snapshots can sit on Premium SSD storage. Incremental snapshots always sit on Standard HDD storage and hold only the differences since the last snapshot, which Microsoft calls more cost efficient.

Size each disk to its data

Compare each disk’s size with what its filesystem uses. Inside a Linux VM, df -Th shows each mounted filesystem with its type, size and used space. The only route to a smaller disk is a copy and a switch, and the steps are in Can you shrink an Azure managed disk?.

Azure Premium SSD reservation: P30 to P80, one year, one disk size

Azure disk reservation pricing is available for one disk type, Premium SSD from P30 (1 TiB) to P80 (32 TiB), with a one-year term. The managed disks pricing page lists the one-year reserved price per tier, and the portal shows the discount over pay-as-you-go when you buy.

A reservation is bought per disk SKU. In Microsoft’s own example, a P40 reservation doesn’t pay for two P30 disks, even though 2 × 1,024 GiB adds up to the P40’s 2,048 GiB.

Are Azure disk reservations worth it?

The discount applies hourly, and unused reserved capacity doesn’t carry over. A reservation doesn’t renew automatically, though it can be exchanged or refunded within the limits Azure sets.

How to estimate Azure managed disk cost

The Azure pricing calculator doubles as an Azure disk cost calculator, and lists the product as Managed Disks under Storage. To use it:

  1. Price each disk at the tier it’s charged at, not its provisioned size. The 200 GiB Standard SSD from earlier is an E15.
  2. Add each meter beyond capacity:
    • Transactions on Standard SSD and Standard HDD.
    • IOPS and throughput on Ultra Disk, and above the free baseline on Premium SSD v2.
    • On-demand bursting, where enabled.
    • Snapshots, at their used size.
  3. Use your region’s price on the day you plan, because Azure disk pricing differs by region and changes over time.

Our Azure disk pricing calculator shows one disk’s monthly list price and what its empty space costs.

To compare Azure managed disk pricing per TB, divide each tier’s monthly price by its size. The tiers double from one to the next: P30 is 1,024 GiB, P40 is 2,048 GiB and P50 is 4,096 GiB. So a disk just past a boundary pays for nearly twice the space it asked for.

Premium SSD v2 has one capacity rate per GiB. Its cost per TiB is that rate times 1,024, before any performance above the baseline.

How Amoeba rightsizes data disks to the data

Amoeba, Zoorik’s block storage optimization, keeps block storage sized to your data as the data changes. It works on the data disks of running VMs: Azure managed disks and Amazon EBS volumes, on Windows and Linux VMs. It never touches the OS disk or root volume.

Amoeba moves a VM’s data disks onto one pool sized to your data, grows it before it fills, and shrinks it one disk at a time when your data goes down and stays down. Azure managed disk cost optimization covers Amoeba on Azure in full.

Block storage cost optimization with Amoeba Estimate your saving

Find your own number

One line in your cloud console. One PDF report with your estimated saving at list price.

Estimate your saving
Talk to the builders

Thirty minutes with the people who build Amoeba.

Book a demo (opens in a new tab)

Or write to founders@zoorik.com