將耐用的區塊儲存空間附加至 TPU VM

TPU VM 包含 10 GB 的開機磁碟。在某些情況下,訓練或前處理需要額外儲存空間。新增 Google Cloud Hyperdisk永久磁碟 (PD) 磁碟區,擴充本機磁碟容量。

如要獲得最高效能和進階功能,請使用 Hyperdisk (如果 TPU 版本支援)。否則請使用永久磁碟。如要進一步瞭解 Compute Engine 中的區塊儲存空間選項,請參閱「選擇磁碟類型」。

Hyperdisk 和 Persistent Disk 的 TPU 支援

下表列出各 TPU 版本支援的磁碟類型:

TPU 版本 支援的磁碟類型 每個 VM 的磁碟數量上限
(包括開機磁碟)
TPU7x Hyperdisk Balanced
Hyperdisk ML
128
v6e Hyperdisk Balanced
Hyperdisk ML
32
v5p Hyperdisk ML
平衡型永久磁碟
128

存取模式

設定附加至單一 TPU VM (也稱為單一主機 TPU 節點) 的磁碟,例如 ct6e-standard-4t,並設為讀寫 (rw) 或唯讀 (ro) 模式。

將磁碟連接至多主機 TPU 節點時,磁碟會連接至節點中的每個 VM。為避免多個 TPU VM 同時寫入磁碟,您必須將連接至多主機 TPU 配量的所有磁碟設為唯讀 (ro)。唯讀磁碟可用於儲存資料集,以便在 TPU 配量上處理。

必要條件

使用這些程序前,請先設定 Google Cloud 帳戶和專案。詳情請參閱「設定 Cloud TPU 環境」。

建立磁碟

如要建立磁碟,請使用下列指令:

gcloud compute disks create DISK_NAME \
    --size DISK_SIZE  \
    --zone ZONE \
    --type DISK_TYPE

替換下列預留位置:

  • DISK_NAME:新磁碟的名稱。
  • DISK_SIZE:新磁碟的大小。這個值必須是整數,後面加上大小單位,例如 GB 代表 gibibyte,TB 代表 tebibyte。如未指定大小單位,系統會假設為 GB。
  • ZONE:要建立新磁碟的區域名稱。這個區域必須與您建立 TPU 的區域相同。
  • DISK_TYPE磁碟類型。 請使用下列其中一個值:hyperdisk-balancedhyperdisk-mlpd-balanced

如果是 Hyperdisk,您可以視需要使用 --access-mode 標記指定下列其中一個值:

  • READ_WRITE_SINGLE:從一個執行個體讀取/寫入 (預設)。
  • READ_ONLY_MANY:(僅限 Hyperdisk ML) 從多個執行個體並行存取唯讀資料。

如要進一步瞭解如何建立磁碟,請參閱「建立新的 Hyperdisk 磁碟區」和「建立新的永久磁碟磁碟區」。

連接磁碟

建立 TPU VM 或節點時,可以附加磁碟區,也可以在建立後附加。

建立 TPU VM 時連接磁碟

建立 TPU VM 或執行個體範本時,請使用 --disk 標記連結磁碟區。

建立單一 TPU VM 時連接磁碟

以下範例說明如何建立單一 TPU VM 時附加磁碟區:

  gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --maintenance-policy=TERMINATE \
    --disk=name=DISK_NAME,device-name=DEVICE_NAME,mode=MODE

替換下列預留位置:

  • TPU_NAME:TPU VM 的名稱。
  • MACHINE_TYPE:TPU VM 的機型 (例如 ct6e-standard-8t)。
  • IMAGE_FAMILY:TPU VM 的作業系統映像檔系列。如要安裝特定 OS 版本,請使用 --image 旗標。如要進一步瞭解 OS 映像檔,請參閱「OS 映像檔」。
  • IMAGE_PROJECT:包含 OS 映像檔的專案。如果是 TPU 映像檔,則為 ubuntu-os-accelerator-images
  • ZONE:TPU VM 的區域
  • DEVICE_NAME:用於磁碟的裝置名稱。這個名稱用於在作業系統中識別磁碟。
  • MODE:磁碟的模式。可以是 rw (讀寫) 或 ro (唯讀)。詳情請參閱「存取模式」。

建立多主機 TPU 配量時附加磁碟

建立多主機 TPU 配量時,您必須指定 mode=read-only (僅限 Hyperdisk ML 和平衡型永久磁碟)。詳情請參閱「存取模式」。

如要將磁碟附加至多主機 TPU 配量,請建立附加磁碟的執行個體範本、建立工作負載政策,然後建立 MIG:

  1. 建立執行個體範本

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --disk=name=DISK_NAME,mode=MODE
    

    替換下列預留位置:

    • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
    • MACHINE_TYPE:TPU VM 的機型,例如 ct6e-standard-8t
    • IMAGE_FAMILY:TPU VM 的作業系統映像檔系列。如要安裝特定 OS 版本,請使用 --image 旗標。如要進一步瞭解 OS 映像檔,請參閱「OS 映像檔」。
    • IMAGE_PROJECT:包含 OS 映像檔的專案。如果是 TPU 映像檔,則為 ubuntu-os-accelerator-images
    • DISK_NAME:要附加至 TPU VM 的磁碟名稱。
    • MODE:磁碟的模式。多主機 TPU 配量的模式必須為 ro (唯讀)。
  2. 建立工作負載政策

    gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=TOPOLOGY
    

    替換下列預留位置:

    • WORKLOAD_POLICY_NAME:工作負載政策的名稱。
    • TOPOLOGY:TPU VM 的拓撲,例如 4x4x8。如要進一步瞭解各個 TPU 版本的拓撲,請參閱「系統架構」。
  3. 建立 MIG:

    gcloud compute instance-groups managed create MIG_NAME \
        --project=PROJECT_ID \
        --zone=ZONE \
        --template=TEMPLATE_NAME \
        --size=SIZE \
        --workload-policy=WORKLOAD_POLICY_NAME
    

    替換下列預留位置:

    • MIG_NAME:MIG 的名稱。
    • PROJECT_ID:專案 ID。
    • ZONE:Cloud TPU 所在的區域
    • TEMPLATE_NAME:執行個體範本的名稱。
    • SIZE:多主機 TPU 節點的 VM 數量。
    • WORKLOAD_POLICY_NAME:工作負載政策的名稱。

