關於 GKE 適用的 Hyperdisk


Google Cloud Hyperdisk 是 GKE 提供的網路區塊儲存空間選項,您可以在 GKE 叢集中使用這個儲存空間選項,方式與其他 Compute Engine 永久磁碟磁碟區類似,但可更靈活地調整工作負載的效能。相較於永久磁碟儲存空間,Hyperdisk 可提供大幅提高的每秒輸入/輸出作業數 (IOPS) 和總處理量上限。與 Persistent Disk 磁碟區不同,Hyperdisk 可為每個磁碟區指定及調整效能等級,而 Persistent Disk 磁碟區的效能則由連結至節點的所有磁碟區共用。

您可以在 GKE 上選擇下列 Hyperdisk 選項:

儲存空間選項 GKE 作業模式 說明
Hyperdisk Balanced Autopilot
Standard

最適合多數工作負載。這個選項適合部署大多數企業和商務應用程式,以及資料庫和網路伺服器。

Hyperdisk Throughput Autopilot
Standard

已針對高輸送量進行最佳化,可節省成本。如果您的用途是向外擴充分析 (例如 Hadoop 或 Kafka),以及以輸送量為導向且對成本敏感的工作負載,建議選用這個選項。

Hyperdisk Extreme Autopilot
Standard

針對 IOPS 效能進行最佳化。如果您要部署高效能工作負載 (例如資料庫管理系統),就很適合採用這個選項。

Hyperdisk ML Autopilot
Standard

經過最佳化調整,適合需要快速載入模型權重的 AI/機器學習訓練和推論工作負載。如果 AI/機器學習工作負載需要高讀取尖峰處理量,請使用這個選項。這是減少載入資料時 GPU/TPU 資源閒置的最佳做法。

Hyperdisk Balanced High Availability Autopilot
Standard

效能與 Hyperdisk Balanced 類似,可透過在同個地區內的兩個區域同步複製處理,協助降低成本。如要建構需要高可用性的工作負載,或是需要區域中的多個節點同時寫入同一磁碟的工作負載,請使用這個選項。

優點

  • 使用 Hyperdisk 部署有狀態工作負載時,效能會更加穩定。
  • 有了 Hyperdisk,您可以在 GKE 上佈建、管理及擴充有狀態工作負載,不必管理內部部署儲存區域網路 (SAN),省下相關費用並簡化作業。
  • Hyperdisk 儲存空間容量會分割,並以個別磁碟區的形式提供給 GKE 節點。Hyperdisk 磁碟區與節點分離,因此您可以在節點之間附加、卸離及移動磁碟區。儲存在 Hyperdisk 磁碟區中的資料會在節點重新啟動和刪除後保留。您也可以將多個 Hyperdisk 磁碟區新增至單一 GKE 節點。

定價

系統會按照 Hyperdisk 磁碟區的總佈建容量計費,直到您刪除這些項目為止。系統會按月收取每 GiB 的費用。此外,系統會向您收取下列費用:

  • 對於已超出基準值 3,000 的 IOPS 和 140 MiB/s 的處理量,Hyperdisk Balanced 會按照每月費率,針對佈建 IOPS 和佈建處理量 (以 MiB/s 為單位) 收取費用。
  • Hyperdisk Extreme 會按照佈建 IOPS 按月收費。
  • Hyperdisk 處理量會按照佈建輸送量 (以 MiB/s 為單位) 按月收費。

如需價格資訊,請參閱 Compute Engine 說明文件中的「磁碟定價」。

限制

  • 建立磁碟區後,您只能透過 Compute Engine API 修改下列設定:
    • 處理量:Hyperdisk Throughput 和 Hyperdisk Balanced 磁碟區
    • IOPS:Hyperdisk Extreme 和 Hyperdisk Balanced 磁碟區
  • 您只能將超磁碟磁碟區附加至特定執行個體類型,且不支援唯讀附加。
  • Hyperdisk ML 特有限制:
    • Hyperdisk ML 無法做為開機磁碟。
    • Hyperdisk ML 無法在多重寫入模式下使用。
    • Hyperdisk ML 不支援儲存空間集區。
  • Hyperdisk Balanced HA 專屬限制:
    • Hyperdisk Balanced HA 無法在 Kubernetes ReadOnlyMany 模式中使用。
    • 如果磁碟區處於 ReadWriteMany 存取模式,Hyperdisk Balanced HA 就不支援快照。
    • 另請參閱 Compute Engine 說明文件中,有關區域磁碟的「限制」一節。
  • 詳情請參閱 Compute Engine 說明文件中的「限制」一節。

Hyperdisk 和 Autopilot 運算類別

如要在使用運算類別的 Autopilot 叢集上使用 Hyperdisk,請確認節點的機型支援 Hyperdisk,且支援運算類別

以下範例說明如何指定 nodeSelector 屬性,在使用 Hyperdisk Balanced 時,透過 Performance Compute Class 控制 Autopilot 叢集上的 Pod 排程。

cloud.google.com/compute-class: "Performance"
cloud.google.com/machine-famility: "c3"

詳情請參閱「為 Autopilot Pod 選擇運算類別」。

規劃 Hyperdisk 磁碟區的效能等級

請參考下列注意事項,為 Hyperdisk 磁碟區規劃適當的效能等級。

Hyperdisk Balanced

使用 Hyperdisk Balanced 時,您可以分別佈建容量、輸送量和 IOPS。如要佈建處理量或 IOPS,請為特定磁碟區選取層級。個別磁碟區具有完整的處理量隔離功能,每個磁碟區都能使用為該磁碟區指定的所有處理量或 IOPS 容量。不過,最終的總處理量或 IOPS 仍會受到磁碟區所連結 VM 執行個體的每執行個體限制影響。如要進一步瞭解這些限制,請參閱 Compute Engine 說明文件中的「Hyperdisk Balanced 的佈建效能」一節。

