Hyperdisk pools overview

This document discusses the features and benefits ofHyperdisk pools in Compute Engine and how to choose the rightpool for your workloads.

You can simplify disk management and reduce costs withHyperdisk pools. Hyperdisk pools let you purchasecapacity and performance in bulk instead of for individual disks. You can thencreate disks in the pool to consume the purchased resources.Disks that are in a pool can be used as boot disks and datadisks for your instances and containers.

Compute Engine offers two types of pools:

Note: Hyperdisk Exapools are generally available with an allowlist. To getaccess to this feature,contact your account team.

When to use pools

Pools help reduce costs and simplifyresource forecasting and disk management, especially in the followingscenarios:

  • Migrating from on-premise SAN: poolshelp simplify and shorten the transition to Google Cloud by avoidingcomplex per-disk capacity and performance forecasting.
  • Combating underutilization: disks are frequently provisioned forpeak performance, which can lead to waste. Withpools, you can use thin provisioning to allocateresources as needed.
  • Higher costs and complex disk management:pools are designed to avoid the downtime requiredto resize disks when performance or capacity needs increase, while stillreducing the total cost of ownership. This reduces the complexity ofmanaging hundreds or thousands of individual disks.

Benefits of pools

Hyperdisk pools offer the following benefits:

  • Simplified cost management: predict billing more accurately based on thepool's provisioned resources rather than individual disks.
  • Shared performance: share the provisioned performance across all disksin a pool, so you don't have to purchase performance foreach disk.
  • Increased efficiency and resource utilization:
    • Allocate resources to your disks on an as-needed basis withthin provisioning,lowering costs and reducing waste.
    • Provision disks for their peak performance needs and still avoidpaying for unused resources.
    • Reduce underutilization by measuring a pool'sconsumed capacity based on data written to its disks, not the disks'provisioned capacity.
    • Use data reduction strategies to more efficiently store data on disks,lowering costs.
  • Flexible disk management: increase or decrease the capacity of thepool instead of resizing individual disks.

How pools work

A pool is a pre-purchased collection ofHyperdisk resources—capacity, throughput, and IOPS—within a zone. You use thepools' purchased resources when you create individual disks within thepool. You allocate some of thepool's resources to each new disk.You don't pay for each individual disk's provisioned capacity or performance,only what was purchased for the pool.When you delete a disk in a pool, its allocated resourcesare returned to the pool for use by other disks.

How to choose a pool type

Compute Engine offers Hyperdisk Storage Pools and Hyperdisk Exapools. The typeof pool that you use depends on the scale of your workload.

Supported Hyperdisk types for pools

When you create a pool, you specify aHyperdisk type for the pool. All the disksin the pool must be the same Hyperdisk type.Hyperdisk Exapools and Hyperdisk Storage Pools supportthe following Hyperdisk types:

To learn about the differences between Hyperdisk types, seeChoose a Hyperdisk type.

Provisioning types for pools

When you create a pool, you select provisioningtypes for capacity and performance. The provisioning type you that you selectdetermines which pool features are available. Hyperdisk poolsoffer the following provisioning types:

A pool that uses advanced capacity provisioning isreferred to as anadvanced capacity pool, while apool that uses standard capacity provisioning is referred toas astandard capacity pool.

For Hyperdisk Storage Pools, you can use standard or advanced capacityprovisioning. You can also combine different provisioning types for capacity andperformance. For example, you can create a Storage Pool that uses advancedprovisioning for capacity and standard provisioning for performance.

For Hyperdisk Exapools, you can use only advanced provisioning for capacityand performance.

Standard and advanced capacity provisioning

Advanced provisioning offers cost savings, more flexible disk management,and more efficient consumption of pool resources thanstandard provisioning. Disks in a standard capacity pooldon't offer any additional cost-saving features.

The following table highlights the differences between standard capacityand advanced capacity provisioning.