建立含有多個單一主機 TPU 配量的 MIG 時,請附加磁碟

如果建立單一主機 TPU 配量,可以指定 mode=read-only (僅限 Hyperdisk ML 和平衡型永久磁碟) 或 mode=read-write

如要將耐久儲存空間連結至具有獨立單一主機 TPU 節點的 MIG,請設定執行個體範本,使用 --create-disk 旗標為每個執行個體建立新磁碟:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --disk=name=DISK_NAME,mode=MODE

替換下列預留位置:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:TPU VM 的機型 (例如 ct6e-standard-8t)。
  • IMAGE_FAMILY:TPU VM 的 OS 映像檔系列。
  • IMAGE_PROJECT:包含 OS 映像檔 (ubuntu-os-accelerator-images) 的專案。
  • DISK_NAME:要建立並附加至每個 TPU VM 的磁碟基本名稱。
  • DISK_SIZE:磁碟大小 (GB)。
  • DISK_TYPE:磁碟類型 (例如 pd-balancedhyperdisk-balanced)。

接著,請按照上一節的說明建立 MIG,並將 --size 設為您選擇的 TPU VM 數量。

將磁碟連接至現有的 TPU VM

如要將磁碟附加至現有 TPU VM,請使用 gcloud compute instances attach-disk 指令。

gcloud compute instances attach-disk VM_NAME \
    --zone=ZONE \
    --disk=DISK_NAME \
    --mode=MODE

替換下列預留位置:

  • VM_NAME:TPU VM 的名稱。
  • ZONE:Cloud TPU 所在的區域
  • DISK_NAME:要附加至 TPU VM 的磁碟名稱。
  • MODE:磁碟的模式。詳情請參閱「存取模式」。

如果 VM 因故關機,您可能需要在重新啟動 VM 後掛接磁碟。如要瞭解如何啟用磁碟,在 VM 重新啟動時自動掛接,請參閱「在系統重新啟動時設定自動掛接」。

如要進一步瞭解如何自動刪除磁碟,請參閱「修改 Hyperdisk」和「修改永久磁碟」。

格式化及掛接磁碟

如果將新的空白磁碟連接至 TPU VM,必須先格式化並掛接磁碟,才能使用。如果附加的磁碟已包含資料,您必須先掛接磁碟才能使用。

如要進一步瞭解如何格式化及掛接非開機磁碟,請參閱「在 Linux VM 上格式化及掛接非開機磁碟」。

卸離磁碟

如要從 TPU VM 中分離磁碟,請執行下列指令:

gcloud compute instances detach-disk VM_NAME \
    --zone=ZONE \
    --disk=DISK_NAME

替換下列預留位置:

  • VM_NAME:TPU VM 的名稱。
  • ZONE:Cloud TPU 所在的區域
  • DISK_NAME:要從 TPU VM 卸離的磁碟名稱。

如要進一步瞭解如何卸離磁碟,請參閱「卸離磁碟」。

清除所用資源

使用完畢後,請刪除 Cloud TPU 和 Compute Engine 資源。

  1. 如果您尚未中斷與 Cloud TPU 的連線,請中斷連線:

    exit
    
  2. 刪除 TPU VM:

    gcloud compute instances delete VM_NAME \
        --zone=ZONE
    

    替換下列預留位置:

    • VM_NAME:TPU VM 的名稱。
    • ZONE:Cloud TPU 所在的區域

    如果您使用 MIG 建立多主機 TPU 配量,請改為刪除執行個體群組:

    gcloud compute instance-groups managed delete MIG_NAME \
        --zone=ZONE
    

    替換下列預留位置:

    • MIG_NAME:MIG 的名稱。
    • ZONE:Cloud TPU 所在的區域
  3. 確認 Cloud TPU 已刪除。刪除作業可能需要幾分鐘才能完成。

    gcloud compute instances list --zone=ZONE
    
  4. 列出您建立磁碟的區域中的所有磁碟,確認磁碟會在 TPU VM 刪除時自動刪除:

    gcloud compute disks list --filter="zone:( ZONE )"
    

    替換下列預留位置:

    • ZONE:Cloud TPU 所在的區域

    如果 TPU VM 刪除時磁碟未一併刪除,請使用下列指令刪除磁碟:

    gcloud compute disks delete DISK_NAME \
        --zone=ZONE
    

    替換下列預留位置:

    • DISK_NAME:要刪除的磁碟名稱。
    • ZONE:Cloud TPU 所在的區域