Azure Storage Pools

Azure Storage Pools allow you to combine multiple managed disks into a single storage pool, aggregating their size and performance. This can provide performance benefits and cost savings by using multiple smaller disks instead of a single large disk. Storage Pools use simple (RAID 0) configuration and do not support parity (RAID 5).

Core Functionality

  1. Aggregation of Disks: Combine multiple managed disks to aggregate their size and performance.
  2. Performance Benefits: Achieve higher IOPS and throughput by using multiple disks compared to a single large disk.
  3. Cost Savings: Optimize costs by using multiple smaller disks instead of a single larger disk.
  4. Simple Configuration: Uses a simple (RAID 0) configuration without parity support.
  5. Scalability: Easily expand storage pools by adding more disks without downtime.

You can combine multiple managed disks together in a storage pool to aggregate the size and performance of the disks which can give you a performance benefit for similar expense of a single disk of the same size. In addition as you generally need to go to larger disks to get a performance increase there is an opportunity to save costs by multiplying many cheaper and smaller disk together rather than choosing a single larger disk.

Based on a test using DISKSPD the IOPS and throughput values appear to sum together if using multiple disks, for example a single disk achieved a little over the 500 IOPS cap but when four disks are tested they achieve four times that at 2,121 IOPS and the same goes for throughput where the test pushed 2 MB/second of data with a single disk fours disks pushed 8 MB/second.

A storage pool uses simple (RAID 0) and does not support a parity setup (RAID 5) and in Azure each “disk” is actually stored in a BLOB in Azure Storage, which is replicated three times within the data center. It isn’t necessary to use any kind of disk resiliency.

Pricing

Azure Storage Pools themselves do not incur additional costs, but the pricing depends on the managed disks used in the pool. Costs are based on the size and performance tier of the disks.

Example difference between a single disk versus a pool

Using the PAYG model each managed disk offering has different size and performance options you can choose from to balance cost and performance requirements. The table below shows the Premium SSD disk offerings.

Disk SKUSize in GiBProvisioned IOPSProvisioned MBps
P1412025
P2812025
P31612025
P43212025
P66424050
P10128500100
P152561100125
P205122300150
P3010245000200
P4020487500250
P5040967500250
P60819216000500
P701638418000750
P803276720000900

If you require a 4TiB disk you could choose a P50 which alone comes with 7500 IOPS and 250 MBps throughput. But by combining four P30 disks you achieve the same storage footprint of 4TiB but maximise the performance by combining the IOPS and throughput values togheter to achieve 20,000 IOPS and 800MBps.

1 x P50 4096GiB = 7,500 IOPS & 250MBps

4 x P30 (1024 GiB x 4) 4096GiB = (5000 IOPS x4) 20,000 IOPS & (200 MBps x 4) 800MBps

Example of performance increase for same cost

Storage required is 128 GiB but IOPS needs to burst beyond the 500 IOPS cap for end of day processing.

Disks quantityTypeSize of each diskTotal storageDisk SKUMax IOPS per diskMax throughput per diskDISKSPD test IOPSDISKSPD test ThroughputPrice per month per diskPrice per month total
1xStandard SSD128 GiB128 GiBE1050060 MB/second5592 MB/second$9.60$9.60
4xStandard SSD32 GiB128 GiBE450060 MB/second2,1218 MB/second$2.40$9.60

Example of cheaper costs using multiple smaller disks to achieve a higher IOPS

Storage required is 512 GiB but IOPS needs to run normally at higher rate than 500 IOPS.

Disks quantityTypeSize of each diskTotal storageDisk SKUMax IOPS per diskMax throughput per diskDISKSPD test IOPSDISKSPD test ThroughputPrice per month per diskPrice per month total
1xStandard SSD8 TiB8 TiBE602,000400 MB/second2,000400 MB/second$614.40$614.40
4xStandard SSD128 GiB512 GiBE1050060 MB/second2,000240 MB/second$9.60$38.40

Considerations and limits

If using storage pools for a SQL workload then consider it best practice to create seperate storage pools for the data and logs and not to create one big storage pool and chop it up. This means you can follow best practice and optimise the read-only cache. Disks in the data pool should be using read-only caching but the disk on the log pool should be set to none.

It is important to understand that like disk offerings VM offerings also come with various assocciated performance options that mean lower price and less performance or the opposite. This applies to what storage a VM can consume.

VM disk quanity limits

A VM SKU will have a maximum number of managed disks that can be allocated to it for example, a Standard_D2s_v3 can have a maximum of 4 managed disks.

VM disk throughput and IOPS limits

There is also a limit on storage performance for each VM type. So you could have the most optimized storage pool with fantastic IOPS and MBps throughput but if the VM using it cannot consume the performance it will be capped at the VM limit. For a Standard_D2s_v3 the maximum uncached IOPS is 3200 and throughput is 48MBps.

image

References


Last modified February 19, 2025: Update azure-point-to-site-vpn.md (a9c807a)