FeatureStandard capacityAdvanced capacityBenefit of advanced capacity
Capacity consumptionBased on provisioned capacity at creationBased on actual bytes written (post-data reduction)Higher efficiency: you pay only for what you use in the pool, and not what's provisioned to the disks. Reduces wasted space.
OverprovisioningNot availableTotal disk capacity can exceed the pool's capacitySimplified capacity planning and disk management: provision disks for peak future needs without paying for it upfront. Avoids the downtime associated with frequent disk resizing.
Pool resize conditionSum of provisioned disk capacities reaches pool capacityActual written data (post-reduction) reaches pool capacityImproved capacity utilization: pool capacity is usable until it's filled with data, not just allocated to disks.
Autogrow supportNot availableAvailable for Storage Pools (at 80% utilization); not available for ExapoolsProactive management: prevent out-of-space errors by automatically adding capacity based on write volume.
Cost basisSum of capacity provisioned to individual disksTotal performance provisioned for the poolLower costs: lower your overall cost by provisioning for initial estimated consumption.

Standard capacity provisioning

Standard capacity provisioning is the best option for workloads with any of thefollowing properties:

  • The main goal is to simplify capacity planning and cost management.
  • The capacity requirements for each disk are fixed.
  • Disks are created and deleted frequently. Withpools, you only need to purchase capacity once andthe disks can be created and deleted as needed.

Disks in pools that use standard capacityprovisioning have the following properties:

  • Capacity consumption is measured based on how much is provisioned, nothow much data is written to the disk. For example, if you create a1 TiB disk in a pool with standard capacity, thepool's available capacity is reduced by 1 TiB, evenif the disk doesn't contain any data.
  • A pool that uses standard capacity provisioning isconsidered full if all the provisioned capacity has beenallocated todisks within the pool. You can't provision any morecapacity to the disks or create new disks. You must provision more capacityto the pool or delete some disks. This is true even ifall the disks are blank.

Advanced capacity provisioning

Disks in an advanced capacity pool consume capacitydifferently than disks in a standard capacity pool anddisks that aren't in a pool.

Disks in pools that use advanced capacityprovisioning have the following features:

Overprovisioning capacity

Overprovisioning capacity lets you provision the disks for their peak capacity,without provisioning the pool for the total combinedcapacity of the disks. This lets you generously provision performance for thedisks, reduce costs, and avoid downtime from resizing.

The total provisioned capacity of the disks depends on the typeof pool and its provisioned capacity. ForHyperdisk Storage Pools, the overprovisioning limit is 5xthe pool's provisioned capacity. ForHyperdisk Exapools, the overprovisioning limit is 50x thepool's provisioned capacity. Each disk can consume upto its provisioned performance and capacity. However, the cumulative consumptionacross all the disks in the pool can't exceed thepool's provisioned capacity.

Thin provisioning for capacity

Capacity is allocated to disks as needed, and not when the disk is provisioned.Thus, the pool isn't full when all the provisioned spacehas been allocated to disks. The pool is full when all theprovisioned space has been utilized by written data.

Data reduction

To reduce the space used by written data, Compute Engine applies datareduction strategies to the data your applications write to reduce the datawritten to the disks.

Autogrow for advanced capacity pools

If Compute Engine detects that 80% of an advanced capacitypools's provisioned capacity is utilized,Compute Engine attempts anautogrow, an increase of the provisionedcapacity of the pool.

Note: Autogrow isn't attempted when the total capacityprovisioned to thedisks in the pool reaches or exceeds 80% of thepool's capacity. Rather, autogrow is attempted when thedata written to all disks in the pool reaches or exceeds80% of the pool capacity.

If autogrow fails and the pool's capacity is fully used bywritten data, then writes to all the pool's disks will failuntil you perform one of the actions:

  • Increase the pool's provisioned capacity.
  • Delete disks in the pool.
  • Delete data on disks in the pool.

If you delete data on disks in the pool to free up space,keep in mind the following:

