將 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 console。
選取「依主體檢視」分頁標籤,然後在「篩選器」欄位中輸入
Name:Compute Engine default service account。按一下服務帳戶旁的 。 IAM 控制台會顯示對話方塊,列出指派給 Compute Engine 預設服務帳戶的角色。
按一下 新增其他角色。
展開「選取角色」下拉式選單,在篩選器中輸入
Filestore,然後選取「Cloud Filestore 編輯者」。按一下「儲存」即可關閉對話方塊。您已將 Filestore 編輯者角色新增至 Compute Engine 預設服務帳戶。
如要進一步瞭解服務帳戶,請參閱「服務帳戶總覽」。如要進一步瞭解 IAM 角色,請參閱「角色和權限」。
建立 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 讀取和寫入權限。您可以像使用本機檔案系統一樣使用這個目錄。