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)