DEV Community

Latchu@DevOps
Latchu@DevOps

Posted on

Part-27: ๐Ÿš€ Google Cloud Hyperdisk and Storage Pools โ€“ A Hands-On Guide

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

๐Ÿ”น 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
Enter fullscreen mode Exit fullscreen mode

๐Ÿ”น 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)