Skip to content

Hyperdisk — Block Storage Thế Hệ Mới

Vì sao Hyperdisk thay đổi bài toán block storage

Persistent Disk có một ràng buộc gây đau triền miên: hiệu năng gắn với dung lượng. Muốn nhiều IOPS thì phải mua disk lớn, dù không cần chỗ. Hyperdisk phá bỏ ràng buộc đó — nó tách rời ba đại lượng: dung lượng, IOPS, và throughput, cho phép provision từng cái độc lập (About Hyperdisk for GKE). Một database cần 200.000 IOPS nhưng chỉ 500GB dữ liệu giờ trả tiền cho đúng 500GB dung lượng và đúng 200.000 IOPS, thay vì over-provision dung lượng lên hàng chục TB chỉ để chạm trần IOPS.

Đây không chỉ là tối ưu chi phí — nó là một mô hình tinh thần khác. Với PD, câu hỏi là "đĩa bao nhiêu GB?" và hiệu năng là hệ quả. Với Hyperdisk, câu hỏi tách thành ba: "bao nhiêu dung lượng?", "bao nhiêu IOPS?", "bao nhiêu throughput?" — và bạn trả lời từng cái theo nhu cầu thật của workload. GCP đang đẩy mọi workload block storage thế hệ mới sang Hyperdisk; trên các machine series mới nhất (C3, C4, N4...), Hyperdisk là loại storage chính.

Năm loại Hyperdisk và profile hiệu năng

GKE hỗ trợ năm loại Hyperdisk, mỗi loại tối ưu một trục khác nhau (About Hyperdisk for GKE):

Loại (type)Tối ưu choHiệu năng đỉnh (mỗi volume)Use case
hyperdisk-balancedCân bằng IOPS + throughputTới ~160.000 IOPS, ~2.4 GBpsPhần lớn workload: enterprise app, database, web
hyperdisk-extremeIOPS cực caoTới ~350.000 IOPSDatabase lớn IOPS-intensive
hyperdisk-throughputThroughput tuần tự, chi phí thấpTới ~3 GBpsAnalytics, log processing, Kafka/HDFS
hyperdisk-mlThroughput đọc song song cực caoTới ~1.2 TBps tổng hợp, multi-attachNạp model weight cho AI/ML
hyperdisk-balanced-haHA replication đồng bộ hai-zoneNhư balanced, kèm HADatabase stateful cần survive zonal failure

Các con số trên đối chiếu tài liệu Hyperdisk performance (Hyperdisk performance overview): Hyperdisk Balanced cho tới 160.000 IOPS và 2.400 MiB/s; Hyperdisk Extreme tới 350.000 IOPS từ một volume; Hyperdisk Throughput tới ~3 GBps cho IO ≥128KB. Hyperdisk Balanced còn có một mức baseline miễn phí: 3.000 IOPS và 140 MiB/s đầu tiên không tính phí hiệu năng (Hyperdisk performance overview).

hyperdisk-balanced-ha là kế nhiệm hiện đại của Regional PD: replication đồng bộ giữa hai zone trong region, dùng cùng pattern Stateful HA Operator (file 3) để force-attach khi zonal failure. Khi thiết kế HA stateful mới trên machine series hỗ trợ Hyperdisk, đây là lựa chọn ưu tiên hơn Regional PD.

Per-VM performance limit: trần ẩn quan trọng nhất

Đây là cái bẫy lớn nhất với Hyperdisk, và là điều người mới hay vấp: provision IOPS cao trên disk không đảm bảo đạt được IOPS đó. Lý do là per-VM performance limit — mỗi machine type có một trần tổng IOPS/throughput cho toàn bộ disk attach vào VM đó, độc lập với việc bạn provision bao nhiêu trên từng disk (Hyperdisk performance limits).

Nói cách khác, hiệu năng disk thực tế là min(IOPS provision trên disk, trần IOPS của machine type). Provision một hyperdisk-extreme 300.000 IOPS rồi attach vào một VM nhỏ có trần 50.000 IOPS thì chỉ đạt 50.000 — và trả tiền cho 300.000 provision vô ích. Quy luật thiết kế: chọn machine type của node pool phải khớp với hiệu năng Hyperdisk mong muốn. Hiệu năng block storage trên GKE là bài toán ba biến — loại disk, mức provision, và machine type — và bỏ qua biến thứ ba là sai lầm tốn kém phổ biến nhất.

