將耐用的區塊儲存空間附加至 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-balanced、hyperdisk-ml或pd-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:
建立執行個體範本
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(唯讀)。
建立工作負載政策
gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \ --type=high-throughput \ --accelerator-topology=TOPOLOGY替換下列預留位置:
- WORKLOAD_POLICY_NAME:工作負載政策的名稱。
- TOPOLOGY:TPU VM 的拓撲,例如
4x4x8。如要進一步瞭解各個 TPU 版本的拓撲,請參閱「系統架構」。
建立 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-balanced、hyperdisk-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 因故關機,您可能需要在重新啟動 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 資源。
如果您尚未中斷與 Cloud TPU 的連線,請中斷連線:
exit刪除 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 所在的區域。
確認 Cloud TPU 已刪除。刪除作業可能需要幾分鐘才能完成。
gcloud compute instances list --zone=ZONE列出您建立磁碟的區域中的所有磁碟,確認磁碟會在 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 所在的區域。