Hyperdisk Storage Pools can be used with Compute Engine for large-scale storage. A Hyperdisk Storage Pool is a pre-purchased collection of capacity, throughput, and IOPS which you can then provision to your applications as needed. You can use Hyperdisk Storage Pools to create and manage disks in pools and use the disks across multiple workloads. By managing disks in aggregate, you can save costs while achieving expected capacity and performance growth. By using only the storage you need in Hyperdisk Storage Pools, you reduce the complexity of forecasting capacity and reduce management toil by going from managing hundreds of disks to managing a single storage pool.
Storage pools include the following benefits:
Data on individual disks in a storage pool maintain the same isolation they would have if the disks were not created in a storage pool.
When to use storage poolsYou can use storage pools to solve these problems:
Difficulty planning the resource requirements when migrating workloads from on-premise workloads that use a SAN to Google Cloud
Estimating the performance and capacity needs of each application is time consuming and error-prone, and can add weeks to a cloud migration or application rollout.
With Hyperdisk Storage Pools, you can create disks in the storage pool using an overestimation of the capacity or performance needed, and then consume from the storage pool only the amount of disk space that you write data to or the IOPS or throughput your workload uses.
Underutilization of resources
Ensuring that your volumes are well utilized can be complex and painfully difficult. Block storage is frequently underutilized because you provision for peak capacity and performance needs to avoid outages or performance slowdowns. However, many applications rarely achieve those peaks. With thin-provisioned capacity and performance, and data reduction, Hyperdisk Storage Pools make it easier to increase your block storage utilization while simplifying your operations.
Complex management of the block storage used by your workloads
Managing hundreds or even thousands of disk volumes is time consuming and takes resources away from delivering new innovation.
When you create disks for your Compute Engine instances in a storage pool, you can specify a size or performance limit that is much larger than you expect the workload to use. As your workloads write to the disks, space and performance resources are taken from the storage pool provisioned capacity and performance. Only the amount of block storage resources that you use is subtracted from the storage pool provisioned capacity and performance, not the amount that you provisioned when creating the disks. The disk size and performance you specify when creating the disks in the storage pool acts as an upper limit on those resources. As a result, you only need to modify the size or provisioned performance for a disk if that limit is reached.
If you create disks in the storage pool, and your workload exceeds your capacity and performance planning across several disks, you can add more capacity or performance to the storage pool. The additional capacity and performance can be used by all the disks created in the storage pool.
Storage pools have the following features:
You create a storage pool with the aggregate capacity and performance that your workloads will need, and then create disks in the storage pool. You can then attach the disks to your VMs. When you create the disks, you can create them with a much larger size or provisioned performance limit than is needed. This simplifies planning and provides room for growth later, without necessitating changing the disk's provisioned size or performance at a later date.
If your workloads grow and your disks need more capacity or performance, you can increase the provisioned capacity and performance of the storage pool. The amount of disk space or performance used by the individual disks in the storage pool can then increase up to the limit you specified when you created the disk. By creating the disks in an Advanced capacity or Advanced performance storage pool with a much larger size or performance limit initially, and allocating additional space and performance through the storage pool, you consolidate disk storage management and reduce costs.
If an Advanced capacity storage pool reaches 100% utilization and there is no free space left in the storage pool, writes to all disks in the storage pool fail until you reduce the used space in the storage pool by deleting data or disks. Most commercial software interprets the errors returned when the pool space is exhausted in a manner similar to hardware failures.
It's important that you actively manage and monitor your storage pool to avoid out of space errors. You should also understand how your workload will respond if it encounters an out of space error for a disk in a storage pool.
When the aggregate performance utilization of all the disks in the storage pool reaches the total amount of performance provisioned for the storage pool, the disks can encounter performance contention. If contention for performance resources is detected in an Advanced performance storage pool for any disks in the pools, then the auto-grow feature attempts to automatically increase the IOPS available to disks in the storage pool to prevent performance issues.
Provisioning types for Hyperdisk Storage PoolsWhen creating a Hyperdisk Storage Pool, you can configure it with either standard or advanced provisioning for capacity and performance.
Standard capacity storage poolsWith Standard capacity provisioning, you create disks in the storage pool until the total provisioned capacity of all disks in the storage pool reaches the storage pool's provisioned capacity. Disks in a Standard capacity storage pool consume capacity similarly to non-storage pool disks.
Advanced capacity storage poolsDisks in an Advanced capacity storage pool consume capacity differently than disks in a Standard capacity storage pool and non-storage pool disks. Advanced capacity storage pools offer thin-provisioning and data reduction for capacity, enabling you to provision disks with more capacity than you have purchased. Disks in an Advanced capacity storage pools consume capacity based only on the number of bytes written to your disks after data reduction, which means you can provision more capacity to your end users and applications than you have purchased in your storage pool.
With Advanced capacity, you create disks in the storage pool where the cumulative size of all the disks can exceed the provisioned capacity of the storage pool by up to 500%. The used capacity of the storage pool is defined by the amount of data written and not by the amount of provisioned disk capacity.
You can fill disks in an Advanced capacity storage pool up to their provisioned size as long as the data written to all disks in the storage pool doesn't exceed the storage pool capacity. If the storage pool utilization reaches 80% of the pool provisioned capacity, the auto-grow feature attempts to automatically add capacity to the storage pool. If the storage pool's capacity is fully used, then writes to all storage pool disks will fail until you delete data or delete disks to lower the used capacity of the storage pool. Most software applications interpret the errors returned when the pool space is exhausted in a manner similar to hardware failures, so it's important to both:
Storage pools don't have visibility into your file system, so deleted data is considered to still be in use until your operating system (OS) marks it unused with a DISCARD
or TRIM
command. All Google-provided OS images are configured to do this by default, as are most common third-party OS images, but you should confirm this if you are not using a Google-provided OS image. More information on verifying or configuring this feature is available at Disable lazy initialization and enable DISCARD commands.
Standard performance provisioning is the best option for the following types of workloads:
With Standard performance provisioning, thin-provisioning isn't available. Also, disks created in a Standard performance storage pool don't share performance resources with the rest of the storage pool. The aggregate amount of performance of all disks created in the storage pool can't exceed the total provisioned IOPS or throughput of the storage pool.
When creating the storage pool, you provision enough performance in the storage pool to cover the combined peak performance needs of all the disks in the storage pool. When you create disks in the storage pool, you provision an amount of performance that covers the peak performance requirements of that disk. You can continue creating disks in the storage pool until the total provisioned IOPS of all disks reaches the storage pool's provisioned amount.
In a Hyperdisk Balanced Storage Pool with Standard performance, the first 3,000 IOPS and 140 MiB/s of throughput of each disk in the storage pool (the baseline performance) don't consume storage pool resources. When you create disks in the storage pool, any IOPS and throughput in excess of the baseline values consume IOPS and throughput from the storage pool.
Advanced performance storage poolsAdvanced performance provisioning is best suited for workloads that don't have highly correlated peak usage times. If your workloads all peak at the same time, the Advanced performance storage pool can reach the performance limits of the storage pool, resulting in contention for performance resources.
Advanced performance IOPS and throughput provisioning lets you share a pool of provisioned performance across all disks in a storage pool. The storage pool dynamically allocates performance resources as the disks in the storage pool read and write data. Only the amount of IOPS and throughput used by a disk in the storage pool consumes storage pool performance.
Because Advanced performance storage pools are thinly provisioned, you can allocate more IOPS or throughput to the disks in the storage pool than you have provisioned for the storage pool—up to 500% of the IOPS or throughput provisioned for the storage pool. For example, if you provision 100,000 IOPS for a storage pool, you could have 10 disks in the storage pool, each provisioned with 50,000 IOPS.
In a Hyperdisk Balanced Storage Pool with Advanced performance provisioning, the disks don't have baseline performance. Every read and write operation of a Hyperdisk Balanced disk in the storage pool consumes provisioned storage pool resources.
At any given moment, when the aggregate performance used by all the disks in the storage pool reaches the total amount of performance provisioned for the storage pool, the disks can contend with each other for performance resources. As a result, the disks are not able to achieve the maximum performance levels that you provisioned for the disks. When contention for resources is detected for a prolonged period of time, Compute Engine attempts to automatically add performance to the storage pool. When using Advanced performance storage pools, you should:
Example
Assume that you have a Hyperdisk Balanced Storage Pool with 100,000 provisioned IOPS.
With Standard performance provisioning:
Like disks created outside of a storage pool, Hyperdisk Balanced disks in Standard performance storage pools are automatically provisioned with up to 3,000 baseline IOPS and 140 MiB/s of baseline throughput. This baseline performance isn't counted against the provisioned performance for the storage pool. Only when you add disks to the storage pool with provisioned performance that's above the baseline does it count against the provisioned performance for the storage pool, for example:
With Advanced performance provisioning:
Disk1
) in the storage pool that has 5,000 IOPS, you don't consume any IOPS from the storage pool provisioned IOPS. However, the amount of IOPS that you can provision to new disks created in the storage pool is now 495,000.Disk1
starts to read and write data, and if it uses its maximum of 5,000 IOPS in a given minute, then 5,000 IOPS is consumed from the storage pool provisioned IOPS. Any other disks that you created in the same storage pool can use an aggregated maximum of 95,000 IOPS in that same minute without running into contention.The type of Hyperdisk Storage Pool that you create determines the type of disks that you can create in the storage pool.
You can use Hyperdisk Throughput Storage Pools to manage your Hyperdisk Throughput disk usage.
Machine type supportHyperdisk Throughput Storage Pools are supported with the same machine series that support Hyperdisk Throughput. For a list of the supported machine series, see Machine type support for Hyperdisk Throughput.
Hyperdisk Throughput Storage Pool regional availabilityHyperdisk Throughput Storage Pools can be used in any zone that offers Hyperdisk Throughput disks. For a list of the available regions, see Regional availability for Hyperdisk Throughput.
You can also check for the latest updates to the available regions and zones by using the following command:
gcloud compute storage-pool-types list --filter="name=hyperdisk-throughput"Hyperdisk Balanced Storage Pools
You can use Hyperdisk Balanced Storage Pools to manage your Hyperdisk Balanced disk usage.
In Hyperdisk Balanced Storage Pools with Standard performance provisioning, Hyperdisk Balanced disks only consume IOPS and throughput in excess of the baseline values of 3,000 IOPS and 140 MiB/s throughput per disk. For example:
There's a limit to how much baseline performance disks in Hyperdisk Balanced Storage Pools with Standard capacity, Standard performance, or Advanced capacity provisioning can consume at the same time. Compute Engine enforces a concurrent consumption limit for baseline performance for a project's Hyperdisk Balanced and Hyperdisk Balanced High Availability volumes that are in the same zone. The limits are 500,000 IOPS and 50 GiB/s of throughput. For more information, see Concurrent consumption limits for baseline performance.
Machine type supportHyperdisk Balanced Storage Pools are supported with the same machine series that support Hyperdisk Balanced. For a list of the supported machine series, see Machine series support for Hyperdisk Balanced.
Hyperdisk Balanced Storage Pool regional availabilityHyperdisk Balanced Storage Pools can be used in any zone that offers Hyperdisk Balanced. For a list of the available regions, see Regional availability for Hyperdisk Balanced.
You can also check for the latest updates to the available regions and zones by using the following command:
gcloud compute storage-pool-types list --filter="name=hyperdisk-balanced"Limits for storage pools
The following tables list the limits for the different storage pool types.
Hyperdisk Balanced Storage Pool Limit Value Maximum storage pool provisioned capacity 5 PiB Minimum storage pool provisioned capacity 10 TiB Storage capacity increments multiples of 1 TiB Maximum number of Hyperdisk Storage Pools per zone 10 Maximum number of disks in a Hyperdisk Storage Pool 1,000 Maximum IOPS per storage pool 4,194,304 Maximum IOPS per GiB 4 Minimum IOPS per storage poolPerformance for disks in a storage pool is the same as for disks that were not created in a storage pool.
Limitations of storage poolsHyperdisk Storage Pools have the following limitations:
Resource limits:
Limits for disks in a storage pool:
You can use Hyperdisk Storage Pool with reservations. You can create a compute instance that consumes a reservation and also uses a Hyperdisk in a storage pool. Alternatively, you can create the instance that consumes a reservation, and afterwards attach a Hyperdisk that was created in a storage pool to the instance. For more information, see how to consume reservations.
PricingHyperdisk Storage Pools are billed monthly for the provisioned storage pool capacity, throughput and IOPS. You are not billed for the provisioned IOPS, throughput, or capacity for the disks created in the storage pool.
With a Standard capacity and Standard performance storage pools, capacity and provisioned performance is priced at the same rate as the underlying disk. For example, the price for Standard capacity for a Hyperdisk Balanced Storage Pool is the same price as standalone Hyperdisk Balanced disk capacity.
Advanced capacity and Advanced performance storage pools are priced higher because of thin-provisioning and data reduction. Even with this premium, the savings from thin-provisioning and data reduction can still reduce your total block storage costs through increased efficiency and utilization.
For more pricing information, see Disk pricing.
Committed use discounts with Hyperdisk Storage PoolsHyperdisk Storage Pools are not eligible for:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4