将 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 角色

以下说明介绍了如何将 Cloud Filestore Editor 角色添加到 Compute Engine 默认服务帐号。您可以按照以下说明将 Cloud Filestore Editor 角色添加到任何服务帐号。您可以在第 2 步中搜索并使用自定义服务帐号,而不是 Compute Engine 默认服务帐号。

  1. 打开 IAM 控制台

  2. 选择按主账号查看标签页,然后在过滤条件字段中输入 Name:Compute Engine default service account

  3. 点击服务帐号旁边的 。 IAM 控制台会显示一个对话框,列出分配给 Compute Engine 默认服务帐号的角色。

  4. 点击 可添加其他角色。

  5. 展开选择角色下拉菜单,在过滤条件中输入 Filestore,然后选择 Cloud Filestore 编辑器

  6. 点击保存以关闭对话框。您已将 Filestore Editor 角色添加到 Compute Engine 默认服务帐号。

如需详细了解服务帐号,请参阅服务帐号概览。 如需详细了解 IAM 角色,请参阅角色和权限

创建一个 Filestore 实例

按照创建 Filestore 实例中的说明创建一个 Filestore 实例。

在 Cloud TPU 虚拟机上装载 Filestore 实例

用于在 Cloud TPU 上装载 Filestore 实例的命令取决于您使用的是单个 Cloud TPU 还是 Cloud TPU Pod 切片。

在单个 Cloud TPU 虚拟机上装载 Filestore 实例

  1. 使用 SSH 连接到您的 Cloud TPU 虚拟机。
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --zone=your-zone
        
  2. 安装 nfs-common 软件包。
          sudo apt-get update --allow-releaseinfo-change \
            && sudo apt-get -y update \
            && sudo apt-get -y install nfs-common
        
  3. 创建一个要在其中装载 NFS 的目录
          sudo mkdir -p mount-dir \
            && sudo chmod ugo+rw mount-dir
        
  4. 找到 Filestore 的 IP 地址。
          gcloud filestore instances describe filestore-instance-name \
            --region filestore-region
        
  5. 将 Cloud TPU 虚拟机上的 Filestore 实例装载到装载目录。
          sudo mount filestore-ip:file-share-name mount-dir-name
        

在 Cloud TPU Pod 切片上装载 Filestore 实例

Cloud TPU Pod 切片由 2 个或更多 Cloud TPU 虚拟机组成。以下命令使用带有 --worker=all--command 标志的 gcloud compute tpus tpu-vm ssh 命令,以一次性在所有 Cloud TPU 虚拟机上运行这些命令。

  1. 在 Pod 切片中的所有 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"
          
  2. 创建一个要在其中装载 Filestore 实例的目录。 将 mount-dir-name 替换为您选择的目录名称。
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --project=your-gcp-project \
              --zone=your-zone \
              --worker=all \
              --command="sudo mkdir -p mount-dir-name && sudo chmod ugo+rw mount-dir-name"
          
  3. 找到 Filestore 实例的 IP 地址。
          gcloud filestore instances describe filestore-instance-name \
            --region filestore-region
        
  4. 在 Cloud TPU 虚拟机上装载 Filestore 实例。替换以下内容:
          sudo mount filestore-ip:file-share-name mount-dir
        

将数据写入 Filestore 实例

确保您向装载 Filestore 实例的目录授予了 Linux 的读写权限。您可以像使用本地文件系统一样使用该目录。