Hệ quả lên thiết kế node pool: workload IOPS-cao cần node pool dùng machine type có trần Hyperdisk cao (thường dòng C3/C4/M3...). Đặt một database Hyperdisk Extreme trên node pool e2 nhỏ là vô nghĩa. Đây là lý do storage và node pool design (Chương 6) phải đi cùng nhau.

yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: hyperdisk-balanced-tuned
provisioner: pd.csi.storage.gke.io
parameters:
  type: hyperdisk-balanced
  provisioned-throughput-on-create: "1000Mi"   # throughput riêng
  provisioned-iops-on-create: "10000"           # IOPS riêng
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true

Hyperdisk ML: multi-attach đọc song song cho AI/ML

hyperdisk-ml là loại đặc biệt nhất, sinh ra cho một bài toán cụ thể: nạp model weight và dataset đọc-nhiều lên hàng trăm/nghìn inference hoặc training node cùng lúc. Đặc tính then chốt: nó hỗ trợ multi-attach ở ReadOnlyMany — một volume duy nhất attach read-only vào rất nhiều instance đồng thời, cho throughput đọc song song tổng hợp cực cao (tới ~1.2 TBps) (About Hyperdisk ML).

Mô hình dùng điển hình: ghi model weight vào một Hyperdisk ML một lần (read-write từ một node), sau đó attach read-only lên toàn bộ fleet inference — mỗi node đọc song song với latency thấp, thay vì mỗi node tải lại từ GCS qua network. Đây là cách rút ngắn thời gian "cold start" của model lớn từ phút xuống giây ở quy mô fleet.

Một ràng buộc hiệu năng cần nhớ: khi volume attach vào hơn 20 instance ở ROX, throughput provision phải ≥ 100 MBps × số instance để duy trì hiệu năng đọc (About Hyperdisk for GKE). Nghĩa là scale fleet đọc song song đòi hỏi tăng throughput provision tương ứng — không phải "free lunch". So với Cloud Storage FUSE (file 7) cho cùng mục đích nạp model: Hyperdisk ML cho latency và throughput cao hơn nhiều cho dữ liệu đọc-lặp, đổi lại kém linh hoạt hơn (phải nạp dữ liệu lên disk trước, dung lượng giới hạn).

Hyperdisk Storage Pools: chia sẻ công suất, thin provisioning

Storage Pools giải một bài toán chi phí ở quy mô flotilla disk: khi có hàng trăm disk, mỗi disk over-provision một chút "phòng hờ" thì tổng lãng phí khổng lồ. Storage Pool gom dung lượng và hiệu năng vào một pool chia sẻ, các disk trong pool thin-provision từ pool đó thay vì mỗi disk chiếm riêng (About Hyperdisk for GKE).

Hai loại pool:

  • Advanced Capacity: thin provisioning dung lượng — tổng dung lượng "khai báo" của các disk có thể vượt dung lượng vật lý của pool, vì không disk nào dùng hết cùng lúc. Tiết kiệm khi disk được over-provision nhưng dùng thực tế thấp.
  • Advanced Performance: chia sẻ IOPS/throughput — các disk rút hiệu năng từ pool chung thay vì mỗi disk provision cứng, tận dụng việc các disk peak vào thời điểm khác nhau.

Lợi ích: thay vì provision cứng cho từng disk theo peak riêng (rồi cộng lại thành con số khổng lồ), bạn provision pool theo peak tổng hợp (luôn nhỏ hơn tổng các peak riêng). Đây là statistical multiplexing áp vào storage — cùng nguyên lý làm cloud rẻ hơn dedicated. Rủi ro phải quản: nếu nhiều disk peak cùng lúc vượt công suất pool, hiệu năng bị bóp; cần monitor utilization pool và đặt ngưỡng cảnh báo. Storage Pool hợp lý nhất cho flotilla disk có pattern dùng không tương quan; không hợp cho vài disk critical luôn cần đỉnh hiệu năng đảm bảo.

VolumeAttributesClass: đổi hiệu năng động không tạo lại disk

Một năng lực vận hành mạnh của Hyperdisk: thay đổi IOPS/throughput provision của một volume đang chạy mà không cần tạo lại disk hay di chuyển dữ liệu, qua đối tượng Kubernetes VolumeAttributesClass (beta). Workload có thể bắt đầu với hiệu năng thấp (rẻ), rồi bump lên khi tải tăng, rồi hạ lại khi tải giảm — tất cả online.