Compare capacity provisioning types

For the following examples, suppose you have two Hyperdisk Throughput Storage Pools,std-poolandadv-pool, that are provisioned with standard capacity and advancedcapacity provisioning, respectively. Each pool isprovisioned with 100 TiB of capacity.

Overprovisioning capacity example

Because of overprovisioning, the maximum cumulative capacity of all the disks inadv-pool is 500 TiB, but only 100 TiB forstd-pool.

Thin provisioning capacity example

Suppose you create one blank 20 TiB disk in each pool.Because of thin provisioning, the consumed capacity foradv-pool, or how muchdata has been written to all the disks in the pool, is 0.This is because the disk you created is blank. Forstd-pool, the blank diskconsumes 20 TiB of capacity. Using advanced capacity provisioning, yourapplications can write more data before you have to increase the capacity ofthe pool.

Capacity consumption example

Suppose you write 500 GiB of data to the disks in eachpool.adv-pool still has 99.5 TiB of free space fornew data, whilestd-pool has 80 TiB of space. This is becauseforadv-pool, data consumption is based on usage, not provisioned capacity.

Increasing capacity example

If an advanced capacity pool's consumed capacityapproaches its maximum, you can increase the pool's capacitywithout resizing individual disks. For example, consider the following scenario.

  • The capacity ofadv-pool is 100 TiB, but it contains 50 5 TiBdisks, for a total provisioned capacity of 250 TiB.
  • Each disk writes 1 TiB of data.
  • Your application's demand indicates that each disk will write anadditional 3 TiB of data, and the anticipated total capacity is now200 TiB.
  • The pool's actual capacity is 100 TiB and only has50 TiB capacity remaining.

Withadv-pool, you can increase the pool's capacity to500 TiB without resizing the individual disks since they are allprovisioned to 5 TiB.

Withstd-pool, you'd have to increase both the capacity of thepool and each individual disk.

Standard and advanced performance provisioning

When you create a pool, you must choose a provisioningtype for performance. The provisioning type you choosedetermines which pool features are available.

For Hyperdisk Storage Pools, you can can choose standard or advanced performanceprovisioning. You can also combine different provisioning types for capacity andperformance. For example, you can create a pool that usesadvanced provisioning for capacity and standard provisioning for performance.

For Hyperdisk Exapools, you can use onlyadvanced performance provisioning.

The following table highlights the differences between standard performanceand advanced performance provisioning.

FeatureStandard performanceAdvanced performanceBenefit of advanced performance
Pool consumptionBased onprovisioned IOPS or throughputBased onused IOPS or throughputMore efficient use of provisioned pool performance: provision for aggregate use, not for peak performance of each disk.
Performance sharingNot supportedDisks share the pool's performance resourcesImproved utilization: performance not used by idle disks is available for active disks.
OverprovisioningNot supportedTotal disk provisioned performance can exceed the pool's provisioned performanceSimplified performance planning and disk management: provision disks for peak future needs without paying for it upfront. Avoids frequent disk performance updates.
Risk of contentionLow risk; ideal for correlated peaksHigher risk; contention is possible if many disks peak simultaneouslyLower costs: enables cost savings and efficiency when disks don't simultaneously require peak performance
Cost basisSum of performance provisioned to individual disksTotal performance provisioned for the poolLower costs: provision for the expected aggregate peak usage rather than the sum of individual disk peaks

Standard performance provisioning

Standard performance provisioning is the best option for workloads with any ofthe following properties:

  • Workloads that can't succeed if performance is limited bypool resources.
  • Workloads where the disks in the pool are likely to havecorrelated performance spikes, for example, data disks for databases thatare at peak utilization every morning.

