Chương 29: Persistent Disk & Hyperdisk — Block Storage
Tại sao chương này quan trọng
Block storage là nền tảng của mọi stateful workload trên GCP — từ database, message queue, đến boot disk của mỗi VM. Lỗi phổ biến nhất không phải là "chọn sai disk type" mà là hiểu sai mô hình hiệu năng: tại sao disk 100 GiB lại chậm hơn disk 500 GiB cùng loại, tại sao VM 4 vCPU bị throttle dù disk còn headroom, hay tại sao Hyperdisk Extreme không attach được vào máy N2 thông thường.
Persistent Disk và Hyperdisk không phải hai phiên bản của cùng một sản phẩm — chúng đại diện cho hai triết lý thiết kế khác nhau về cách map storage capacity sang storage performance. Hiểu được sự khác biệt này là điều kiện tiên quyết để sizing đúng và tránh các performance bottleneck ẩn trong production.
Điều kiện tiên quyết
- Compute Engine fundamentals (VM types, machine families)
- Kiến thức cơ bản về I/O: IOPS, throughput, latency
- Chương 11 (GKE Storage) nếu dùng trong GKE context
Cấu trúc chương
chapter-29-persistent-disk-hyperdisk/
├── index.md ← trang này
├── 01.persistent-disk-architecture-types.md ← Kiến trúc nội tại & các loại PD
├── 02.performance-model-and-limits.md ← Mô hình hiệu năng, công thức, giới hạn VM
├── 03.hyperdisk-provisioned-performance.md ← Hyperdisk & provisioned performance model
├── 04.multi-writer-disks.md ← Multi-writer mode & giới hạn
├── 05.snapshots-and-backup.md ← Snapshot internals & cross-region copies
├── 06.regional-pd-high-availability.md ← Regional PD replication & failover
└── 07.encryption-cmek.md ← Encryption: Google-managed & CMEKCác chủ đề trong chương
1. Kiến Trúc Nội Tại & Các Loại Persistent Disk
Persistent Disk là network block device, không phải locally-attached storage. Mọi I/O đều đi qua mạng đến Colossus (hệ thống file phân tán của Google). Hiểu mô hình này giải thích tại sao write latency của PD cao hơn Local SSD, tại sao performance scale theo dung lượng, và tại sao một số workload không nên dùng PD.
Bốn loại PD và vị trí của chúng trong spectrum hiệu năng:
pd-standard: HDD-backed, throughput-optimized cho sequential I/O, IOPS thấppd-balanced: SSD-backed, cân bằng cost/performance, baseline IOPS guaranteedpd-ssd: SSD-backed, IOPS cao hơn balanced, dành cho latency-sensitive workloadpd-extreme: SSD-backed, IOPS cao nhất trong dòng PD, provisioned IOPS riêng biệt
2. Mô Hình Hiệu Năng & Giới Hạn VM
Đây là kiến thức thường bị hiểu sai nhất. Hiệu năng của Persistent Disk được xác định bởi hai ceiling độc lập: per-disk limit (tính theo GB) và per-VM limit (tính theo số vCPU và machine type). Application thực tế bị giới hạn bởi ceiling nào nhỏ hơn.
Công thức tính IOPS thực tế, cách scale disk để đạt mục tiêu hiệu năng, và các VM-level cap phổ biến mà engineers hay bỏ qua khi sizing.
3. Hyperdisk & Provisioned Performance Model
Hyperdisk là bước chuyển dịch triết lý: tách hiệu năng khỏi dung lượng. Thay vì "mua thêm GB để có thêm IOPS", bạn provision IOPS và throughput độc lập với capacity. Đây là mô hình đúng cho database và AI/ML workload nơi storage capacity nhỏ nhưng I/O demand cao.
Năm loại Hyperdisk (Balanced, Extreme, ML, Throughput, Balanced HA), cơ chế provisioning, torn write protection, và storage pools.
4. Multi-Writer Disks & Giới Hạn Concurrent Access
Multi-writer mode cho phép attach một disk vào nhiều VM đồng thời — nhưng chỉ với Hyperdisk Balanced và Hyperdisk Extreme. Persistent Disk không còn hỗ trợ multi-writer. File system thông thường (ext4, xfs) không dùng được vì không có cache coherence giữa các VM — phải dùng clustered file system hoặc clustering software có I/O fencing.
5. Snapshot Internals & Cross-Region Backup
Snapshot của Persistent Disk không phải copy-on-write thuần túy. Snapshot đầu tiên là full copy, các snapshot sau là incremental — nhưng "incremental" ở đây có nghĩa là changed block tracking ở tầng block storage, không phải filesystem. Cơ chế này có implications quan trọng cho restore time, snapshot chaining, và deletion behavior.
6. Regional PD & High Availability
Regional Persistent Disk duy trì hai replicas đồng bộ ở hai zone khác nhau trong cùng region. Write chỉ được acknowledge khi cả hai replicas xác nhận — đây là synchronous replication thực sự, không phải async với eventual consistency. Điều này mang lại RPO gần bằng 0 nhưng có performance overhead và constraints về machine type.
7. Encryption: Google-Managed & CMEK
Toàn bộ data trên Persistent Disk và Hyperdisk được mã hóa at-rest theo mặc định bằng Google-managed keys. CMEK (Customer-Managed Encryption Keys) cho phép tổ chức kiểm soát key lifecycle — nhưng CMEK không thể được áp dụng cho disk hiện có, chỉ khi tạo mới. Và một khi đã dùng CMEK, không thể revert về Google-managed.
Mental model tổng thể
┌─────────────────────────────────────────────────────────────────────────┐
│ GCP Block Storage Spectrum │
│ │
│ Persistent Disk Hyperdisk │
│ ───────────── ───────── │
│ Performance = f(capacity) Performance ⊥ capacity │
│ │
│ pd-standard pd-balanced pd-ssd pd-extreme HD-Balanced HD-Extreme│
│ ───────── ────────── ────── ────────── ────────── ─────────-│
│ HDD-backed SSD-backed SSD SSD SSD SSD │
│ 0.75 IOPS/GB 6 IOPS/GB 30/GB provision provision provision │
│ sequential balanced OLTP DB workload general high IOPS │
│ │
│ HD-Throughput HD-ML HD-Balanced HA │
│ ───────────── ────── ───────────────── │
│ analytics ML inference synchronous cross-zone replication │
│ 2,400 MiB/s 2,500 readers RPO≈0 │
└─────────────────────────────────────────────────────────────────────────┘Quy tắc lựa chọn cốt lõi:
- Nếu cần tách IOPS/throughput khỏi capacity → dùng Hyperdisk
- Nếu cần multi-writer → chỉ Hyperdisk Balanced hoặc Extreme
- Nếu cần zonal HA → Regional PD hoặc Hyperdisk Balanced HA
- Nếu cần read-only cho hàng nghìn reader (ML inference) → Hyperdisk ML