Đây là khác biệt vận hành lớn so với PD, nơi đổi hiệu năng thường gắn với đổi dung lượng. Kết hợp với monitoring, nó cho phép một dạng "autoscaling cho hiệu năng disk": tăng IOPS provision trước một sự kiện tải cao (ví dụ batch job hàng đêm), hạ xuống sau đó. Tuy nhiên việc đổi hiệu năng vẫn có độ trễ áp dụng và có thể bị giới hạn tần suất; không nên coi nó là loop phản ứng tức thì như HPA.

Real-world scenario: chọn Hyperdisk cho ba workload khác nhau

  • Database giao dịch (OLTP) latency-nhạy, IOPS cao, dung lượng vừa: hyperdisk-extreme (hoặc hyperdisk-balanced nếu IOPS yêu cầu trong tầm), provision IOPS riêng đúng nhu cầu, đặt trên node pool machine type có trần per-VM đủ cao. Nếu cần HA: hyperdisk-balanced-ha + Stateful HA Operator.

  • Pipeline analytics đọc/ghi tuần tự khối lớn (Spark, Kafka): hyperdisk-throughput — throughput cao, chi phí thấp, không cần IOPS random cao. Provision throughput, để IOPS ở mức tối thiểu.

  • Inference fleet nạp model 10GB lên 500 node: hyperdisk-ml ROX, ghi weight một lần rồi attach read-only toàn fleet; provision throughput ≥ 100 MBps × số node để duy trì đọc song song. Tiết kiệm so với mỗi node tải model từ GCS.

Ba workload, ba loại Hyperdisk khác nhau — minh họa rằng "Hyperdisk" không phải một lựa chọn mà là một họ công cụ, chọn theo trục hiệu năng chi phối.

Hyperdisk vs Persistent Disk: khi nào chọn cái nào

Tiêu chíPersistent DiskHyperdisk
Hiệu năng vs dung lượngGắn chặt (scale theo GiB)Tách rời (provision riêng)
IOPS đỉnhThấp hơn, cần over-provision dung lượngCao hơn nhiều, provision trực tiếp
Machine seriesHỗ trợ rộng (cả thế hệ cũ)Chủ yếu thế hệ mới (C3, C4, N4, M3...)
Đổi hiệu năng độngHạn chếVolumeAttributesClass
Chia sẻ công suấtKhôngStorage Pools
Multi-attach đọc song songROX cơ bảnHyperdisk ML chuyên dụng

Quy tắc thực dụng: trên node pool dùng machine series mới hỗ trợ Hyperdisk, mặc định chọn Hyperdisk Balanced thay cho pd-balanced — nó cho linh hoạt hơn với chi phí tương đương. Chỉ giữ PD khi node pool dùng machine series cũ không hỗ trợ Hyperdisk, hoặc khi dùng pd-standard (HDD) cho dữ liệu tuần tự rẻ tiền. Trên GKE 1.35.3+, StorageClass còn hỗ trợ type: dynamic để tự chọn Hyperdisk trên máy tương thích và fallback PD trên máy cũ (About Hyperdisk for GKE).

Common mistakes / anti-patterns

  • Provision IOPS cao mà machine type không đủ trần per-VM. Trả tiền cho IOPS không bao giờ đạt được. Hệ quả: chi phí lãng phí, hiệu năng vẫn thấp. Phòng tránh: khớp machine type node pool với hiệu năng Hyperdisk mục tiêu — luôn kiểm tra per-VM limit.

  • Dùng Hyperdisk ML như block storage thường. Nó tối ưu cho đọc song song read-only, không phải workload read-write thông thường. Phòng tránh: Hyperdisk ML cho fleet đọc model; Balanced/Extreme cho database.

  • Bật Storage Pool cho disk critical luôn cần đỉnh. Khi nhiều disk peak cùng lúc, pool bị bóp. Phòng tránh: Storage Pool cho flotilla pattern không tương quan; provision cứng cho disk critical.

  • Quên rằng hyperdisk-balanced-ha cần Stateful HA để failover. Có replication nhưng không tự động chuyển. Phòng tránh: cặp đôi HA storage + Stateful HA Operator như file 3.

  • Mặc định PD trên node pool hỗ trợ Hyperdisk. Bỏ lỡ linh hoạt provision riêng. Phòng tránh: mặc định Hyperdisk Balanced trên machine series mới.

Official references