讀取和寫入作業都會計入為 Hyperdisk Balanced 磁碟區佈建的處理量和 IOPS 限制。佈建的總處理量或 IOPS,以及上限,適用於讀取和寫入作業的總和。

如果為一或多個 Hyperdisk 磁碟區佈建的總處理量或 IOPS,超過 VM 執行個體層級的可用總處理量或 IOPS,效能就會受限於執行個體效能層級。

Hyperdisk Throughput

使用 Hyperdisk Throughput 時,您可以分別佈建容量和輸送量。如要佈建處理量,請選取特定容量的等級。個別磁碟區具有完整的處理量隔離功能,每個磁碟區都會獲得佈建的處理量。不過,磁碟區所連線的 VM 執行個體,其總處理量最終仍會受到每個執行個體限制的影響。如要進一步瞭解這些限制,請參閱 Compute Engine 說明文件中的「關於佈建的效能」。讀取和寫入作業都會計入為 Hyperdisk 處理量磁碟區佈建的總處理量上限。佈建的處理量和上限適用於讀取和寫入處理量的總和。

定義 StorageClass 時,為 Hyperdisk 處理量磁碟區佈建的處理量必須遵循下列規則:

  • 每 TiB 容量至少 10 MiB/秒,每 TiB 容量最多 90 MiB/秒,視機器類型而定。
  • 每個磁碟區最多 600 MiB/s,視機器類型而定。

如果為一或多個 Hyperdisk 處理量磁碟區佈建的總處理量,超過 VM 執行個體層級的可用總處理量,處理量會受限於執行個體處理量層級。

Hyperdisk Extreme

使用 Hyperdisk Extreme 時,您可以分別佈建容量和 IOPS 級別。如要佈建 IOPS 級別,請為特定磁碟區指定 IOPS 限制。個別磁碟區具有完整的 IOPS 層級隔離功能,每個磁碟區都會獲得佈建的 IOPS 層級。不過,IOPS 最終會受限於磁碟區所連結 VM 執行個體的執行個體限制。如要進一步瞭解這些限制,請參閱 Compute Engine 說明文件中的「關於佈建的效能」。

讀取和寫入作業都會計入為 Hyperdisk Extreme 磁碟區佈建的 IOPS 限制。佈建的 IOPS 和本文列出的上限適用於讀取和寫入 IOPS 總數。

定義 StorageClass 時,為 Hyperdisk Extreme 磁碟區佈建的 IOPS 不得超過 350,000 IOPS,實際上限視機型而定。

如果為一或多個 Hyperdisk Extreme 磁碟區佈建的總 IOPS 超過 VM 執行個體層級的可用總 IOPS,效能會受限於執行個體 IOPS 層級。如果多個 Hyperdisk 和永久磁碟磁碟區同時附加至同一個 VM,並要求 IOPS,且 VM 達到限制,則每個磁碟區的 IOPS 級別會與所有附加的 Hyperdisk Extreme 磁碟區所佈建的總 IOPS 比例成正比。

Hyperdisk ML

使用 Hyperdisk ML 時,您可以分別佈建容量和效能。如要佈建效能,請選取特定磁碟區的處理量層級。個別磁碟區具有完整的效能隔離功能,每個磁碟區都會獲得效能佈建。

如果一個磁碟區連結至多個執行個體,系統會動態將佈建的輸送量分配給各個執行個體。不過,磁碟區所連線的 VM 執行個體,其每執行個體限制最終會限制輸送量。

READ-WRITE-SINGLE 模式下,讀取和寫入作業都會計入為 Hyperdisk ML 磁碟區佈建的輸送量限制。佈建的總處理量和上限適用於讀取和寫入總處理量。

為 Hyperdisk ML 磁碟區佈建的輸送量必須遵守下列規則:

  • 下限:(0.12 MBps * 磁碟大小) (以 GiB 為單位) 或 400 MBps,取較大者。
  • 上限:(1,600 MBps * 磁碟大小) (以 GiB 為單位),但不得超過 1.2 TBps。
  • 如果磁碟區以 READ-ONLY-MANY 模式連結至超過 20 個執行個體,則輸送量值必須至少為 100 MBps * 連結的執行個體數量。

如果為一或多個 Hyperdisk ML 磁碟區佈建的總輸送量,超過執行個體層級的可用總輸送量,效能就會受限於執行個體層級的效能。

Hyperdisk Balanced HA

使用 Hyperdisk Balanced High Availability 時,您可以分別佈建容量、輸送量和 IOPS。如要佈建處理量或 IOPS,請為特定磁碟區選取處理量和 IOPS 層級。個別磁碟區具有完整的處理量隔離功能,每個磁碟區都能使用為該磁碟區指定的所有處理量或 IOPS 容量。不過,最終的總處理量或 IOPS 仍會受到磁碟區所連結 VM 執行個體的每執行個體限制影響。如要進一步瞭解這些限制,請參閱 Compute Engine 說明文件中的「關於 Hyperdisk Google Cloud 」一文。

讀取和寫入作業都會計入為 Hyperdisk Balanced High Availability 磁碟區佈建的總處理量和 IOPS 限制。佈建的總處理量或 IOPS,以及上限,適用於讀取和寫入作業的總和。

如果為一或多個 Hyperdisk 磁碟區佈建的總處理量或 IOPS,超過 VM 執行個體層級的可用總處理量或 IOPS,效能就會受限於執行個體層級的效能。

後續步驟