Google Cloud keeps innovating in the storage space for Compute Engine. While Persistent Disks (PDs) have been the default choice for years, Google recently introduced Hyperdisk β a next-gen block storage solution.
In this post, weβll break down:
πΉ What Hyperdisk is and how it differs from Persistent Disks
πΉ Types of Hyperdisks and their use cases
πΉ Key limitations to watch out for
πΉ What Storage Pools are and why they matter
πΉ Step-by-step demo: Create a Hyperdisk & explore Storage Pool options
πΉ Hyperdisk β Next-Gen Block Storage
Hyperdisk is the newest generation of network block storage in Google Compute Engine.
β Key Difference: Persistent Disk vs Hyperdisk
- Persistent Disk (PD): Performance scales automatically with disk size + VM CPU.
- Hyperdisk: You can directly provision performance (IOPS & throughput) independent of size.
This makes Hyperdisk more flexible for performance-sensitive workloads.
π Hyperdisk also offers:
- Dedicated IOPS & throughput guarantees
- NVMe or SCSI interface options
- Same lifecycle behavior as PD (attach/detach, persistence across reboots/deletes)
πΉ Types of Hyperdisks
Google currently offers three Hyperdisk types, each tuned for different workloads:
Hyperdisk Balanced
- General-purpose storage
- Use cases: Web applications, medium-tier databases
Hyperdisk Extreme
- For performance-critical workloads where even Extreme PD isnβt enough
- Use cases: High-performance databases
Hyperdisk Throughput
- Designed for workloads needing high throughput at scale
- Use cases: Hadoop, Kafka, scale-out analytics, cost-sensitive data processing
πΉ Hyperdisk Limitations
Before diving in, be aware:
β No images or machine images can be created from Hyperdisk Extreme / Throughput volumes
β You cannot clone a Hyperdisk volume
β Hyperdisk is zonal only (no regional Hyperdisks)
β No multi-attach, no read-only sharing across multiple VMs
β Extreme / Throughput cannot be used as boot disks
πΉ Hands-On: Create a Hyperdisk
Step 01: Introduction
Weβll create a Hyperdisk Balanced volume and review its properties.
Step 02: Create Hyperdisk (Console)
Go to Compute Engine β Storage β Disks β Create Disk
Fill in details:
- Name: hyperdisk1
- Type: Hyperdisk Balanced
- Size: 100 GB
- Provisioned IOPS: 3600 (default)
- Provisioned Throughput: 290 (default)
- Zone: us-central1-a
Click Create
Step 02 (CLI):
# Create Hyperdisk Balanced
gcloud compute disks create hyperdisk2 \
--project=gcplearn9 \
--type=hyperdisk-balanced \
--description=hyperdisk1 \
--size=100GB \
--zone=us-central1-a \
--provisioned-iops=3600 \
--provisioned-throughput=290
Step 03: Review Disk
Go to Compute Engine β Storage β Disks β hyperdisk1 to confirm properties.
Step 04: Cleanup
gcloud compute disks delete hyperdisk1 --zone us-central1-a
πΉ Storage Pools β Simplifying Large-Scale Storage
When managing hundreds or thousands of disks, it becomes painful to manually size capacity, IOPS, and throughput.
Thatβs where Storage Pools come in:
- Pre-purchased capacity + IOPS + throughput pool
- Allocate resources to VMs dynamically
- Designed for large-scale, SAN-like workloads
β Key Features of Storage Pools
- Capacity Thin Provisioning β allocate blocks as needed, not upfront
- Data Reduction β compression increases storage efficiency
- Auto-grow β when pool reaches 80% usage, GCP auto-expands it
πΉ When to Use Storage Pools?
- Migrating workloads from on-prem SAN β no need to overprovision upfront
- Underutilization of block storage resources β pools auto-manage growth
- Complex environments with hundreds of disks β pools reduce management effort
πΉ Storage Pool Limitations
- Zonal only (no regional pools)
- Only works with Compute Engine, not Cloud SQL
- Max: 1 PiB capacity & 1000 disks per pool
- No instant snapshots or cloning
- Only supports new disks in same project & zone
πΉ Hands-On: Create Storage Pool
β οΈ Note: Creating storage pools incurs significant cost, so here weβll just review options.
Step 01: Create Storage Pool (Console)
- Go to Compute Engine β Storage β Storage Pools
- Name: storage-pool-1
- Type: Hyperdisk Balanced
- Capacity: 10 GB
- IOPS: 10,000
- Throughput: 1024
- Submit
Step 01 (CLI):
# Create Storage Pool
gcloud compute storage-pools create storage-pool-1 \
--project=gcplearn9 \
--provisioned-capacity=10240 \
--storage-pool-type=hyperdisk-balanced \
--zone=projects/gcplearn9/zones/us-central1-a \
--provisioned-iops=10000 \
--provisioned-throughput=1024
πΉ Final Thoughts
- Hyperdisk brings flexible, provisioned performance that PDs canβt match.
- Storage Pools simplify resource planning and management for large-scale deployments.
- Use Balanced Hyperdisk for general workloads, Extreme for high-performance databases, and Throughput for analytics pipelines.
- Always review limitations (zonal only, no cloning, limited boot disk support) before adopting.
With this, you now have a solid understanding of Hyperdisk & Storage Pools in GCP π
Top comments (0)