Disks in a standard performance pool have the followingproperties:

  • Performance consumption is measured based on how much is provisioned tothe disk, and not how much performance the disk is actively consuming.For example, if you provision a diskwith 500 MiB/s of throughput in a standard performancepool, the pool's availableperformance is reduced, even if the disk is idle.
  • If all the pool's performance has beenprovisioned to disks within the pool, you can'tcreate new disks in the pool or add more performance to existing disks. Thisis true even if all the disks are idle. To create new disks, you mustprovision more performance to the pool, reduce theprovisioned performance of some disks, or delete some disks.

Advanced performance provisioning

Advanced performance pools are suited for disks thatdon't have correlated peak usage times. Disks in pools that use advanced performance provisioning have the following properties:

Overprovisioning for performance

Overprovisioning lets you provision the disks for their peakperformance, without provisioning the pool for the totalcombined performance of the disks. Each disk can consume performance up to itsprovisioned limit. However, at any moment, the total concurrent performance ofthe pool can't exceed the pool'sprovisioned performance.

For Hyperdisk Storage Pools, the overprovisioning limit is5x the pool's provisioned performance.For Hyperdisk Exapools, the overprovisioning limit is50x the pool's provisioned write performance.

Thin provisioning and shared performance

Performance is allocated to disks as needed, not when the disk isprovisioned. Also, the disks in an advanced performance poolcan share its provisioned performance, up to the provisioned performance limitfor each disk. This can provide cost savings for disks that have different peakusage times.

Autogrow for pool performance

Note: Hyperdisk Exapools don't support autogrow.

The disks in an advanced performance pool can contend witheach other for performance resources if the total performance they consume atthe same time reaches the pool's provisioned performance.

Contention for performance means that the disks might not achieve their maximumprovisioned performance. If Compute Engine detects contention for performanceresources for a prolonged period of time,Compute Engine attempts to automatically add performance to thepool.

Autogrow isn't attempted when the total performanceprovisioned to thedisks in the pool is 80% or more of thepool's performance. Rather, autogrow is attempted when thedisks are consuming 80% or more of the pool's performanceat the same time.

When using advanced performancepools, you should:

  • Monitor your pools to avoid running out ofprovisioned performance.
  • Understand how your workload responds if it runs out of provisionedperformance.

Compare performance provisioning types

For the following examples, suppose you're designing a workload with1,000 disks, where each disk needs to be provisioned with 10,000 IOPS, and youneed to choose a performance provisioning type.

Overprovisioning for performance example

Suppose that the cumulative performance requirement for all the disks is10,000,000 IOPS.

For a standard performance pool, you mustprovision and pay for 10,000,000 IOPS.

For an advanced performance pool, you can provisionit with 1,000,000 IOPS. Because the pool supportsoverprovisioning, you can provision each disk with 10,000 IOPS for a total of10,000,000 IOPS. However, you only pay for the 1,000,000 IOPS provisioned forthe pool.

Shared performance example

Suppose that even though each disk needs 10,000 IOPS, they peak atdifferent times. You determine that disks in the poolneed up to 1,000,000 IOPS at any given time.

For a standard performance pool, you have toprovision and pay for 10,000,000 IOPS (10,000 IOPS per disk), even though thedisks never need more than 1,000,000 IOPS at a time.

For an advanced performance pool with 1,000,000IOPS, the disks can share the pool's performance. Since thedisks have different performance peaks, they can simultaneously consumeup to 1,000,000 IOPS, even though the total provisioned performance is10,000,000 IOPS.

Pricing

You're billed for Hyperdisk pools based on the capacity andperformance you purchased for the pool. You aren't billed forthe provisioned IOPS, throughput, or capacity for the disks created in thestorage pool.

Hyperdisk Exapools are eligible for resource-based committed usediscounts (CUDs) with a minimum 1-year or up to3-year commitment. When you purchase a 1- or 3-year Exapool,you automatically qualify for resource-based CUDs in 1- or 3-year commitments.

Hyperdisk Storage Pools aren't eligible for CUDs or sustained use discounts (SUDs).

For more information, seeDisk pricing.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-19 UTC.