将 Filestore 实例装载到 Cloud TPU 虚拟机
Filestore 是一种适用于 Compute Engine 的全托管式网络附加存储 (NAS)。Filestore 原生兼容现有企业应用,并支持与 NFSv3 兼容的任何客户端。
准备工作
如需在 Cloud TPU 虚拟机上装载 Filestore 实例,您需要向与 Cloud TPU 虚拟机关联的服务账号添加 Filestore 角色(Cloud Filestore Editor 或 Cloud Filestore Viewer)。如果您在创建 Cloud TPU 虚拟机时未指定自定义服务账号,则 Cloud TPU 虚拟机会使用默认 Compute Engine 服务账号。如需详细了解如何在创建 Cloud TPU 虚拟机时指定服务账号,请参阅设置 Cloud TPU 环境。如需详细了解如何创建服务账号,请参阅创建服务账号。
向服务账号添加 Filestore Editor 角色
以下说明介绍了如何向 Compute Engine 默认服务账号添加 Cloud Filestore Editor 角色。您可以按照以下说明向任何服务账号添加 Cloud Filestore Editor 角色。您可以在第 2 步中搜索并使用自定义服务账号,而不是 Compute Engine 默认服务账号。
打开 IAM 控制台。
选择按主账号查看标签页,然后在过滤条件字段中输入
Name:Compute Engine default service account
。点击服务账号旁边的
。IAM 控制台会显示一个对话框,其中列出了分配给 Compute Engine 默认服务账号的角色。点击
以添加其他角色。展开选择角色下拉菜单,在过滤条件中输入
Filestore
,然后选择 Cloud Filestore Editor。点击保存以关闭对话框。您已向 Compute Engine 默认服务账号添加了 Filestore Editor 角色。
如需详细了解服务账号,请参阅服务账号概览。如需详细了解 IAM 角色,请参阅角色和权限。
创建 Filestore 实例
按照创建 Filestore 实例中的说明创建 Filestore 实例。
在 Cloud TPU 虚拟机上装载 Filestore 实例
您用于在 Cloud TPU 上装载 Filestore 实例的命令取决于您是使用单个 Cloud TPU 还是 Cloud TPU 切片。
在单个 Cloud TPU 虚拟机上装载 Filestore 实例
- 使用 SSH 连接到 Cloud TPU 虚拟机。
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 虚拟机上的 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 虚拟机组成。以下命令将 gcloud compute tpus tpu-vm ssh
命令与 --worker=all
和 --command
标志结合使用,一次在所有 Cloud TPU 虚拟机上运行这些命令。
- 在切片中的所有 Cloud TPU 虚拟机上安装
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 读写权限。您可以像使用本地文件系统一样使用该目录。