將 Filestore 執行個體掛接至 Cloud TPU VM
Filestore 是 Compute Engine 專用的全代管網路附加儲存裝置 (NAS)。Filestore 可原生相容於現有企業應用程式,並支援任何 NFSv3 相容用戶端。
事前準備
如要在 Cloud TPU VM 上掛載 Filestore 執行個體,您必須將 Filestore 角色 (Cloud Filestore 編輯者或 Cloud Filestore 檢視器) 新增至與 Cloud TPU VM 相關聯的服務帳戶。如果您在建立 Cloud TPU VM 時未指定自訂服務帳戶,Cloud TPU VM 會使用預設的 Compute Engine 服務帳戶。如要進一步瞭解如何在建立 Cloud TPU VM 時指定服務帳戶,請參閱「設定 Cloud TPU 環境」一文。如要進一步瞭解如何建立服務帳戶,請參閱「建立服務帳戶」。
將 Filestore 編輯者角色新增至服務帳戶
下列操作說明將說明如何將 Cloud Filestore 編輯器角色新增至 Compute Engine 預設服務帳戶。您可以按照以下操作說明,將 Cloud Filestore 編輯器角色新增至任何服務帳戶。您可以在步驟 2 中搜尋並使用自訂服務帳戶,而非 Compute Engine 預設服務帳戶。
開啟 IAM 主控台。
選取「View by principals」分頁標籤,然後在「Filter」欄位中輸入
Name:Compute Engine default service account
。按一下服務帳戶旁的
。IAM 主控台會顯示對話方塊,列出指派給 Compute Engine 預設服務帳戶的角色。按一下
新增其他角色。展開「Select a role」下拉式選單,在篩選器中輸入
Filestore
,然後選取「Cloud Filestore editor」。按一下「儲存」關閉對話方塊。您已將 Filestore 編輯者角色新增至 Compute Engine 預設服務帳戶。
如要進一步瞭解服務帳戶,請參閱「服務帳戶總覽」。如要進一步瞭解身分與存取權管理角色,請參閱「角色與權限」。
建立 Filestore 執行個體
按照「建立 Filestore 執行個體」一文中的操作說明,建立 Filestore 執行個體。
在 Cloud TPU VM 上掛接 Filestore 執行個體
您用來在 Cloud TPU 上掛載 Filestore 執行個體的指令,取決於您是使用單一 Cloud TPU 還是 Cloud TPU 切片。
在單一 Cloud TPU VM 上掛接 Filestore 執行個體
- 使用 SSH 連線至 Cloud TPU VM。
gcloud compute tpus tpu-vm ssh your-tpu-name \ --zone=your-zone
- 安裝
nfs-common
套件。(vm)$ sudo apt-get update --allow-releaseinfo-change \ && sudo apt-get -y update \ && sudo apt-get -y install nfs-common
- 建立用來掛接 NFS 的目錄
(vm)$ sudo mkdir -p mount-dir \ && sudo chmod ugo+rw mount-dir
- 找出 Filestore 的 IP 位址。
(vm)$ gcloud filestore instances describe filestore-instance-name \ --location filestore-region
- 將 Cloud TPU VM 上的 Filestore 例項掛接至掛載目錄。請將
filestore-ip
、file-share-name
和mount-dir
替換為 FileStore IP 位址、檔案共用名稱和掛載目錄。(vm)$ sudo mount filestore-ip:file-share-name mount-dir
在 Cloud TPU 配量上掛接 Filestore 執行個體
Cloud TPU 配量由 2 個以上的 Cloud TPU VM 組成。下列指令會使用 gcloud compute tpus tpu-vm ssh
指令搭配 --worker=all
和 --command
旗標,一次在所有 Cloud TPU VM 上執行指令。
- 在您切片中的所有 Cloud TPU VM 上安裝
nfs-common
套件。gcloud compute tpus tpu-vm ssh your-tpu-name \ --project=your-gcp-project \ --zone=your-zone \ --worker=all \ --command="sudo apt-get update --allow-releaseinfo-change && sudo apt-get -y update && sudo apt-get -y install nfs-common"
- 建立用於掛接 Filestore 執行個體的目錄。將
mount-dir
替換成您選擇的目錄名稱。gcloud compute tpus tpu-vm ssh your-tpu-name \ --project=your-gcp-project \ --zone=your-zone \ --worker=all \ --command="sudo mkdir -p mount-dir && sudo chmod ugo+rw mount-dir"
- 找出 Filestore 執行個體的 IP 位址。
gcloud filestore instances describe filestore-instance-name \ --location filestore-region
- 在 Cloud TPU 區塊上掛接 Filestore 執行個體。
請將
filestore-ip
、file-share-name
和mount-dir
替換為 FileStore IP 位址、檔案共用名稱和掛載目錄。gcloud compute tpus tpu-vm ssh your-tpu-name \ --project=your-gcp-project \ --zone=your-zone \ --worker=all \ --command="sudo mount filestore-ip:file-share-name mount-dir"
將資料寫入 Filestore 執行個體
請務必在掛載 Filestore 執行個體的目錄上,授予 Linux 讀取和寫入權限。您可以使用目錄做為本機檔案系統。